Friday, July 20, 2007

Programer i zlatna ribica


Dugo sam razmišljao kako početak priče o jednom programeru treba da izgleda. Oni su ipak posebna sorta. Da li početi sa "Davno, davno, u galaksiji, daleko, daleko odavde..." ili pak "U nepreglednim nizovima nula i jedinica kosmosa, beše nekoliko nula i jedinica od milošte nazvane programer...", a možda i "A onda su majmuni sišli sa drveta i postali ljudi, a neki od njih i programeri...". Nah, najjednostavnija rešenja su često i najbolja, a stari klasični počeci najupečatljiviji, pa ću se zato ograničiti na "Bio jednom jedan programer...".
Dakle, bio jednom jedan programer. Kakav programer ? Prosečan programer. Imao je svoju skromnu softversku radionicu, zapravo garažu, ali kad si mlad i siromašan često ti čaša najgore brlje od vina ima ukus "Šardonjea", a stara iscepana i znojava košulja miriše na sveže ubrane ruže. Bio je ponosan na nju, i nadao se da mu je upravo ta garaža odskočna daska za budućnost. Nije imao fakultet, ali je zato imao štap za pecanje koji je vrlo često koristio na obližnjem potočiću, odmaravši se od napornog kuckanja po tastaturi. Pecao je tako danima, hvatao kojekakve ribe, a onda ih vraćao u more, zadovoljan jer je spasao još jedan mladi riblji život. Jednog dana, pecajući tako, i pitajući se "Zašto, dođavola, o zašto nisam završio medicinski fakultet, i onda pravio svoje viruse i antiviruse, pa ih puštao na slobodu, a posle lečio zaražene. Pa uspeva sa ribama, zar ne ? A ovako bih barem zarađivao novce.", u jednom trenutku iz dubokog razmišljanja prekinulo ga je trzanje udice. "Ah, još jedan riblji život koji mogu da spasem.", pomislio je i izvukao ribu iz vode. Tek što se spremio da je vrati nazad, riba progovori "Ne bacaj me, ja sam zlatna ribica i ispuniću ti 3 želje". "Kako pobogu zlatna kad si srebrna ?", začudi se programer. "Pa vidiš, ništa na ovom svetu nije savršeno, čak ni "zlatne ribice". Ti si recimo programer, i trebalo bi da znaš da sve na ovom svetu ima bagove. Od gvožđa se svašta da iskovati, ali ono rđa, od drveta se svašta može napraviti, ali ono truli, ljudi su svašta izmislili, ali opet ima onih kojima je dosadno i koji su nezadovoljni, pa i tvoj softver, pun je bagova, i što ih više budeš popravljao, više će se njih pojavljivati. Sve je na svetu zapravo niz nula i jedinica, true ili false, ima ili nema, može ili ne može, hoću ili neću, jin ili jang..." - "Ma dobro, shvatio sam poentu.", prekide je programer i nastavi "Dakle, imam 3 želje i mogu da poželim bilo šta ?". "Da, bilo šta, ali moram da te upozorim. Kao što sam već rekla, sve na ovom svetu ima bagove, pa tako i želje. Šta god da poželiš, ma koliko tebi to savršeno izgledalo, to ne znači da će tako i biti. Svaka želja sa sobom nosi i svoje nusprodukte, svoju "false" stranu.", odgovori ribica. Programer se malo zamislio i shvatio da mu velika moć leži na dohvat ruke, ali nije želeo da brza, već da pažljivo odabere svoje želje. Poneo je ribicu kući sa sobom i smestio je u divnu kofu u uglu njegove garaže. Tu noć nije mogao da spava, samo je razmišljao i razmišljao i razmišljao... Po glavi mu se stalno vrzmalo upozorenje da sve na svetu ima svoje bagove. Negde oko pola pet ujutru, po lokalnom vremenu, konačno mu je sinulo i počeo je da prevrće čuvene programerske dileme "Da li da nulam, ili da jediničarim... ako poželim želju i ona bude imala bag, sigurno ću napraviti neku grešku. Međutim mi programeri radimo tako što prvo eliminišemo mogućnost da dođe do greške... Daaaaa, to je to... poželeću da ništa na ovom svetu nema bagove... a onda ću da poželim 2 želje koje s obzirom da bagovi ne postoje nikako neće moći da budu loše. I što je najbolje, ni moji programi više neće biti bagoviti... Ribice, budi se ! Odlučio sam se, želim da ništa na ovom svetu nema bagove. Da sve bude savršeno...". Ribica, onako sanjiva, samo je upitala programerskim jezikom "Da li si siguran ? Da, Ne ili Odustani.". "Da", mirno odgovori programer, zadovoljno trljajući ruke i čekajući da zlatna ribica zatrepće perajima, izgovori čarobne reči ili otpleše tango... međutim ništa se nije dešavalo. "Pa šta je sad ? Zar ti nisam rekao želju ?", upita programer. "Želja ti je ispunjena. To što si ti očekivao da pucketam prstima ili vrtim kukovima, to ti vidi sa onim ludacima koji su i pisali bajke o zlatnim ribicama. Zaboga, pa ja sam samo riba, nit imam prste, nit imam kukove." - "Dobro, dobro... dakle želja mi je ispunjena.", zadovoljno je konstatovao programer i odmah seo za svoj kompjuter da proveri posledice svoje želje. Nije mogao da veruje svojim očima. Šta god da je napisao, radilo je bez greške. Čak mu ni sintaksne greške više nisu predstavljale problem, šta god da napiše, radilo je. Odlučio je da se malo prošeta, odmori moždane vijuge, kupi hleb i mleko, a onda se vrati u svoju radionicu i napiše softver kakav svet još nije video. Šetao se tako, razmišljajući o tome šta će sve moći sebi da priušti kada bude napisao najsavršeniji program na svetu "Hmmm... dobar auto, kuću pored okeana, veliku softversku kompaniju koja će se nalazati u zgradi sa mnogo spratova...". Razmišljajući tako, skoro da nije ni primetio da je već stigao do lokalne prodavnice. Ušao je mirno i zatražio kilogram hleba, a onda ga je dočekao hladan tuš i reči prodavačice "Gospodine, hleb se više ne proizvodi, kao ni bilo koja druga hrana. Ljudi više nisu gladni.". Pametan kakav jeste, odmah je shvatio da je to produkt njegove želje i zapitao se "Zaboga, šta li sam još pokarambasio ?". Dao se u istraživanje i ubrzo počeo da otkriva sve veće i sve teže posledice njegove želje. Drvna industrija je naprosto stala, jer drvo više nije trulelo, pa je jedan komad nameštaja trajao zauvek. Oruđe od gvožđa se više nije kovalo, lopate su bile večne. Automobilska industrija, građevinska industrija, industrija zabave, filmska industrija... sve je stalo... ljudi su jednostavno bili zadovoljni i ako nemaju auto, bili su zadovoljni i ako nemaju kuću, nije im bila potrebna zabava, jer im nije bilo dosadno čak i kada se ne zabavljaju, nisu gledali ni filmove, jer su bili zadovoljni svojim životima, pa nisu imali potrebe da gledaju tuđe... "A softver ? Šta je sa softverskom industrijom ?" zapitao se i potrčao da kupi najnoviji broj poznatog kompjuterskog časopisa koji se bavi softverom. Postojala je samo jedna strana istog na kojoj je pisalo "Ovo je poslednji broj ovog magazina, jer više ne postoji potreba za softverom. Postojeći softver radi savršeno, a i da ne radi, nije problem, jer se njime više nema šta postići. Ne posotoje nuklearne havarije, pa nema potrebe kontrolisati reaktore, ne postoje sudari, pa nema potrebe kontrolisati semafore, ne postoje komplikovane računske operacije kao što su množenje, deljenje, sabiranje ili oduzimanje, pa nema potrebe koristiti računare... S poštovanjem, redkacija.". "Ovo je košmar !", uzviknu programer i brže bolje otrča kod zlatne ribice, "Želim da se sve vrati na staro, ne pitaj ništa nego ispunjavaj... baš sve kao što je bilo pre nego što sam poželeo želju !" i odmah je seo za računar. Kada je video da polovina njegovih programa ne radi kako treba, laknulo mu je, te je zauzeo udoban položaj, zabacio glavu unazad, a glavu su mu prepunile naizgled nepovezane misli "Sada znam... sada znam tajnu uspeha... imam ključ... bagovi... da, bagovi su ključ svega... bagovi pokreću industriju... bagovi generišu zaradu... bagovi pokreću čoveka... bagovi su blagoslov... bez bagova život ni ne može da postoji... to je to... to je moja sledeća i poslednja želja...", a onda se okrenuo ka ribici i rekao - "Želim da osnujem veliku kompaniju i napišem najbagovitiji softver koji je svet ikada video i koji će videti... ali da taj softver koristi ceo svet... e da, i hoću novo ime, neko zvučno ime... ". Ribica mirno odgovori "Ok, od danas ćeš biti poznat kao Bil Gejts, a naziv softvera i kompanije ostavljam tebi.". Bil se zadovoljno osmehnu i pogleda kroz prozor.

No comments: