Citat:
masetrt
Ali ako hoces da se bavis inzinjerskim ili naucnim poslom MATEMATIKA JE NEOPHODNA i to bar inzenjerska matematika. Ne kazem da je nju neophodno nauciti na faksu (jel se jos koristi ovaj izraz kod omladine :) ), ali je svakako najlakse zato sto ima neko ko moze da ti objasni metodologiju pristupa problemu.
Fora je u tome sto dosta (jako dobar deo) trenutnih IT programerskih poslova ne spada u inzenjerske i naucne poslove, a ne samo "bazasi". Mogu da primetim da mnogi ljudi zele da trivijalizuju te "ne-inzenjerske" poslove na "select from" stvari, sto je vrlo netacno i cenim da uopste ne doprinosi boljem razumevanju problematike (za sta je potrebna "inzenjerska matematika" a za sta ne)
Evo nekih grana danasnje IT industrije gde za programiranje nije potrebna doticna:
- Implementacija korisnickih interfejsa - posla koliko hoces, plate OK (ne, za gradient fill nije potrebno znanje matematike, postoje f-je ;-)
- Web development - opet, posla koliko hoces, plate OK
- Sistemsko programiranje - posla manje nego za gore dva, ali dobro placen (IPC, threading, ...)
- Drajver programiranje - nije za ljude, ali dobro placeno
- Real Time industrijsko programiranje (I/O, mikrokontroleri, itd..) - isto
Moje misljenje je da ljudi koji hoce da postanu sw. inzenjeri ili "racunarski naucnici" (Computer Science, inace mislim da doticna treba da izumre ;-) svakako znaju da im je inzenjerska matematika vrlo verovatno neophodna. Mozda gresim, ali cenim da ljudi koji postavljaju ovakve teme ne zele da postanu sw. inzenjeri / comp. scientisti.
Sto se inzenjera tice - tacno je, inzenjeri su znacajno vise placeni (u proseku) od programera - i ako neko ima ambicije svakako treba da postane sw. inzenjer a ne da ostane na nivou "obicnog" programera. Medjutim, fakat je da u statistickoj distribuciji ljudi zainteresovanih za programiranje vecina verovatno to ne zeli. Takav je trend danas, nije niko od nas "kriv" za to - "kriva" je industrija koja se danas krece u jednom specificnom pravcu.
Citat:
Slicna je i situacija kad pitas nekog ko radi na razvoju algoritama sta misli o game programerima reci ce: "lopovi kradu tudje ideje". Pa sad gledaj na kojem delu programerskog lanca zelis da budes
?!?!? "Lopovi kradu tudje ideje" ? Game Programeri? Zanimljiv pogled na svet, znaci inzenjeri koji implementiraju lasere kradu Ajnstajnove ideje? Sta bi tek rekao Kurt Gedel iz Nedeljkovog posta da je ziv i da tako razmislja :)
Uostalom zasto bi nekog trebalo da bude briga sta misle "ljudi koji razvijaju algoritam" o njegovom poslu?? Valjda je 10000x bitnije sta ti sam mislis o svom poslu (osim ako ti bracni partner nije "razvijac algoritama" ;-) ?!
Citat:
ko pak imas neki loop od 50tak linija koda i provalis da u toj funkciji ti poziv funkcije asin() oduzima 70% procesorskog vremena e tu dolazimo do problema. Sta ces da uradis da dreknes lead programeru "e care aj zovni opet onog tvog matematicara zapelo mi kod arkus sinusa mnogo mi proc vremena jede"
Ako nisi sam implementirao algoritam, vrlo verovatno neces biti TI taj koji treba da ga optimizuje ni na koji drugi nacin osim na direktnim optimizacijama bez algoritamskih - jer algoritmi obicno imaju odredjene zahteve koji se postavljaju pred dizajnera algoritma. Naravno ako si u stanju da algoritamski optimizujes takav kod to je veliki plus, ali nije nuzno potreban na "obicnom programerskom poslu". Algoritamsku optimizaciju ces raditi ako i samo ako si sw. inzenjer zaduzen za algoritam - sto mu dodje 1 na 5 ili 1 na 10 ljudi u bilo kom timu.
Ako si "obican programer" - ucitaces PDF verziju Intel Processor Manuala i videti koliko klokova arcsin zauzima, i videti da li postoji alternativa na, IA32 arhitekturi - ima i interesantnih aproksimacija raznih trigonometrijskih funckija na
www.musicdsp.org (naravno, raspitaces se za zahteve preciznosti).
A gde je usko grlo ces utvrditi koriscenjem profajlera. Klasicni ne-algoritamski optimizacioni koncepti tipa loop-unrolling, vektorizacija, optimizacija upotrebe kesa i sl.. nisu nesto za sta je potrebna bilo kakva matematika osim one iz osnovne skole.
My point exactly? Lepo je da znas da algoritamski optimizujes kompleksan kod koji ukljucuje trigonometriju, vrlo verovatno ces biti i bolje placen od onih koji to ne umeju - ali svakako to nije "neophodno" da bi bio u "programerskom poslu" - sto je valjda pitanje :)
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos:
http://www.digicortex.net/node/17 Gallery:
http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! -
https://github.com/psyq321/PowerMonkey