tema: C++
Prikaz jedne poruke
Stara 10.4.2008, 13:30   #68
VojaM
Ad Ministrator
 
Avatar korisnika VojaM
 
Član od: 19.8.2005.
Lokacija: Beograd, SK
Poruke: 7.280
Zahvalnice: 29
Zahvaljeno 3.041 puta na 1.544 poruka
Određen forumom Re: C++

Ono što mnogi danas ne shvataju jeste velika razlika između toga da li se neko programiranjem bavi iz hobija (zato što misli da treba i to znati, zato što je video da se njegov ortak iz razreda time bavi, zato što je to cool ili zato što misli da će da namlati mnogo para za kratko vreme) ili zato što mu je to posao.

Vremena kada je svako mogao da se amaterski bavi programiranjem na nivou kao što je to bilo u vreme 8-bitnih i prvih 16-bitnih (Atari ST, Amiga) kompjutera sada su, nažalost, prošla.

A što se tiče načina programiranja, upotreba dijagrama toka (a to NIJE algoritam, algoritam je nešto drugo) i svih "dosadnih" džidža-bidža tu stvari stoje kao u odnosu prema proizvodu zanatlije i istom tom proizvodu iz fabrike. Zanatlija se može oslanjati na dugogodišnje iskustvo i veštinu i, naravno, nije obavezan nikom da ostavlja uputstvo za proizvodnju takvog istog ili sličnog proizvoda, ali zato pravi taj proizvod mnogo duže nego i fabrici (možda i kvalitetnije), a ako hoće da ima naslednika, taj mora da šegrtuje mnogo godina dok ne bude sve imao u prstima kao i majstor. Ako pak treba da praviš neki proizvod tako da je dovoljno kvalitetan, ali da bude brzo proizveden (tj. da rad ima veću produktivnost, što je broj proizvoda u jedinici vremena), onda se proces razbija u mnogo manjih potprocesa, za veći deo njih angažuju se mašine (pa čak i roboti), radi se na pokretnoj traci i na kraju se sklapa proizvod iz delova.

E, tako vam je isto sa amaterskim/hobističkim/inženjersko-naučnim programiranjem i profesionalnim programiranjem. Ili ćeš da učiš sve živo, probaš, kradeš fazone i vežbaš godinama - pa ćeš sve imati u prstima, neće ti trebati algoritamske šeme ni dijagrami toka, ali ćeš pisati program relativno dugo i samo ćeš ti moći da se snađeš ako bude trebalo da se nešto menja (ili nećeš ni ti moći); program će biti optimizovan i "upicanjen" najbolje što može i koristiće se uglavnom namenski, a kad bude zatrebalo nešto da se menja, uglavnom se nikom neće isplatiti da kopa po tom programu ili da pokuša da te nađe. S druge strane, ako se zaposliš u specijalizovanoj firmi kao član tima programera-profesionalaca, razvijaćeš samo deo koda, dobro ispitanim metodama, uz sva pravila koja se u školi uče (dijagrami toka, obavezni komentari, obavezna dokumentacija), kompletan paket sklopiće sistem-integrator, a za projekat će biti zadužen i odgovoran sistem-projektant; kada nekad bude potrebno da se nešto izmeni, zbog promene zakona, promene parametara ili bilo čega (to se, u robnom maniru, zove "održavanje programa"), iz dokumentacije će se lako naći koji modul treba da se izmeni, iz komentara će se videti šta konkretno treba da se menja, a pošto je modul pisan čisto i jasno, izmene će se lako izvršiti.

Zanimljivo je, recimo, da mnogi (pa i ovde na forumu) ne mogu da zamisle zaista komplesan programski paket, pa zato pričaju da "ko ne može u glavi da zamisli program, taj nek ide pa se igra". Moja sestra u Kanadi, recimo, radi kao projektant za programske pakete za državnu upravu. Šta mislite, koliko traje samo priprema (projektovanje, podela posla), pa zatim samo kodiranje, implementiranje logičke kontrole (veoma zanemarene u domaćim programerskim krugovima), testiranje i na kraju instalacija sistema? Prošle godine su radili obiman sistem za platni promet u jednoj velikoj banci - i to je trajalo celih 6 meseci. Pa još obuka korisnika, ispravljanje bagova, dodatne provere i ispravke - još 3 meseca. E, to ne može da stane "u jednu glavu, bez algoritma"... mora se upotrebiti mnogo glava...
VojaM je offline   Odgovor sa citatom ove poruke