 |
| |
Maja Pešić
Kako je nastala JAVA? |
|
Java
je, kao i svaki programski jezik, nastala kao odgovor na nedostatke
dotadašnjih programskih jezika u odnosu na nove zadatke koje razvoj
okruženja i pojava novih primena softvera postavlja programerima.
Pojavljivanje novog programskog jezika pritom sa sobom nosi nove koncepte
koji poboljšavaju, inoviraju i olakšavaju programiranje. Nijedan programski
jezik, pa ni Java, nije u potpunosti nov i nezavisan od svojih (više
ne tako efikasnih) prethodnika. Svaki programer koji vlada C++-om
i Javom svedok je njihove povezanosti. Imajući u vidu da je C++ nastao
na osnovu C jezika, možemo naslutiti stablo porekla Jave: Java je
blizak “rođak” jezika C++ koji je direktan “potomak” jezika C.
Karakteristike Jave se mogu svrstati u tri grupe:
- karakteristike koje predstavljaju nasleđe “dobrog” iz C-a i C++-a;
- karakteristike koje su rezultat poboljšanja ova dva jezika, i
- potpuno novi koncepti nastali kao odgovor na nove pojave u okruženju
i
pojavu novih tehnologija.
Osobine svakog programskog jezika leže u kompromisima postavljenim
na sledećim relacijama: proširivost programskog jezika u odnosu
na krutost primene pravila, zatim pouzdanost u odnosu na efikasnost
i, na kraju, jednostavnost programiranja u odnosu na moć programskog
jezika. Svet programskih jezika pre C-a odiše varijetetom kompromisa
postavljenih između ova tri para međusobno suprotstavljenih osobina.
Jezici koji su predhodili C jeziku - FORTRAN, COBOL i BASIC nisu
bili strukturni programski jezici – oni su se oslanjali na naredbu
GOTO. Rezultat su bili nepregledni, nerobustni “špageti” programi.
Sistemsko programiranje poredstavljalo je još jednu teškoću programerima
koji su na raspolaganju imali samo ove programske jezike.
C jezik
Početkom sedamdesetih godina potražnja za softverom porasla je
iznad mogućnosti programera da softver isporuče korišćenjem nestrukturnih
jezika, dok je hardver konačno postao pristupačniji. Do pojave jezika
C, programski jezici su nastajali pod uticajem birokratskih i akademskih
institucija, a sada su oni koji jezike koriste (sami programeri)
mogli da rade na njihovom stvaranju, koristeći pri tome vlastito
znanje i iskustvo. Prednosti jezika C proističu iz činjenice da
su ga pisali programeri za programere. Konačno, krajem 1989. američki
Nacionalni institut za standardizaciju (American National Standards
Institute-ANSI) usvaja standard za novi programski jezik C. Rodio
se strukturiran, moćan i efikasan jezik, koji se pritom lako uči
i efikasan je u pisanju sistemskih programa.
C++ jezik
Iako se činilo da su sve nedoumice rešene, posle perioda “C groznice”,
istorija je podsetila na svoju osnovnu karakteristiku - ponavljane.
Zahtevi koje je softver trebalo da ispuni su narasli, a sa njima
se još jednom javio stari problem - složenost programa. Kada su
programi dostigli veličinu od 25 000 i više linija koda, ni “magični”
strukturni C nije mogao da reši njihovu složenost. Sledeći korak
koij je načinjen u programiranju je rešio problem složenosti strukturnog
programa veličine i do 100 000 linija koda. Programiranje je zauzelo
novu tačku gledišta: objektno orijentisano programiranje (Object
Oriented Programming- OOP). Jezik C++ nije nastao kao novi, u potpunosti
drugačiji programski jezik. Išlo se ka tome da se se iskoriste sve
prednosti jezika C. Rešenje je došlo u vidu jezika koji nasleđuje
pogodnosti C-a, ali se koncipira na novim principima objektno orijentisanog
programiranja. Naziv novog jezika, proširenog i poboljšnog C-a je
C++ (operator ++ je operator inkrementacije u C-u). Programski jezik
C++ postaje standard 1997. godine,.
JAVA
Novi programski jezik dobio je 1995. godine ime “Java”. Međutim,
ova godina nije godina nastanka Jave. Ona je nastala još 1991. godine
u kompaniji Sun Microsystems, Inc, pod imenom “Oak”. Četiri godine
kasnije splet okolnosti je nametnuo potrebu promene imena programskog
jezika i Oak dobija ime po, verovali ili ne, vrsti kafe! Ukoliko
ste se ikada pitali zbog čega je logo Jave šoljica kafe, eto vrlo
jednostavnog objašnjenja. Internet nije bio pokretač nastanka Jave.
Java se javila kao jezik za programiranje u oblasti elektronike
kućnih aparata (veš mašina, mikrotalasnih rerni...). Usled velikog
broja i raznolikosti proizvođača kućne elektronike, Java je morala
biti prenosiv jezik. Iz ovih razloga Java postaje jedinstven jezik
koji se može izvršavati na različitim procesorima i u različitim
okruženjima.
Masovna
popularizacija World Wide Web-a i Interneta uslovila je još jednom
kraj jednog i početak drugog ciklusa evolucije programskih jezika.
Internet je mreža koju čine različite vrste računara, sa različitim
vrstama procesora i operativnih sistema. Jedan program sada mora
imati mogućnost izvršavanja u ovim različitim okruženjima. Da bi
se jedan program mogao izvršiti, on se prevodi u mašinski kod koji
je direktno uslovljen procesorom koji će program izvršavati. Znači,
za svaku novu vrstu procesora treba razviti poseban prevodilac koji
će prevoditi C, C++ i druge programe. Razviti različite prevodioce
za različite procesore je skup i spor posao. Ovo bi bio jedini način
realizacije mogućnosti izvršavanja jednog programa u Intel-ovom,
u Macintosh ili u UNIX okruženju. Mada se problem činio nepremostivim,
on je ustvari, već bio rešen. Postojao je programski jezik koji
se izvršava nezavisno od vrste procesora (platforme). Različiti
kućni elektronski uređaji su, svaki na svojoj specifičnoj vrsti
procesora, izvršavali programe pisane u istom programskom jeziku
– Javi. Problem prenosivosti programa već je rešila Java. Pojava
Interneta proširila je upotrebu Jave, koja se sada javlja kao programski
jezik za Internet.
Programeri su dobili jezik utemeljen na jezicima C i C++. Java koristi
njihove dobre osobine i pritom proširije upotrebu na Internetu.
Od ovih jezika Java nasleđuje svoju orijentaciju ka programerima
(jezik koji su pisali programeri zasnovan je na njihovom iskustvu
i rešavanju problema koji se pri programiranju javljaju). Java od
programskog jezika C++ usvaja moderan koncept objektno orijentisanog
stila programiranja(OOP). Java nije poboljšana verzija jezika C++.
Ona koristi mogućnosti ovog jezika, ali nije kompatibilna sa njim.
Ukoliko želite da koristite programski jezik nove generacije i
da :
* u potpunosti iskoristite “komfor” objektno orijentisanog programiranja;
* vaš kod bude ponovo upotrebljiv, lako proširiv i održavan.
* pravite programe-klijente;
* pravite programe-servere;
* pravite softver za web;
* se bavite programiranjem grafike i animacije;
* se vaši programi( ili njihovi delovi ) izvršavaju konkurentno;
* birate razvojno okruženje koje vama odgovara;
* se vaš softver izvršava na svim operativnim sistemima;
* ponovo koristite kod;
* paralelno koristite kod;
vreme je da naučite besplatan programski jezik sa najširim spektrom
upotrebe. Vreme je da naučite Javu.
|