6.2. PROGRAMIRANJE |
U prethodnom poglavlju već je rečeno da je izbor jezičkog procesora - alata za programiranje, jedna od faza razvoja programske potpore. Koji izabrati? Izbor je vrlo širok. Prvo treba razlučiti da li će se programski proizvod koristiti na jednoj ili više platformi odnosno hoće li se izvršavati u:
Ili na nekom od drugih okruženja, ili pak mora zadovoljiti rad na više okruženja. Potom po izboru platforme treba izabrati onaj jezički procesor koji će pružiti mogućnost izrade programske potpore po svim potrebnim zadanim elementima, na primjer da se izvršava u Windows XP okruženju, omogućava dostup vlastitim bazama podataka ili može pristupiti bazama podataka drugih proizvođača, ima potporu za pristup podacima na nekom poslužitelju preko Interneta i slično.
Dobar izbor za Windows XP platformu bio je na primjer 'Borland Delphi Studio', firme Borland Software Corporation, dostupan kao četiri različita proizvoda za izradu programske potpore i to:
Tehnički kriteriji potrebiti za ovaj programski paket su:
|
Mogućnosti pojedinih od navedenih delphi_proizvoda u prethodnoj listi, označenih redno od 1 do 4, date su u narednoj komparativnoj tablici:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tablica 6.2.1 Različite verzije alata 'Borland Delphi Studio'. |
Osim navedenog postoje i moćniji i slabiji jezički procesori, i naravno noviji iz opisane porodice alata. Navedeni primjer datira još iz 2002 godine, ali lijepo ilustrira što bi jedan profesionalni alata za programiranje trebao sadržavati. Borlan je 2008. godine preuzela firma Embarcadero Technologies, koja je nastavila razvijati programerske alate. Noviji proizvod navedene firme za brzi razvoj programske potpore u Windows, Mac, iOS i Android okruženju je 'RAD Studio XE6' (Rapid Application Development), koji kombinira 'Delphi Object Pascal' i 'C++' programerske alate u jedinstveno programersko okruženje za razvoj korisničkih, korisnik-poslužitelj i web programske potpore uz podršku za mnoštvo različitih baza podataka. Danas, kada je gotovo svugdje prisutno grafičko sučelje dobro je izabrati jezički procesor koji se koristi upravo njime, te da posjeduje 'čarobnjake', odnosno alate za brzu i jednostavnu izradu na primjer formi za unos podataka, izvješća i slično, što je osobito korisno za početnike. Iskusni korisnik može napisati izvorni kod (source code) u običnom editoru, kao što je 'Notepad' u Windows okruženju, te s alatima za 'linkanje' i 'kompajliranje' od njega načiniti izvršivu '.com' ili '.exe' datoteku za Windows okruženje, što uz pridružene sistemske i / ili prema potrebi izrađene biblioteke (programske rutine) čini PROGRAM.
Osoba koja se bavi izradom programske potpore često se naziva PROGRAMER, alati za izradu programske potpore s kojima se služi nazivaju se programerski alati, a sam proces izrade programa obično se naziva PROGRAMIRANJE. Firma Microsoft za razvoj programske potpore nudi alate prikazane na narednim slikama besplatno, uz registriraju korisnika ako je potrebno, što nije od značaja ako se poštuju prava koja su naveli u licenčnim uvjetima. Naredne slike s kratkim opisom svakog od njih ujedno su spojnice prema stranicama gdje se može više saznati o pojedinim programskim alatima i preuzeti ih.
'Express Edition' su jednostavni programerski alati laki za upotrebu i laki za učenje. Proizvodi koji su kreirani za one kojima je programiranje hobi, učenike, studente i neprofitabilne organizacije. Kao takvi, nemaju sve funkcije koje se mogu naći u potpunim profesionalnim inačicama. Svako 'Express Edition' izdanje sadrži dobru dokumentaciju koja će pomoći programeru-početniku da brzo nauči koncepte koji su neophodni da bi se izgradile napredne aplikacije. Korisnička sučelja su dobro organizirana kako bi se osiguralo razumljivost u procesu učenja. Nova generacija programerskih alata zasigurno će morati podržati izradu aplikacija koje će uspješno koristiti prednosti procesora s više jezgri i višenitnost, kao i nadolazeći koncept uspješnog korištenja resursa GPU.
Apsolutni korisnik početnik izabrati će za učenje neki još jednostavniji alat za izradu programske potpore, kao na primjer 'MS-DOS QBASIC' ili 'MS-DOS QuickBASIC' firme Microsoft Corporation. Navedeni alat doživio je brojna poboljšanja i verzije od kojih je najslabija 1.0 pod nazivom QBASIC a najmoćnija 4.5 pod nazivom QuickBASIC (Quick Beginner's All-Purpose Symbolic Instruction Code). U Windows 9X okruženju ukomponiran je jezički procesor 'MS-DOS QBASIC' verzija 1.1 koji može poslužiti kao osnova za učenje izrade programske potpore.
Slika 6.2.2 Uvodni prozor programske potpore QBASIC. |
Navedena programska potpora, odnosno programerski alat, spada u grupu interpretera i u ovoj verziji nema mogućnost 'kompajliranja', odnosno kreiranja izvršive datoteke. Ovo je na neki način besplatna verzija alata QuickBasic koji navedenu mogućnost ima. Osnove razvoja programske potpore, odnosno 5. i 6. faza prema poglavlju 6.1, nadalje će se prikazati upravo u alatu 'MS-DOS QBASIC' verzija 1.1. Na Internetu se mogu pronaći besplatni alati slični navedenom koji u potpunosti poštuju sintaksu BASIC-a i imaju dodatne mogućnosti glede kreiranja formi i prozora pa čak i izrade izvršive datoteke, ali su prilagođeni Windows okruženju, kao što su 'ThinBasic BASIC Interpreter', 'Emergence BASIC (EBASIC)' ili sve popularniji 'FreeBASIC compiler' dizajniran u verzijama za DOS, Linux ili Windows okruženje. Novi proizvod iz Redmonda - 'Microsoft Small Basic', konceptualno mali programski jezik, jednostavan za učenje s pristupačnim razvojnim 'Windows' okruženjem koje je u osnovi uvod u 'express' ili 'profesionalne' alate, moguće je najbolji izbor za početnike. Može poslužiti i komercijalni alat 'PowerBASIC Compiler' za DOS i Windows operativne sustave, savršen za programere početnike, programere eksperte, ili za bilo koju razini programiranja između navedenih. Sa stanovišta učenja kompatibilni su s opisima koji slijede u narednim poglavljima.
Za profesionalnu uporabu dosta su popularni MS Visual C++ i Java programerski alati, te nova generacija profesionalnih razvojnih alata .NET grupe proizvoda firme Microsoft. Za profesionalan rad jako je važno da programerski alati znaju 'raditi' s bazom podataka, jednom vrstom ili više njih, kao što su SQL ili ORACLE. Sve se više zahtijevaju web-olike aplikacije te mogućnost rada s PHP (Hypertext Pre-processor) skriptnim jezikom i pristupa bazama podataka smještenih na web-poslužitelju preko njega.
Sam program sadrži u osnovi tri dijela. Prvi dio je čini matematički model zadaće koju program mora odraditi i taj dio obično zauzima oko 25% programskog koda. Drugi dio je izrada formi za unos podataka, bilo samo preko tipkovnice i / ili uz pomoć miša, te izlazne forme koje korisniku daju rezultate obrade, i taj dio zauzima oko 25% programskog koda. Ostalo otpada na eliminiranje i predviđanje nepoćudnih grešaka, tipa dijeljenje s nulom, prekoračenje graničnih vrijednosti varijabli, i slično. Ovaj treći dio u osnovi eliminira greške (error traping) koje bi mogle zaustaviti tijek odvijanja programa. Tu će recimo spadati i dio koji nadzire da li se u formu za unos brojeva nalaze neka slova. Program se tada ne smije prekinuti već korisniku treba da se prikaže upozorenje tipa: 'Tukac, ovo je forma isključivo za unos brojeva'. Stoga je važan dio testiranja u razvoju programske potpore opisan kao jedna od faza izrade programa u prethodnom poglavlju. Recimo, osnovi matematički testovi; Koliko je (1/3)*3? Što uraditi kada se pojavi dijeljenje s nulom? Navedeno znači da programer mora jako dobro prepoznati problem korisnika, pokušati uočiti sve njegove navike, na primjer način kako upotrebljava računalo, i jako dobro poznavati mogućnosti jezičkog procesora kojeg u programiranju koristi.
SAŽETAK:
Iz dosad navedenog jasno je da bavljenje programiranjem, odnosno razvojem programske potpore, iziskuje obrazovanje te stjecanje znanja i vještina u svrhu razvijanja sposobnosti apstrakcije, odnosno sposobnosti raščlanjivanja i sagledavanja problema ili zadatka s različitim pristupima glede njegovog rješavanja uz odvajanje bitnih od nebitnih svojstava. Banalni primjer je izračunavanje trigonometrijskih funkcija. Prihvaćanje 'gotovih činjenica' bez virtualne predodžbe problema i vizije mogućih metoda njegovog rješavanja, kao na primjer vrijednosti osnovnih trigonometrijskih kutova bez sposobnosti vizualizacije kruženja jediničnog vektora u koordinatnom sustavu, nije osobitost koja odlikuje učinkovitog programera. Dali je u razvoju programske potpore za knjigovodstveni servis bitna točnost izračuna na više od dvije decimale? Ili jedan potpuno matematički problem; 1/3=0.333333... <=> 0.333333...×3=1? Dali brojiti 1, 2, 3... ili 1.000, 2.000, 3.000... i kada? Programer treba imati širok spektar znanja, mora biti domišljat, pronicljiv, vješt, maštovit, kreativan, uporan, tvrdoglav, sistematičan i nepokolebljiv i voljeti taj posao. Mora neprekidno pratiti nove tehnologije, i učiti na vlastitim i tuđim greškama.
Poznavanje engleskog jezika, matematike, fizike, tehničkog crtanja, likovnog, glazbenog i sličnih 'nepotrebnih' znanja glede navedenog nije na odmet, dapače permanentno cjeloživotno obrazovanje, školsko i samostalno, preduvjet je za uspješan rad dobrog programera kojemu programiranje može postati posao. Kakav posao? Recimo:
Programska potpora za računovodstveni servis ili urudžbeni ured, ovisno o obimu posla, broju uposlenika u njima i raspoloživoj računalnoj opremi, može sadržavati malo ili prilično od navedenog, a u razvoju programske potpore može učestvovati jedna ili više osoba. Izrada kvalitetne računalne igre, na primjer, traži napredne vještine od njenog samog dizajna pa do izrade programskog koda za operativni sustav na kojem će se igra koristiti. Vrlo je teško od jedne osobe očekivati uspješnost i zavidnu vještinu u više kategorija, a objedinjavanje djelatnosti vještih osoba u cilju ostvarivanja željenih rezultata također je vještina. Timski rad je neophodan. Od ideje pa do njenog ostvarenja dug je put. Uspješan i relativno brz primjer ostvarivanja cilja je 'Google'. Zadali su si napraviti dobru tražilicu i ponuditi kvalitetne usluge - i to su vrlo uspješno uradili. Dakle, potrebna su poprilična znanja, vještina u prepoznavanja problema ili zadatka i jasna vizija njegovog rješavanja.
Već je rečeno na da je program smišljeni skup instrukcija koje izvršava procesor. Smišljen je i logičan gledano sa čovjekove strane, ali gledano 'očima' procesora on nikad ne zna kakva je naredna instrukcija. Njemu je ENTROPIJA poprilična. Da bi se navedeno ublažilo gotovo svi uređaji računala u radu koriste neku svoju vlastitu brzu međumemoriju (cache) u koju se spremaju sadržaji srodni prethodnim instrukcijama ili podacima, kao nekakvo predviđanje moguće naredne zadaće i na taj način se ostvaruje brže dohvaćanje potrebitog.
Citiranje ove stranice: Radić, Drago. " Informatička abeceda " Split-Hrvatska. {Datum pristupa}; https://informatika.buzdo.com/datoteka. Copyright © by Drago Radić. Sva prava pridržana. | Odgovornost |