Citat:
Pa, mnoge od tih osnova mi nikada nisu trebale. Banalan primer - linked list. List<T> (dynamic array) je ono sto mi je uvek zavrsavalo posao. Eventualno da kazemo da bi mi trebalo da znam prednosti i mane izmedju List<T> i LinkedList ali implementacija - jok (druga je stvar sto znam da implementiram kao i druge stvari, nije mi trebalo).
Zanimljiv primer (pretpostavljam da si mislio na ArrayList vs LinkedList, dve implementacije List interface-a u Javi). Ja to cesto pitam juniore na intervju-u, i obicno ne znaju, i onda ima malo pomognem i sete se i struktura podataka i sta je u kom slucaju bolje. Ono sto mi je neverovatno da retko ko poveze tu naucenu teoriju sa ovako nekim konkretnim primerom, btw Java collections API je pun primera primene raznoraznih algoritama i design patterna.
Gro ljudi koji radi kod nas (cca 250) su fakultetski obrazovani, mislim preko 90%, ogromna vecina ETF/PMF. Kao juniori najbolje prolaze ljudi sa relevantnih fakulteta (pre evga FTN/NS), najbze napreduju kasnije - naravno uvek ima izuzetaka, ovo je na bazi mog iskustva (ne znam ni sam sigurno, bar 200-300 intervjua u poslednjih 5-6 godina, preko 70 ljudi koji su kod mene prosli tehnicki intervju i sa dosta njih kasnije sam i radio, obucavao). Cinjenica jeste da je potraznja velika a samim tim i pritisak da se vise zaposljava, mogucnosti za instant skolovanje jos vece - videcemo kako ce to ici. Ja licno verujem u formalno obrazovanje u ovoj sferi, mada znam nekoliko sjajnih strucnjaka koji nikada nisu zavrsili fakultet (mahom poceli) ali isto znam da su isti sedeli dan i noc da bi usvojili vestine koje imaju. No, ovde pricamo o velikim brojevima a ne o izuzecima, mada je pitanje koliko je moje isustvo relevantno.
Sto se tice TIOBE indexa, ja ga pratim dosta unazad i C/Java su na prva 2 mesta poslednjih 10 tak godina. Mene licno cudi pozicija za Objective-C, mislim jasno mi je da dosta ljudi razvija za iOS ali opet :) mada ovo je "popularity" index, tako da mozda moze da se gleda i u tom svetlu.
Ja sam poceo karijeru sa C/C++, pre nekih 7-8 godina sam se prebacio na Javu. Ono sto se mora odati credit Sun-u ranije a Oraclu sada je da se dosta trude da zadrze backward compatibility, sto na nivou jezika, sto na nivou same platforme (JVMa). Nemojte smetnuti sa uma da Java sledece godine puni 20 godina, pre manje od mesec dana Java 8 je postao GA, a on nam donosi najvece promene u samom jeziku od 5-ice. U konktekstu vremena kada je nastao je uspeo da se nametne kao relativno cist, moderan OO jezik baziran na C-u, mislim da je napravljen solidan kompromis i da tome duguje popularnost. Cenim da ce biti pri vrhu i u narednim godinama, te ima moju preporuku za nekoga ko je na pocetku karijere. Jos nesto, cini mi se da Java ekosistem od pocetka forsira pricu o designu software-a (design patterns, best practices), tako da se obicno i programiranje moze dosta dobro usvojiti posto sam community dosta insistira na tome.
"The most likely way for the world to be destroyed, most experts agree, is by
accident. That's where we come in; we're computer professionals. We cause
accidents." - Nathaniel Borenstein