Programiranje je delom zanat.
Odnosno ima izuzetnih slicnosti sa zanatom.
Praksa je nezamenljiva kod programiranja.
Posto za programiranje sluze programski jezici, mozemo to delimicno uporediti sa sledecim slucajem:
(kazem delimicno posto programiranje nije samo upotreba programskog jezika, ali je ta upotreba
svakako neophodna)
Neko ko je zavrsio neki jezik na fakultetu (recimo engleski) i neko ko aktivno govori taj jezik.
Pitanje je da li ce osoba sa zavrsenim fakultetom uspeti pravilno da izgovori rechenicu i
opet sa druge strane osoba koja aktivno govori taj jezik ce ispravno i izgovoriti i formirati
recenicu ali nece znati recimo koje vreme i zbog cega je upotrebljeno (cesto nece znati
ni kako se zove to vreme).
Fakultet kao takav nije, po mom licnom mishljenju, uslov za dobrog programera. Znanje jeste.
Nazalost fakultet i znanje nisu sinonimi. Ako je neko zavrsio fakultet ne znaci i da poseduje
znanje potrebno da bi se taj fakultet zavrsio, a josh manje da to znanje zna da upotrebi.
Da bi neko postao dobar programer, a moji standardi za naziv dobrog programera su malo
vishi nego kod drugih ljudi, bar mi se tako cini, po mom licnom misljenju potrebni su sledeci
preduslovi (ne neophodni a ni dovoljni):
- nadprosecna logicka inteligencija (ne mora IQ biti 150+, ali sto je pomak od proseka veci, to su i shanse bolje)
- jako dobro poznavanje matematike (IQ iznad proseka je i ovde bitan faktor)
- 10+ godina bavljenja programiranjem (ovde se racunaju i sami pocetci tipa: 10 print "hello world!", od neceg se mora
poceti), ovde bih naglasio da je sa profesionalnog aspekta bolje "sto pre poceti" - neki period u osnovnoj skoli ili pocetak srednje.
- izrazito visoka zelja za znanjem, odnosno interesovanje za materiju
- siroko opste informaticko obrazovanje (stice se u tih prvih 5-10 godina)
- odlicno vladanje engleskim jezikom (ja licno znam jako malo programera koji ne znaju engleski jezik - ne cak ni ne znaju, pre slabo vladaju jezikom)
zbog interneta i mnostva literature na tom jeziku kao i cinjenice da je to dominantan jezik informatike
- posvecenost i upornost (ovo ne mora biti generalna osobina pojedinca a moze proisteci i iz velike zelje za znanjem, jednostavno nekom to
moze biti dovoljno interesantno da zeli posvetiti mnogo vremena tome)
Kao sto sam vec rekao, ovo je moje licno vidjenje stvari, bazirano na mom iskustvu.
Ova tema nije nimalo naivna.
Kako postati programer?
Malo dublje mozgajuci o tematici dolazim do zakljucka da su ljudi koji su postali programeri uporedo sa ekspanzijom informacionih tehnologija
u poslednjoj cetvrtini proslog veka bili u izuzetno dobroj poziciji.
U ono vreme je bilo mnogo jednostavnije. Imate go racunar, c64 u mom slucaju. Basic je tu, ideja : sta ovo chudo moze da radi kada
ne izbacuje "loading error" se vrlo lako rodi. Uz malo truda tu je i neka knjiga o osnovama c64 i ostatak je trud.
Tada ljudi nisu bili bombardovani terminima tipa IDE, .NET, RAD, Java, OOP, SDK da ne nabrajam dalje (a moram priznati da sam u glavi provrteo
bar jedno 50tak skracenica za kojekakve tehnologije vezane za programiranje)
Ne znam da li je iko to pomenuo ili predlozio u ovom threadu, mozda su najbolje reshenje za sam pocetak ucenja programiranja
neke kombinacije tipa:
command prompt, notepad, free pascal ili gcc, eventualno java (evo sam se sad ugrizao za jezik kad sam pomenuo javu, pa stoga mali
offtopic , ali da li se neko moze nazvati dobrim i ozbiljnim programerom ako nema kontrolu nad alokacijom/dealokacijom memorije i to mu ne smeta? :D )
Da dodam josh jednu sitnu konstataciju (opet moje licno misljenje)
Za dobrog programera je veliki plus ako se dotakne assemblera u nekom periodu ucenja programiranja, cisto zbog profilisanja nacina misljenja.