PC Press
O nama
O nama
Pretplata
O nama
Postanite saradnik PC-ja
Kontakt sa redakcijom
PC Press
Novi broj
Novi broj   
Pretrazivanje
Arhiva
Arhiva   
PC Online
PC Plus   
Specijalna izdanja
Komentari Komentari
PC #147 : Septembar 2008 Knjiga 50 godina racunarstva u Srbiji

 Naslovna  Sadržaj 
Sava Zdravković  

Programirate li još?

Amatersko programiranje bilo je poluga kojom su personalni računari "pomerili svet". Situacija je danas drugačija, a poslednji ekser u mrtvački sanduk programiranja mogao bi ukucati zahtev za digitalnim potpisivanjem softvera...

Seća li se još neko prvih dana prodora kućnih računara? Uživali smo u nestanku velikih računskih centara u koje ste mogli da uđete samo preko debele veze i čiji su se zaposleni ponašali kao da je programiranje neka velika tajna dostupna samo malom broju prvosveštenika. Sanjali smo o računaru na svom stolu, koga ćemo sami programirati, na bejziku ili čak na asembleru. Prelistajte stare brojeve kompjuterskih časopisa, prepune programerskih tekstova, priča o tome kako se može realizovati ova ili ona (ne baš uvek) korisna ideja, kako uštedeti nekoliko bajtova ili mašinskih ciklusa... Danas se krug zatvorio – ponovo programiraju samo profesionalci, dok su svi ostali svedeni na puke korisnike. Neko će reći da tako i treba da bude, ali...

Alat i zanat

Za popularnost amaterskog programiranja zaslužno je nekoliko alata koji su istovremeno predstavljali veliki komercijalni uspeh. Prvi od njih je, naravno, Microsoft Basic, na kome je sagrađena čitava imperija Bila Gejtsa i Pola Alena. Bejzik je, doduše, nastao još 1963. godine, pre svega kao edukaciono sredstvo, ali je na nož stručne javnosti dočekan tek kada su ga kućni računari lansirali u čitav svet. Kritikovali su ga da podstiče loše navike u programiranju (GOTO naredba), da nema strukture, da su performanse loše... ipak, bio je dostupan i jednostavan za upotrebu a većina kritika je amaterima izgledala tako besmislena da su stručnjake smatrali arogantnim snobovima koji neće da priznaju da ono za šta su se školovali godinama sada može „svako“ da radi. Ili je barem tako delovalo.

Onda su došle IBM PC godine i izgledalo je da programiranje opet postaje komplikovano. Intel 8088 je imao zlosrećne segmentne registre oko kojih je stalno bilo nekih problema, a prvi kompajleri su bili komplikovani za upotrebu i veoma spori u radu; gwbasic je malo kome bio dovoljan. A onda se 1983. pojavio Turbo Pascal, koji je lansirao u orbitu novu računarsku firmu – Borland International, a programiranje ponovo približio svakome, vaskrsnuvši uzgred jedan prilično zaboravljeni programski jezik (Pascal je nastao 1970. godine, ponovo kao edukaciono sredstvo; malo je ko mislio da će biti korišćen za razvoj profesionalnog softvera). Turbo Pascal je bio čudesno mali (jedna disketa od 360 KB), brz, potpuno interaktivan (prilikom prevođenja sam postavi kursor tamo gde je primetio grešku, sačeka da je korisnik ispravi i odmah kreće dalje), rezultujući programi su prilično efikasni i mogu se, kao jedan samostalni EXE fajl, snimiti na disketu i dati prijatelju. Turbo Pascal je kasnije dobio i integrisani debager, programski jezik je proširen modulima (units) i objektima, podržao je grafiku i zvuk... Čak je i danas u izvesnom smislu aktuelan: ako imate školsko dete kome treba pomoći oko programiranja, koje se i dalje uči u vidu štampanja zvezdica i crtica ili parsiranja stringova, Turbo Pascal 6.0 za DOS je nešto što vredi imati na disku. Zapravo, kada bi Borland napravio nekakav Turbo Pascal 6.5 sa stringovima dužim od 256 znakova i strukturama većim od 64 KB, sasvim sigurno bi od mene uzeli stotinak dolara.

Tokom osamdesetih godina programski jezik C je lansiran u stratosferu kao efikasna alatka za razvoj sistemskog softvera. C je godinama bio moj glavni jezik i priznajem da sam ga mnogo voleo, mada nikad nisam zatvarao oči pred njegovim manama. C je, kratko rečeno, zamena za asembler – „prljav“ jezik u kome je sve moguće, a naročito pravljenje grešaka. Za većinu problema u kojima „uživaju“ autori virusa, a zbog kojih svakog meseca moramo da download-ujemo po desetak megabajta raznih update-ova, kriva je činjenica da je Windows razvijan u C-u, sa sve njegovim pointerima koji mogu pokazati bilo gde, baferima čije se granice ne kontrolišu pri pristupu i „labavim“ deklaracijama tipova. Kada jednom osetite slobodu koju pruža C, teško ćete se uklopiti u kalupe neke Ade, Paskala ili Module 2, ali je veliko pitanje koliko zbog toga treba biti srećan. Bilo kako bilo, i Turbo C 2.0 je jedan od alata koje svaki „penzionisani programer“ treba da drži na disku, čak i ako je u međuvremenu prešao na Vistu.

Sledeće iskušenje bio je Windows i njegovo grafičko okruženje. U prvi mah je Windows programe bilo nemoguće pisati, a onda se pojavio Visual Basic i pokupio sve amatere. Visual Basic je jedini od pomenutih proizvoda koji se i dalje razvija, ali je prerastao u giganta u kome stvari ponovo nisu jednostavne – objekti na sve strane, moduli, komplikovane veze sa bazama podataka... Izgledalo je da će Delphi popraviti stvari, ali je firma Borland već bila u agoniji, nesposobna da razvija jednu veoma dobru ideju.

A danas?

Današnja integrisana okruženja omogućavaju (i) amaterima da programiraju, ali pod uslovom da su spremni da ulože neki inicijalni rad – ne možete očekivati da otvorite Visual Studio 2008, izaberete Visual Basic i u tri koraka napišete program. Posle par dana pokušaja i greški, listanja knjiga i guglanja, stvari će krenuti – ko zna, možda napišete nešto dobro.

Nažalost, veliki igrači kao da ne žele da vi nešto napišete. Nekada je Microsoft jeftino nudio razvojne alate kako bi ljudi pisali što više programa, koji onda povećavaju vrednost računara i operativnog sistema. Danas im vaši programi nisu potrebni – štaviše, želeli bi da vam za svaki program koji ćete napisati i prodati uzmu neki dolar. Pišete igru za Xbox? Ona neće raditi dok je digitalno ne potpišete, a to košta ozbiljne pare. Smislili ste aplikaciju za iPhone 3G? Možete je prodavati samo kroz Apple Store, s tim što vam Apple „apciguje“ 30%. Kako vreme ide, moraćete da postanete haker i kraker da biste napisali običan program i hvalili se njime pred prijateljicom. Zbogom, programeri-amateri!