Sekcije kursa

Uvod u programiranje

Programiranje i kodiranje

Programiranje i kodiranje – zar to nije isto? Najveći broj ljudi pogrešno smatra da je programiranje i kodiranje jedno te isto. Produktivnost jednog programera ne meri se brojem linija koda koje otkuca tokom dana. Ima dana kad programeri ne pišu kod i neko ih plaća za to?!! Slično kao kada pisac pre nego što krene da piše knjigu potroši puuuno vremena u razmišljanju i onda napiše knjigu u kratkom roku, tako slično i programeri programiraju, a da ne pišu kod. Šta oni u stvari rade? Prva stvar je da postave i analiziraju problem za koji pišu program. Zamislite da treba da napišemo program koji će da računa kamatu na efektivnu i nominalnu kamatnu stopu. Prva stvar koju ćemo da uradite je da pokušamo da saznamo šta je to. Sledeći korak je da napišemo algoritam. Najjednostavnije objašnjenje algoritma je da je to “recept za program”, a malo formalnije možemo reći da je to konačan skup koraka koje treba izvršiti da bi se rešio neki problem. Pisanje algoritma je najkreativniji posao u celom procesu programiranja. Ako je problem kompleksan može se rešiti na više načina – svako rešenje ima drugačiji algoritam, a za svaki algoritam može da se napiše  odgovarajući program. Nakon odabira algoritma, pišemo kod (tek sad stižemo do kodiranja!!!). I kad napišemo kod, tu nije kraj, moramo da proverimo (testiramo) da li naš program radi. I za to nije dovoljno testirati na jednom primeru. Niko ne želi greške u programu koji koristi. Zamislite da smo zaboravili da testiramo izračunavanje nominalne kamatne stope i da se ona ne izračunava dobro? Zamislite da neko koristi naš program s greškom i da ta greška bude “teška” puno nula. Ne bismo još dugo bili programeri. Zato svaki ozbiljniji tim programera ima jednu osobu koja se bavi testiranjem softvera i čiji je zadatak da pronađe bug-ove (greške) u programu i koje će ih prijaviti programeru pre nego što se izvršna verzija programa bude izvršavala u realnom okruženju. Nakon toga programer ispravlja greške i ponovo daje program na testiranje. Ovo je iterativan proces i može da traje jako dugo.