04 јун 2010

Kako sam postao programer

Danas sam naišao na jedan svoj stari dokumenat, koji je napravljen 2001. godine. Lepo je setiti se programerskih početaka, a i sačuvati ga od zaborava kroz ovaj blog...

"Dakle, izradu aplikativnog softvera sam počeo svojim prvim projektom NET Galerija 1.0 za Galeriju Matice Srpske. Tog Maja 1995. godine, MS Windows je bio u ranoj fazi, pod verzijama 3.x. Razvojni alati su tek bili na pomolu, i trenutno jedini aktuelni alat za vizuelno programiranje, MS Visual Basic 3, se ukazao kao prirodno okruženje. Postavljen je projekat po principu : MS Access bazna osnova + MS Visual Basic korisnički interfejs.

Nažalost, tokom beta testiranja instalacije, kod korisnika su počeli da se progresivno javljaju problemi u perfomansama baze podataka, pa sam skoro već kompletiran projekat, prebacio u MS FoxPro 2.6 za Windows. Osnovni razlog je bio, tada superniorni Rushmore princip obrade baze, koja je davala impresivne brzinske rezultate, nad velikom količinom podataka.

Upravo će to biti i glavni razlog za nastavak izrade naredne 21 Windows aplikacije, u istom alatu. Iako je MS FoxPro 4 Windows 16-bitna razvojna platforma, sa nekim elementima vizuelnog programiranja, pojavom 32-bitnog MS Windowsa 95, softver razvijen u njemu je i dalje funkcionisao dosledno.

Svesni dobro postavljenog baznog projekta, kao preduslova uspešne aplikacije, spremne da odgovori specifičnim zahtevima jednog ili više korisnika, kroz neograničene izmene istog, mogli smo kroz MS FoxPro da podržimo u potpunosti, ali sa jednim nedostatkom - rečnikom podataka, kao centralnim mestom aplikacije, zbog čega se MS FoxPro i nije smatrao relacionom bazom podataka. Potreba za standardizacijom software-a , kroz jedan izvršni kod na svim instalacijama ukazao je potrebu za restruktuiranjem projekata.

Tada se rađa NETIS koncept (NET Informacioni Sistem – o.a.), određena interna dopuna Fox-ovog okruženja, koja je brinula o referencijalnom integritetu svih podaka, nezavisno od aplikacije ili korisnika. Ovakvu postavku vraćamo i na DOS platformu, kroz MS FoxPro 2.6 za DOS, gde je razvoj aplikacija nastavljen sa ovim bitnim pojačanjem. Ja u ovoj fazi programiram samo 4 DOS aplikacije, većinom iz averzije prema zastarelom operativnom sistemu.

Iako je tada, MS DOS platforma uveliko bila u silaznoj putanji, pred nadolazećim tehnologijama MS Windows-a (9x,NT – oa.a), u našim uslovima poslovanja, mnogim korisnicima se pokazala kao jefinije informaciono rešenje. Zbog toga je sektor nastavio sa paralelnim razvojem aplikacija kako za MS DOS tako i MS Windows, kroz identične verzije MS FoxPro-a 2.6. Treba napomenuti, da su migracije projekata sa jedne na drugu platformu bile potpuno transparentne.

Međutim, u jednom momentu, pojava MS Windows NT platforme, počinje da izaziva određene funcionalne probleme kroz nedosledan rad MS FoxPro 2.x aplikacija (izobličen preview podataka i sl. – o.a). Svesni 16-bitnog ograničenja razvojnog alata, krenuli smo da ispitujemo trenutnu ponudu RAD softvera. Microsoft je već izbacio Visual FoxPro 3, ali je očekivani nastavak rada u njemu podrazumevao reprojektovanje bazne osnove, redizajn korisničkog interfejsa, prekodiranje aplikacije, jednom rečju - reprogramiranje kompletnog projekta. MS FoxPro je postao objektno-orijentisana relaciona baza podataka, ali i dalje kao prevodilac pseudo koda.

Kada smo videli da će nas prelazak na 32-bitnu razvojnu platformu, koštati ponovnog postavljanja koncepata programiranja, odlučili smo se za Borland Delphi, tada i sada, neprikosnoveni Windows compiler, objektno-orijentisani RAD (Rapid Application Development – o.a.), sa ugrađenim mehanizmima relacione baze podataka (kroz Paradox format zapisa – o.a.). Otvorenost njegove arhitekture ka nezavisnim tipovima podataka (DBase, FoxPro, Access, Informix, SQL Server, Oracle i.t.d. – o.a.), kroz ODBC (Open DataBase Conect – o.a.) ili ADO (Advanced Data Objects – o.a.) koncept, bio je samo razlog više, da nas privoli ovom razvojnom okruženju. Nismo se pokajali, jer programiranje u njemu traje do današnjih dana.

