6.2. PROGRAMIRANJE

 Natrag  Dalje  Razvoj programske potpore


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:

  • DOS okruženju
  • Windows okruženju
  • Mac OS X okruženju
  • Unix okruženju
  • Linux okruženju
    (slično Unix-u po koncepciji)
  • Igraćoj konzoli
    (PlayStation, Nintendo, XBox ....)
  • Mobilnom uređaju
    (mobiteli, tableti ....)
  • Multimedijskom uređaju
    (kućno kino ....)
  • Specifičnom okruženju
    (mikrokontroleri, glazbeni uređaji, igračke ....)

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:

  • delphi_personal
  • delphi_professional
  • delphi_enterprise
  • delphi_architect
Tehnički kriteriji potrebiti za ovaj programski paket su:
  • Intel Pentium 233 MHz or higher
  • 64 MB RAM (128 MB recommended)
  • 124 MB hard disk space (compact installation)
  • 520 MB hard disk space (full installation)
  • CD-ROM drive
  • SVGA or higher resolution monitor
  • Mouse or other pointing device
  • Microsoft Windows 98, 2000, and Windows XP

Mogućnosti pojedinih od navedenih delphi_proizvoda u prethodnoj listi, označenih redno od 1 do 4, date su u narednoj komparativnoj tablici:

BORLAND® DELPHI™ 7 STUDIO 1* 2 3 4
Interoperability and migration support for Microsoft® .NET
Delphi™ compiler warnings and hints for .NET compatibility
* * * *
Import any .NET assembly as a COM object * * * *
Use Delphi COM objects in .NET managed applications   * * *
Delphi for Microsoft .NET prerelease preview Visual Component Library
for .NET framework for migrating existing applications**
* * * *
.NET preview CIL compiler to create managed applications * * * *
.NET migration documentation * * * *
Model-driven design
Visual modeling and refactoring tool based on UML™ technology
    * *
Native Delphi integration, reverse engineering, and instant visualization     * *
Web application development. Deploy your application to the Internet,
utilizing drag-and-drop visual Web application development
  * * *
Add interactive content to your Web sites by rapidly and visually
building dynamic server-side HTML Web applications
  * * *
Transparently manages Web application details such as cookie,
session, and user management
    * *
Nevrona Rave™ technology. Powerful Rave Reports
Borland Edition visual report designer and code-based API
  * * *
PDF, HTML, RTF, and text rendering formats   * * *
Native support for VCL and Borland Component Library
for Cross-platform (CLX™) applications
  * * *
Bold® for Delphi™
Maintain less code with a true Model Driven Architecture™ (MDA™)
      *
UML technology: full support for class diagrams, tagged values, stereotypes,
associations, visibility, and mixed transient/persistent elements & classes
      *
Integrated support for Rational Rose® and ModelMaker;
import/export model information from/to Bold® Model Editor
      *
Windows XP™ Themes
Enable applications to take part of Windows XP™ Themes
* * * *
Borland Kylix™ 3 IDE in the Delphi language
Kylix 3 IDE in the Delphi language for cross-platform development on Linux®
  * * *
Borland BizSnap™ — Web Services with XML technologies
UDDI browser to visually locate and import registered Web Services
  * * *
Automatic UDDI client fail-over support   * * *
Rapidly build server-side W3C-compliant Web Services using
SOAP, XML, WSDL, and more
  * * *
* Delphi 7 Personal is not a studio product, and it is for noncommercial use only.
** Available as a download for registered users.
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.

 Visual Basic  Visual C#
 Visual C++  Visual Web Developer
 SQL Server Express Edition  Visual Studio Express Edition

'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.

 Qbasic
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:

  • dizajn i administracija baza podataka,
  • dizajn i programiranje sučelja (desktop),
  • programiranje web aplikacija i web dizajn,
  • programiranje mrežne programske potpore (NOS),
  • programiranje upravljačkih programa uređaja (driver),
  • programiranje uslužnih-pomoćnih programskih alata (utility),
  • programiranje multimedijskih alata,
  • programiranje i dizajn igara, simulatora ...
  • programiranje razvojnog okruženja - programerskih alata,
  • programiranje operativnih sustava,
  • programiranje mikrokontrolera,
  • programiranje BIOS-a,
  • instalacija, održavanje i konfiguriranje .....
  • i još štošta drugo .....

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.

 Natrag
 Tražila
 Dalje

 Početak
 KAZALO  Informatička abeceda
 
Citiranje ove stranice:
Radić, Drago. " Informatička abeceda " Split-Hrvatska. {Datum pristupa}. <http://www.informatika.buzdo.com/>.
Copyright © by Drago Radić. Sva prava pridržana. | Odgovornost