Citat:
Odin D.
Skole sam spomenuo u kontekstu mog prvog javljanja, a sto se odnosilo na 'promjenjivost' uslova na trzistu programiranja, i primjere koje sam navodio sam navodio kao ilustraciju da se stvari mijenjaju i jedino u tom kontekstu ima smisla to sto sam rekao, a ne kako ovo danas nevalja.
Jasno je da se stvari menjaju kako svuda tako i u softverskom inzenjeringu i informatici.
Medjutim, ima jedna interesantna stvar: za sada, informatika iz nekih razloga i dan danas ima slicne probleme kao pre 20-30-40 godina.
Jedina razlika je u kolicini racunarske snage dostupne za neki posao i dostupnim okruzenjima. Problemi su manje-vise isti. Samo ih ima vise u obimu zato sto je moguce resiti ih vise zbog razvijenosti tehnike i sw. okruzenja.
Recimo, jedan primer: u proteklih 2-3 godine je hit paralelno programiranje, pogotovu preko GPGPU-ova koji se koriste za ubrzanje podesnih stvari u grafici, masinstvu, hemiji, bioinzenjeringu, molekularnoj biologiji, nuklearnoj fizici, medicini itd... Ako je neki problem podesan za GPU (citaj: mozes da ga razbijes na vise stotina paralelnih pod-procesa), mozes dobiti ubrzanja koja su trocifrena u odnosu na CPU, sto je do skoro bilo necuveno za jednu generaciju tehnologije. Trocifrena ubrzanja nisu maciji kasalj zato sto ih je nemoguce nadomestiti prostim oslanjanjem na Murov zakon, osim ako nisi spreman da cekas 7-8 godina sto je u industriji neprihvatljivo.
E vidi sad, problemi koji su ispred inzenjera koji treba da raspise nesto za GPGPU su isti problemi koji su morili nekog PhD-a pre 30-40 godina na univerzitetskom superracunaru.
Jedino sto danas svako u kuci i ma GPU koji je jaci od tog superracunara i sto danas taj problem resavaju gomile softverskih inzenjera na poslu u svakodnevnim problemima dok je to pre 30-40 godina bilo rezervisano za istrazivace nekolicine vodecih instituta na svetu.
E sad ide najbitniji deo: problematika je ista. I danas, bas kao i pre 30-40 godina, ne postoji kompajler koji ce tvoj serijski algoritam paralelizovati i ustedeti ti posao. Svake bogovetne godine vec vise decenija u nazad se ispuca boga pitaj koliko doktorskih disertacija o automatskoj paralelizaciji, ali svi ti PhD-ovi rade sa ogranicenim "lab" primerima. Cim im das nesto komplikovanije,
zaboravi. Kompajler ti nece pomoci - zbuni ga malo drugacija petlja, a kamo li spagetti-kod pisan godinama/decenijama.
ZATO su danas dobri sw. inzenjeri i dalje placeni ogromne pare, zato sto ni dan danas ne mozemo da ih zamenimo robotima ili kompajlerima.
I zato su kursevi sw. inzenjerstva i informatike sa istim osnovama danas kao i pre 30 godina.
Zato sto su te osnove i dalje neophodne.
Slazem se da ce mozda jednog dana biti moguce dati high-level problem nekoj vestackoj inteligenciji koja ce ocas posla da razbije taj problem i implementira ga na konkretnoj arhitekturi i da buduci inzenjeri nece morati da znaju vise nacina da implementiraju f*ckin spinlock.
Veruj mi ja bih bio svakako vrlo zadovoljan da tako nesto postoji i da lepo samo kupim licence za taj magicni kompajler umesto da placam skupe sw. inzenjere.
Ali taj dan, bar danas, je u neizvesnoj buducnosti i, u najmanju ruku, daleko od nas.
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