U tom periodu ja kodiram 14 Client/Server aplikacija, što klasičnih knjigovodstvenih paketa (Kadrovi, Finansije i sl. – o.a.), što krojenih prema specifičnim zahtevima korisnika (Plan, Akcije, Informator i sl. – o.a.). Neograničene mogućnosti programiranja u Borland Delphi-ju, u smislu izbora najrazličitijih Windows tipova aplikacija, baznih ili ne, samo je učvrstilo njegovu poziciju, kao parametar kvalitetnog RAD alata, pre svega za programera, pa onda i za krajnjeg korisnika.

U ovom periodu postavlja se NETIS 2 koncept. On je sadržao punu upotrebu principa objektno-orijentisanog programiranja, kroz klase, nasleđivanja i instance. Rađaju se kalupi praznih aplikacija, spremnih za što bržu konkretizaciju u realnom projektu. Ovom revizijom NETIS standarda, akcenat se premestio sa bazne osnove i rečnika podataka na korisnički interfejs i klasne forme. Takođe smo se sa koncepta sigurnosti relacija unutar baze podataka (NETIS) pomerili ka bržem generisanju krajnjeg korisničkog interfejsa (NETIS2) nad istom.

Treba još napomenuti i postojeći trend u radu sa bazama podataka. Dosadašnji formati zapisa (FoxPro, Paradox, Access i sl. – o.a.) su se pokazali kao lokalne varijante ili za relativno manje mreže (do 5 računara – o.a.). Kod pravog Client/Server koncepta, pojavom jakih hardverskih konfiguracija (Pentium i sl. – o.a.) i stabilnih operativnih sistema (MS Windows 2000, XP – o.a.) perfomanse velikih baza podataka, poput MS SQL Server-a, postaju zadovoljavajuće za kvalitetnu upotrebu, nezavisno od broja klijenata u mreži. U tom segmentu je i započet razvoj nove generacije NETIS-a, pod specifikacijom : MS SQL Server – bazna osnova + Borland Delphi – korisnički interfejs. Razvoj ove aplikativne platforme je u toku, kroz postavljene, ali ne i dovršene projekte standardnih knjigovodstvenih aplikacija (Finansijsko, Robno i sl. – o.a.).

Pitanje nedovršenosti aplikacija tretiram kao neminovnost prirode posla koji sam obavljao na ovom radnom mestu. Jednostavno, uvek su postojali projekti koji su u začetku (npr. NETIS Kadrovi XP - o.a.), aplikacije čiji je razvoj uveliko u toku (npr. NETIS Finansijsko knjigovodstvo 2000 – o.a.), instalacije koje su u punoj implementaciji sa frekventnim korisničkim zahtevima (npr. NETIS Rampa 2001 – o.a.). Sve više se stiče utisak da je rad na jednom projektu završen kada korisnik prestane da se javlja.

Pojavom Internet-a, sektor proširuje svoje delovanje na izradu web prezentacija, i to kroz one statičke u HTML-u (umetnost.co.yu – o.a.) i dinamičke sa JavaScript pojačanjem (pkv.co.yu – o.a.). U tom smislu se i koriste dva alata : MS FrontPage i Macromedia Dreamveawer UltraDev (diktirani od strane Internet provajdera – o.a.). U ovom polju ja sam realizovao 2 Internet aplikacije, po navedenim strukturama. Ovaj segment aktivnosti, programiranje seli u dizajniranje, što predstavlja kreativan pomak u dosadašnjem radu. Ovakve aplikacije se lako održavaju, i retko dovode do problema u njihovoj eksploataciji, zbog čega ovo polje aplikativnih aktivnosti smatram jednim od strateških pravaca ..."

Danas radim u Privrednoj komori Vojvodine. Još uvek se družim sa Delphi programskim alatom, kada treba da napravim klasičnu MS Windows desktop aplikaciju.

Otkrio sam i svet otvorenog koda, Linuxa, php CMS sistema, koje intenzivno koristim održavajući korporativni portal na adresi www.pkv.rs. Takođe sam upućen i u Microsoft stranu iste CMS priče, kroz MS SharePoint Portal Server za naše Intranet potrebe.

U slobodno programersko vreme me fascinira Java Micro Edition, MS Visual Studio for Windows Phone, kao i nova sveža platforma Android, i sve što je vezano za SmartPhone koncept...

1 коментар:

FoxPro је рекао...

I learned to program in FoxPro on 2008, its very useful for the company I had been working. But as time goes by, it became obsolete and few companies use it anymore.