Kad već govorimo o tome šta treba učiti moje lično mišljenje je da trenutno postoje dva jezika vredna truda: Java i C# pa ako si privrženik MS proizvodima onda svakako odaberi C# (i plati im sve što ti traže) a ako te interesuje multiplatformnost onda jedino Java.
Izvinjavam se na dužem postu ali se bavim obukom programera više od 11 godina pa me bocne kad početnik učini pogrešan korak zbog kog bi kasnije odustao od programiranja.
I za pocetak i za kraj C/C++, 99 % softvera za Linux(a bogami i za Windows) je pisano u nekom od ovih jezika(C je vise za kernel i za drajvere a moze i za GUI(GNOM) a C++ kao moderan OO jezik za savremene GUI aplikacije - KDE,BLACKBOX itd.).
A sto se tice ovoga sto JMateja kaze treba imati u vidu par stvari.
Ukoliko se koristi .NET platforma nije bitno koji se programski jezik koristi jer se
kod prevodi u IL (takozvani Intermediate Language - slicno kao javin bytecode)
a on se posle pomocu CLR(Common Language Runtime) prevodi u instrukcije
procesoru(slicno kao javina virtualna masina),tako da kod iz bilo kog programskog jezika ce na kraju postati IL - dakle performanse ce biti iste.
U stvari .NET i Java su veoma slicni po filozofiji a jedna od glavnih zamerki je
sporost, da li se neko zapitao zasto je Microsoftu potrebno ovoliko vremena da
zavrsi Longhorn(koji ce biti .NET baziran) , pa ne prave oni toliko dobar OS da im je potrebno 6 godina nego jednostavno cekaju da se pojave novi brzi procesori gde se sporost .NET-a nece primetiti pa i onda cini mi se da ce kljucni
software za windows(Office,Photoshop,igrice itd) biti pisani u C++(Unmanaged).
Eh sad sto se Jave tice situacija je jos gora - spora je do zla boga(i to nazalost narocito na Linuxu), jedina stvar koja moze spasiti Sun od propasti je da proizvodjaci procesora pocnu implementirati podrsku za Javu(virtualnu masinu - a mozda i virtualni sex jednog dana ko zna) na hardware nivou sto se trenutno i desava kod Java mobilnih telefona - pa tako ako planirate da pisete software za mobilne onda ucite Javu a za sve ostalo sumnjam da ce se situacija ikad poraviti(treba imati u vidu da je i Linux sve jaci na polju mobilnih uredjaja)
Dakle na kraju zakljucak bi bio sledeci.
Za pisanje savremenih aplikacija(GUI obavezan) treba po meni koristiti C++ uz
koriscenje Qt graficke biblioteke i dobicete :
1 : Brze( dakle binarni kod a ne nikakav bytecode uzasno losih performansi),
2 : Portabilne( MS/Windows -- 95, 98, NT 4.0, ME, 2000, and XP ,Unix/X11 -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX, IBM AIX, SGI IRIX ,Macintosh -- Mac OS X itd.) - napisi jednom kompajliraj bilo gde,
3 : Citljiv kod(Qt sintaksa je savrsena, kod je izuzetno citljiv i lak za razumevanje( mislim da je citljiviji i od VB6 koji je po tome poznat) za razliku od Jave i .NET-a, pazite samo na ovu .NET "kobasicu" - My.Computer.FyleSystem.GetFileInfo("c:\test.txt") meni je ovo bljak mada se o ukusima ne raspravlja)
Uz to treba reci i da ce od Qt4 Trolltech izbaciti dual GPL licencu tako da ce biti moguce raditi open source programe i za Windows OS.
U svakom slucaju onaj ko nauci C++ naucio je i 90% Jave.
TrollTech Rules
