Citat:
deerbeer: @milanche
Nikada ne bih davao nekom junioru da radi tako nesto, ne zato sto nece znati nego zato sto ima ohoho za nauciti pre toga ,
a to je upravo ovo sto je @Nedeljko naveo i to se stice samo na realnim i konkretnim programima koje dobije kao zadatak.
Sa takvim iskustvom definitvno posle dolazi i napredni pristup u resavanju problema, samostalno definisanje dizajna i arhitekture programa
od UI-ja pa do najnizeg nivoa koliko god on nizak bio ;) kao i svi moguci nacini i scenariji koji postoje kod debagovanja .
Tek kad to apsolvira onda moze kao "dzomba klincima da prodaje fore" kako da tvikuje linker i kompajler da bi dobio nekih 4-5% boljih performansi
ako do te prilike uopste i dodje.
Hmmm....donekle se razilazlimo u misljenjima.
Imati jasnu predstavu o tome sta je kompajliranje a sta linkovanje, sta je staticka a sta shared biblioteka su stvari koje
u principu nisu komplikovane, niti bi ih vezivao za neki uzrast zrelosti u programiranju.
Prvo, ja bi ih licno razbistrio kod pocetnika radije ranije nego kasnije.
Drugo, dovoljno su zasebne da ne postoji opasnost da ucis 'prvo ovo, zatim ono' tj. 'cart before the horse'. Sta god da ucis naredno,
mozes slobodno time da se bavis, nece nista da smeta. Stvar je licnog izbora da li ce da narednih par meseci da odvoji da savlada recimo
mrezno programiranje ili kompajler/linker pitanja, i ne smeta da ide kojim god hoce redom.
Trece, za neko realno programiranje (pogotovo na Linux-u, gde ce masu puta morati da razresava dependencies i traga za bibliotekama
koje su potrebne a nisu tu ili su tu a verzija nije odgovarajuca...ako vec ne na Windows-ima gde sve ceka spremno u sistemu i masa uputstava
stize u formi gotove dokumentacije), te vestine su potrebne gotovo od prvog dana.
Dakle ne govorim o "prodavanju fora klincima" i "tvikovanju linkera", nego o "hlebu nasusnom" - hoce li uopste program moci da kompajlira
i pokrene. Cinjenica je da se na Windows-ima moze dosta radnog veka proziveti (bazirano na svom licnom primeru) da te ta i slicna pitanja
ne doticu, medjutim, na Linux-u izuzetno brzo dolaze na dnevni red, bez obzira da li se radi o licnom dizajnu, ili o naslanjanju na postojecu
kvotu necijeg koda. Misljenja sam da poznavanje tih stvari ne predstavlja fenseraj, nego realnu potrebu bez kojih se ne moze preziveti ni par
meseci u struci. Nekoliko puta sam video da pravo razumevanje pojmova u toj oblasti moze da ustedi i po 4+ sati kompajliranja kojecega.
Cetvrto, ako ce po prirodi stvari pre ili kasnije da krene da misli u terminima 'modularnosti' (moduli, instancioniranje prema potrebi, objekti, pa C++...),
znatno moze da koristi da bar u grubim crtama shvati ideju shared biblioteka/plugin-ova itd itd.
[Ovu poruku je menjao milanche dana 02.04.2012. u 20:05 GMT+1]