Deo zbornika Učimo Javu

Kratka istorija Jave

Java je objektno-orijentisani programski jezik, koji je razvila kompanija Sun Microsystems početkom 1990-ih godina. Koristi se u razvoju softvera za najrazličitija platformska okruženja. Podrazumevani je jezik u izradi mobilnih aplikacija za Android uređaje.

Java je srodnik jezika C++, koji je direktan potomak jezika C. Veći dio svojih osobina Java je naslijedila od ova dva jezika. Iz jezika C Java je preuzela sintaksu. Mnoge od objektno orijentisanih osobina Jave nastale su pod uticajem jezika C++. U stvari, više karakteristika koje definišu Javu potiču od njenih predhodnika ili su nastale kao odgovor na njih. Nastanak Jave ima duboke korijene u procesima poboljšanja i prilagođavanja koja su se tokom posljednjih decenija odvijali na polju programskih jezika.

Nastanak Jave

Krajem osamdesetih i početkom devedesetih godina, objektno programiranje na jeziku C++ uzelo je maha. I zaista, za trenutak je izgledalo da su programeri konačno pronašli savršen programski jezik. Pošto C++ objedinjuje visoku efikasnost i stilske elemente C-a sa objektno orijentisanim pristupom, mogao se koristiti za pravljenje široke lepeze programa. Međutim baš kao toliko puta u prošlosti, ponovo je narasla potreba da se računarski jezici pomaknu za još jedan stepenik u svojoj evaluaciji.

Javu su prvobitno 1991. godine koncepirali James Gosling, Patrick Naughton, Chris Warth, Ed Frank i Mike Sherdian, iz korporacije Sun Microsystem. Trebalo je 18 meseci rada da bi se došlo do prve radne verzije. Ovaj jezik je prvobitno dobio ime “OAK” ali je on 1995. godine promijenjen u “Java”. U periodu od prve realizacije OAK sa jeseni 1992. godine i zvaničnog najavljivana Jave 1995. godine još mnogo osoba je doprinijelo u oblikovanju i razvianju ovog jezika. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin i Tim Lindholm bili su glavni saradnici na usavršavanju prvobitnog prototipa.

Motivi za razvoj Jave

Osnovni motiv za razvoj Jave je bila potreba za jezikom nezavisnim od računarske platforme (tj. neutralnim u odnosu na arhitekturu), koji bi se mogao koristiti za pravljenje softvera namijenjenog različitim elektronskim uređajima u domaćinstvu: kao što su mikrotalasne pećnice i daljinski upravljači. Kao kontroleri ovakvih uređaja se koriste različiti tipovi procesora. Problem sa jezicima C i C++ (kao i sa većinom drugih jezika), leži u tome što se pri prevođenju u binarni oblik oni moraju usmjeriti na određeni procesor.

Iako se program pisan u jeziku C++ može prevesti za bilo koji procesor, za to je potreban potupun prevodilac namijenjen konkretnom procesoru. Teškoća je u tome što su prevodioci skupi i teško se prave. Očigledno da je bilo potrebno lakše i bolje rješenje. U pokušaju da dođu do njega, Gosling i ostali su počeli da rade na prenosivome jeziku koji ne zavisi od platform i čiji bi kod mogao da se izvršava na različitim procesorima i u različitim okruženjima. Ovi napori su konačno doveli do rađanja Jave.

Java i razvoj interneta

Pošto se većina korisnika računara svrstava u tri konkurentska tabora: INTEL, MACINOTSH i UNIX, najveći broj programera se zadržavao unutar svojih utvrđenih granica i potreba za prenosivim kodom izgubila je svoj primarni značaj. Međutim, sa razvojom interneta, stari problem prenosivosti ponovo se pojavio u punoj snazi. Internet predstavlja raznoliki, distribuiran univerzum ispunjen mnogim vrstama računara i procesora. Na internet su priključene mnoge različite platforme, a korisnici bi željeli da nad svim može da se izvrašava isti program. Ono što je jednom bilo neugodan ali malo značajan problem, postalo je problem koji je pod hitno trebalo riješiti. I 1993 godine članovima tima za razvoj Jave postalo je jasno da se problem prenosivosti, s kojima su često sretali pri programiranju koda za kontrolore elementarnih uređaja, pojavljuje i pri pravljenju koda za internet – samo u velikom obimu. To je prouzrokovalo da se fokus primjene Jave pomjeri sa kućne elektronike na programiranje za internet.

Dakle, premda je želja za ostvarenje programskog jezika koji ne zavisi od platforme bila početni motiv, za uspjeh Jave na visokome nivou zaslušniji je internet. Za programiranje za internet Java predstavlja ono što je bio C za sistemsko programiranje, revolucionarnu snagu koja je izmijenila svijet.

Uspjeh Jave bio je toliki da ga je nemoguće ignorisati.

Izvor: Programski jezik Java, Bilješke sa predavanja Muzafera Saračevića, Novi Pazar, 2015.