Programski Jezik Java

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

PROGRAMSKI JEZIK JAVA

SADRAJ :

1. Uvod

2. The Java Virtual Machine JVM

3. JAVA, kao jezik za pisanje aplikacija

4. Osnovna graa programa

5. Osnovni Java program

6. Postupak razvoja programa

7. Osnovni Java Aplet

8. Programiranje u Javi

9. Popularnost Jave

10. Zakljuak

11. Literatura

2
1. Uvod-to je Java ?

injenica koja nam oteava jednostavno definiranje ovog pojma je ta da je Java u biti puno
razliitih stvari. Osim toga, pravi potencijal Jave u mnogome ovisi o kojoj Javi u biti
govorimo.

Za Javu danas moemo rei da je:

1. specifikacija programskog jezika i standardni zbir klasa


2. implementacija navedenog programskog jezika i njegovih prateih datoteka (libraries) u
okolici prevoenja i izvoenja (compile and run time enviroment) za izradu i izvravanje
aplikacija
3. implementacija navedenog programskog jezika kao podskup ugraenog koda u HTML
stranicama (applet)
4. implementacija navedenog programskog jezika kao dodatak animaciji i interakciji kod 3D
objekata i scena (VRML 2.0)

Moemo tvrditi da svaku od danih podstavaka prezentira drugaija implementacija Jave. Svaka
od njih ima svojih prednosti kao i ogranienja. Vano je u ovom trenu razumjeti iako Java
programski jezik podrava neke vrste manifestacija, to ne znai da e pojedina manifestacija biti
doputena ili ak mogua u svim implementacijama. Gledano s praktine strane, performansa i
sigurnost nam ograniavaju to danas moemo napraviti unutar Java programskog okruenja.

3
2. The Java Virtual Machine JVM

Projektanti Jave su se odluili na koritenje kombinacije kompilacije i interpretiranja. Programi


pisani u Javi se prevode u strojni jezik, ali u strojni jezik raunala koje zapravo ne postoji. Ovo
takozvano prividno (virtual) raunalo se zove "Java Virtual Machine".

Strojni jezik za Java Virtual Machine se zove Java bytecode. Nema razloga zbog kojega Java bajt
kod ne bi mogao biti koriten kao strojni jezik i nekog stvarnog raunala, osim ovog prividnog.
Zapravo, Sun Mycrosystems, zaetnik Jave, razvio je CPU-ove koji izvravaju Java bajt kod kao
svoj strojni jezik.

Ipak, jedna od glavnih prednosti Jave je da zapravo moe biti koritena na bilo kojem raunalu.
Sve to je na tom raunalu potrebno je interpreter za Java bajt kod. Takav interpreter oponaa
Java virtual machine na isti nain kao to prividno raunalo oponaa osobno raunalo.

Naravno, Java interpreter je potreban za svaku vrstu raunala, ali nakon to raunalo dobije Java
bajt kod interpreter, moe izvravati bilo koji Java bajt kod program. A isti taj Java bajt kod
program moe biti izvren na bilo kojem raunalu koje ima takav interpreter. Ovo je jedna od
glavnih osobina Jave: isti kompilirani program se moe izvravati na vie razliitih vrsta
raunala.

Postavlja se pitanje zato uope koristiti prijelazni Java bajt kod? Zato se ne bi isporuivao
izvorni Java program pa da ga svako kompilira za sebe u strojni jezik raunala na kojem ga eli
koristiti? Prvi od mnogo razloga je da kompiler mora razumijeti Javu, sloeni jezik vie razine.
Kompiler, sam po sebi, vrlo je sloen program, dok je, za razliku od njega, Java interpreter
prilino mali, jednostavan program. Zbog toga je jednostavnije napisati interpreter za novu vrstu
raunala, a jednom kad je uraeno, to raunalo moe pokretati bilo koji kompilirani Java

4
program. Sa druge strane, bilo bi mnogo sloenije napisati Java kompiler za isto raunalo.

Osim toga, mnogi Java programi su namijenjeni dohvaanju preko mree. Ovo vodi do oitih
sigurnosnih pitanja: korisnik ne eli spustiti i pokrenuti program koji bi mogao nanijeti tetu
njegovom raunalu ili podacima. Java interpreter slui kao meuspremnik izmeu korisnika i
sputenog programa. Korisnik zapravo pokree interpreter koji neizravno izvrava dohvaeni
program. Interpreter moe zatititi korisnika i raunalo od mogue opasnih radnji tog programa.

3. Java-kao jezik za pisanje aplikacija

Mnogo ljudi misli da Javu koristimo samo kao dodatak vlastitim Web HTML stranicama tako
da rade interesantne efekte sa slikama ili raunaju koliko ste dana ili minuta stari. Meutim,
Javu moemo koristiti isto kao C++ za pisanje stand-alone aplikacija. Postupak je sljedei:

1. prevodimo Java izvorni kod u tzv. bajtni kod


2. izvravamo bajtni kod interpretiranjem unutar JVM (Javine Virtualne Maine)

Vidimo da je po strukturi implementacije programskog jezika Java negdje na prijelazu izmeu


dosad kristalno jasnih definicija pojmova kompajler i interpreter. Ona spada u obje klasifikacije
dok uistinu nije potpuno niti jedna od njih.

Sm bajtni kod je dosta manji od ekvivalentnog izvrnog koda, recimo, C-a, ali brzina njegovog
interpretiranja daleko zaostaje naspram brzine izvravanja ekvivalentnih programa pisanih u C-u.
Alternativno rjeenje je u koritenju tzv. just-in-time interpretiranja, gdje Javina Virtuelna
Maina prebacuje bajtni kod u native kod prije samog izvravanja. To za manje aplikacije prua
razumnu performansu uz zadranu prenosivost izvrnog koda.

Meutim, ak i toliko naglaavana prenosivost moda ne poiva na vrstim temeljima. Iole vee
aplikacije e vjerojatno uslijed ogranienja nametnutih standardnim Java okruenjem biti
prisiljene koristiti vlastita korisnika suelja u vidu native library datoteka (JNI) ijim se
funkcijama proiruju mogunosti Jave. U tom sluaju mada je osnovna aplikacija prenosiva,
morat e se prilagoavati od operativnog sistema do razliitih arhitektura raunala library
datoteke pisane u C/C++-u bez kojih osnovna aplikacija nee moi raditi.

5
4. Osnovna graa programa
Dva su osnovna dijela programiranja: podaci i naredbe. Za rad s podacima potrebno je
razumijevanje varijabli i tipova, a za rad s naredbama potrebno je razumjeti upravljake strukture
(control structures) i podprograme (subroutines). Velik dio ovih predavanja posveen je
usvajanju ovih modela.

Varijabla je samo lokacija u memoriji (ili nekoliko lokacija promatranih kao jedinica) kojemu je
dodijeljeno ime da ga se u programu moe lako pozivati i koristiti. Programer treba voditi rauna
samo o imenu, voenje rauna o memorijskom mjestu dunost je kompilera. Programer ne smije
gubiti iz vida da ime upuuje na neku vrstu mjesta u memoriji koje moe spremiti podatke, ak i
ako ne mora znati gdje je to tono u memoriji.

U Javi i veini ostalih jezika varijabla ima tip (type) koji ukazuje na vrstu podataka koje moe
spremiti. Jedna vrsta varijabli moe sadravati integer - cjelobrojne vrijednosti, dok druga sadri
floating point - brojeve s decimalnim mjestima. Raunalo pravi razliku izmeu integer 17 i
floating point 17.0, zapravo u raunalu izgledaju sasvim razliito. Takoer postoje i tipovi za
pojedinane znakove, nizove znakova, kao i za manje uobiajene tipove kao to su datumi, boje,
zvukovi ili bilo koji drugi tip podataka koje bi program mogao spremiti.

Programski jezici uvijek imaju naredbe za stavljanje i vaenje podataka u i iz varijabli i za


obradu tih podataka. Na primjer, sljedea "izjava dodjeljivanja", koja se moe pojaviti u Java
programu, kae raunalu da uzme podatak iz varijable "glavnica", pomnoi taj broj sa 0.07 i
spremi rezultat u varijablu "kamata":

kamata = glavnica * 0.07;

Takoer postoje i ulazne naredbe za uzimanje podataka od korisnika ili iz datoteka na diskovima
raunala i izlazne naredbe za slanje podataka u suprotnom smjeru. Ove osnovne naredbe - za
pomicanje podataka s mjesta na mjesto i za obradu podataka su dijelovi za izradu svih programa.
Ovi dijelovi su sloeni u sloene programe koritenjem upravljakih struktura i podprograma.

Program je niz naredbi. U obinom odvijanju raunalo izvodi ove naredbe redom kako se
pojavljuju jednu za drugom. Ovo je oito vrlo ogranien nain jer bi raunalo vrlo brzo ostalo bez
naredbi koje treba izvriti. Upravljake strukture su posebne naredbe koje mogu izmijeniti tok
odvijanja programa.

Postoje dvije osnovne vrste upravljakih struktura: petlje, koje omoguavaju ponavljanje niza
naredbi i grananja koja omoguuju raunalu da odlui izmeu vie razliitih postupaka
ispitivanjem uvjeta koji se javljaju za vrijeme izvravanja programa.

6
Na primjer, mogue je da ako je vrijednost varijable "glavnica" vea od 10000, tada se "kamata"
rauna mnoenjem sa 0.05; a ako nije tada se kamata rauna mnoenjem glavnice sa 0.04.
Program treba neki nain zapisa ove odluke. U Javi to je mogue ostvariti koritenjem sljedee
"if" naredbe:

if (glavnica > 10000)


kamata = glavnica * 0.05;
else
kamata = glavnica * 0.04;

Detalji za sada nisu bitni, vano je zapamtiti da raunalo moe ispitati uvjet i odluiti na osnovu
toga to dalje)

Petlje se koriste kad istu radnju treba izvriti vie od jednom.

Na primjer, ako se eli ispisati natpise s imenom za svako ime u adresaru moglo bi se napisati
"Uzmi prvo ime i adresu i ispii natpis; uzmi drugo ime i adresu i" to vrlo brzo postaje jako
smijeno i moglo bi uope ni ne raditi ako unaprijed nije poznato koliko imena zapravo ima. Ono
to bi zapravo htjeli rei je neto kao: "Dok god ima imena za obradu, uzmi slijedee ime i adresu
i ispii natpis." Ovakvo ponavljanje se u programu izraava petljom.

Veliki programi su tako sloeni da bi ih bilo gotovo nemogue napisati bez da ih se "razbije" u
lake ostvarive dijelove. Podprogrami su jedan od naina ostvarivanja tog "razbijanja".
Podprogram se sastoji od naredbi za izvravanje nekog zadatka okupljenih u cjelinu s imenom.
Ime se kasnije koristi kao zamjena za itav niz naredbi. Na primjer, ako je jedan od zadataka koje
program mora izvriti crtanje kue na ekranu, potrebno je naredbe okupiti u podprogram i dati
mu prikladno ime, npr. "nacrtajKucu()". Nakon toga, na bilo kojem mjestu u programu gdje je
potrebno nacrtati kuu dovoljno je napisati jednu naredbu: nacrtajKucu();

Ovo e imati uinak jednak kao ponavljanje svih naredbi za crtanje kue na svakom mjestu.
Prednost nije samo u tome da je manje kucanja. Organiziranje programa u podprograme takoer
pomae organiziranju razmiljanja i napora u razvoju programa. Za vrijeme pisanja podprograma
za crtanje kue mogue se koncentrirati iskljuivo na problem crtanja kue, bez razmiljanja o
ostatku programa. Jednom kad je podprogram gotov, moe se zaboraviti na detalje crtanja kua -
taj problem je rijeen. Podprogram postaje kao ugraeni dio jezika koji je mogue koristiti bez
razmiljanja o tome to se dogaa unutar podprograma.

7
Varijable, tipovi, petlje, grananja i podprogrami su osnova onog to bi se moglo nazvati
tradicionalnim programiranjem. Osim toga, kako programi rastu javlja se potreba za dodatnim
strukturama za rjeavanje njihove sloenosti. Jedno od najuinkovitijih sredstava je objektno
orijentirano programiranje.

5. Osnovni Java program


Program je niz naredbi koje raunalo izvrava da bi obavilo neku zadau.

Da bi raunalo moglo izvravati naredbe, one moraju biti pisane na raunalu razumljiv nain, tj. u
programskom jeziku. Programski jezici se razlikuju od ljudskog po svojoj jasnoi i strogosti to
je u programu dozvoljeno, a to nije. Pravila koja odreuju to je dozvoljeno zovu se sintaksa
jezika. Sintaksna pravila odreuju osnovni rjenik jezika i nain na koji se programi mogu
stvarati koristei petlje, grananja i podprograme. Sintaksno ispravan program je onaj koji je
mogue kompilirati ili izvriti. Programi koji sadravaju sintaksne greke e biti odbaeni uz
poruku o greci. Dakle, za postati uspjean programer potrebno je detaljno poznavati sintaksu
koritenog programskog jezika.

Sintaksa je, ipak, samo dio prie. Naime, nije dovoljno samo napisati program koji radi, potreban
je program koji daje ispravan rezultat, dakle program mora imati smisao. Smisao programa se
zove semantika. Semantiki ispravan program je onaj koji radi tono ono to programer trai od
njega.

Pri uvoenju novih jezinih elemenata bit e objanjena i sintaksa i semantika elementa.
Zapamtite sintaksu i pokuajte stei osjeaj za semantiku iz razumijevanja danih primjera.
Pokuajte napisati i svoje kratke programe da bi provjerili svoje razumijevanje.

Naravno, ak i kad se upoznate sa svim pojedinanim elementima jezika niste postali programer.
Jo uvijek morate nauiti kako stvarati sloene programe za rjeavanje odreenih problema. Za to
su potrebni i iskustvo i vjetina.

Objanjavanje Jave emo poeti na uobiajen nain: pisanjem programa koji ispisuje poruku
"Hello World!". Naizgled jednostavan problem, ali ipak vrlo vaan korak u svladavanju novog
programskog jezika (pogotovo ako vam je to prvi jezik). Potrebno je da razumijete osnovne
postupke:
1. unos programskog teksta u raunalo
2. kompiliranje programa i
3. izvravanje kompiliranog programa.

8
Ovi koraci su razliiti za razna raunala i Java programerska okruja. U osnovi se taj postupak
svodi na pisanje programa u nekom tekstualnom editoru i snimanje programa u neku datoteku.
Nakon toga odreenom naredbom se program kompilira, nakon ega dobivate poruku o
sintaksnim grekama ili kompilirani program. U sluaju Jave program se kompilira u bajt kod,
umjesto u strojni jezik. Na kraju pokreete program odgovarajuom naredbom. Vae programsko
okruenje moe obaviti neke od ovih koraka za vas, ali se u pozadini zasigurno odvijaju ista tri
koraka.

Slijedi program "Hello World!". Ne oekujte da ete sve razumijeti - neke dijelove ete
razumijeti tek nakon nekoliko lekcija.

/**
* HelloWorldApp klasa implementira aplikaciju koja
* ispisuje "Hello World!" na standardni izlaz.
*/

public class HelloWorldApp {


public static void main(String[] args) {
// Ispii "Hello World!"
System.out.println("Hello World!");
}
}

Kada pokrenete ovaj program poruka "Hello world!" (bez navodnika) e biti ispisana na ekranu.

Naredba koja zapravo ispisuje poruku je:

System.out.println("Hello World!");

Ova naredba je primjer poziva podprograma. Koristi "ugraeni" podprogram imena


System.out.println da bi obavio zadatak. Prisjetite se da se podprogrami sastoje od naredbi za
izvravanje nekog zadatka, okupljenih i sa odreenim imenom. Ime se koristi da bi mogli taj
podprogram pozvati kad god treba izvriti taj zadatak. Ugraeni podprogram je ve definiran kao
dio jezika i time dostupan u bilo kojem programu.

Znatielja vas mora voditi kroz ostatak programa. Dio programa su komentari. Raunalo u
potpunosti zanemaruje komentare u programu, oni su samo za ljude. Unato tome, komentari su
vrlo vani, bez njih razumijevanje programa moe biti jako teko. Java ima dvije vrste
komentara. Prva vrsta poinje s: // i protee se do kraja reda. Raunalo zanemaruje // i sve nakon
toga u istom redu. Druga vrsta komentara zapoinje s /* i zavrava s */ i moe se protezati preko
vie redova.

9
Sve ostalo u programu je neophodno prema sintaksnim pravilima Jave. Svo programiranje u Javi
se obavlja u klasama. Prva linija u programu kae da se klasa zove HelloWorld. Ime klase
HelloWorld ujedno slui i kao ime programa. Klasa nije program sama po sebi, da bi mogla
postati program klasa mora sadravati podprogram imena main oblika:

public static void main(String[] args)


izrazi

Kad naredite Java interpreteru da izvri program, on poziva main() podprogram i izvrava naredbe
unutar njega. Ove naredbe tvore skriptu koja govori raunalu to tono treba raditi dok se
program izvrava. Main() podprogram moe pozivati podprograme definirane unutar iste, pa ak i
drugih klasa, ali main() podprogram odreuje kako i kojim redom e se koristiti drugi
podprogrami.

Ime u prvoj liniji je ime programa, i ujedno ime klase. Ako se klasa zove HelloWorld, treba biti
snimljena u datoteci HelloWorld.java, koja dakle sadri source kod programa. Kada se ova
datoteka kompilira, nastat e datoteka HelloWorld.class koja sadri Java bajt kod. Java intrepreter
izvrava Java bajt kod i za pokretanje programa ne trebate source kod.

6. Postupak razvoja programa

1. Tono odrediti problem koji se eli rijeiti.

Programi se obino piu da bi izvrili odreeni zadatak, ali zadatak ne mora biti uvijek
jasan sam po sebi. Potrebno je prikupiti dodatne podatke da bi se zadatak mogao tono
odrediti. Jasno odreivanje problema otklanja mogunosti nesporazuma i olakava
postupak razvoja programa.

2. Odrediti ulaze koje e program traiti i izlaze koje e program stvarati.

Ulazi i izlazi programa moraju biti odreeni da bi se program dobro uklopio s drugim
djelovima razvojnog postupka u jedinstvenu cjelinu.

3. Rastaviti program na klase i pripadajue metode.

Odrediti jednu ili vie klasa i njihovo djelovanje, meusobno i sa vanjskim svijetom. Za
svako meudjelovanje odrediti zasebnu metodu.

10
4. Razviti algoritme koji e biti primjenjeni u pojedinim metodama.

Algoritam je opis postupka korak po korak do konanog rjeenja problema. Potrebno je


pronai logian nain za podjelu veih problema na manje sve dok se itav zadatak ne
podijeli na niz malih, jednostavnih i lako razumljivih zadataka. Nakon toga, ti mali zadaci
se ponovo rastavljaju dok se ne doe dijelova koji se mogu iskazati Java naredbama. Ovaj
postupak se najee izvodi koritenjem pseudokoda.

5. Prevoenje algoritma u Java naredbe.

Ako je rastavljanje problema dobro obavljeno, ovaj korak se svodi na jednostavno


zamjenjivanje pseudokoda odgovarajuim Java naredbama.

6. Testiranje konanog Java programa.

Najdui i najvaniji dio razvojnog postupka. Dijelove programa je potrebno, ako je


mogue, prvo testirati pojedinano, a zatim i program u cjelini. Potrebno je provjeriti da
program ispravno radi sa svim dozvoljenim vrstama ulaznih podataka. esto se dogaa da
se program pisan i testiran samo na uobiajenom ulaznom skupu rui ili daje netone
rezultate samo zbog koritenja razliitog ulaznog skupa. Ako program sadri grananja
potrebno je provjeriti sva mogua grananja da bi se provjerilo ispravnost rada programa u
svim moguim uvjetima.

7. Osnovni Java Aplet

Java apleti su mali programi namijenjeni izvravanju kroz HTML stranicu u mrenom
pretraivau. Tonije, aplet je objekt koji pripada klasi java.applet.Applet ili jednoj od podklasa te
klase.

Aplet je dio grafikog suelja, prikazuje se u prozoru (bilo mrenog pretraivaa ili nekog drugog
programa), ini ga pravokutno podruje u kojem su sadrani drugi elementi poput tipki ili
tekstualnih polja. Moe prikazivati grafike elemente kao to su slike, pravokutnici ili linije, te
moe odgovarati na odreene dogaaje (na primjer kad korisnik klikne negdje u apletu).

Klasa Applet, definirana u paketu java.applet, slui samo kao osnova za izradu podklasa. Objekt
tipa Applet ima neka osnovna svojstva, ali zapravo ne radi nita korisno, to je prazno podruje na
ekranu koje ne odgovara ni na kakve dogaaje. Da bi dobio upotrebljiv aplet, programer mora
definirati podklasu koja nasljeuje klasu Applet. U klasi Applet je definirano nekoliko metoda
tako da ne rade ba nita, pa programer mora nadjaati bar neke od ovih metoda i dati im neko
znaenje.

11
Apletu nije potrebna main() metoda jer on i nije samostalni program, iako vie metoda u apletu
podsjeaju na main() time to je zamiljeno da ih poziva sistem, a programer treba definirati
odgovor na te pozive.

8. Programiranje u Javi :

Svakome tko je imao prilike usporediti C++ i Java izvorne kodove bit e odmah jasno da je
Java bazirana na programskom jeziku C++. Tvorci Jave su eljeli napraviti programski
jezik koji bi bio jednostavniji za nauiti i koristiti nego C++. Iz
tog razloga bili su prisiljeni odustati od dosta pristupa i idejnih rjeenja koje programeri
generalno smatraju zbunjujuima (znate li nekog tko koristi templateove u C++-u) te dodati nove
mogunosti kao to je primjerice garbage collection. Krajnji rezultat je novi programski jezik
koji je uistinu laki za savladati od C++-a. Ugraenim mogunostima poput garbage collection i
eliminiranjem pointerske aritmetike uspjeli su odstraniti najei izvor greaka koje bi se javljale
prilikom programiranja u C ili C++ programskim jezicima. No, kako emo vidjeti u daljnjem
tekstu, ova poboljanja nisu prola besplatno...

C++ je trebao biti poboljani C. Njegove mogunosti koritenja objektno orijentiranih tehnika
otvarale su mogunost razvoja puno veih i bolje organiziranih programa. Pri njegovoj izradi
tvorci su se pridravali sljedeeg:

C++ izvorni kod mora podravati istu sintaksno/semantiku strukturu C-a te koliko je
god mogue nadograditi se na sam C i podravati tehnike programiranja koritene od
strane C-programera
Izvrni kodovi pisani u C++-u moraju biti barem isto toliko efikasni i brzi kao C izvrni
kodovi kako bi se omoguila njegova primjena i u vremenski kritinim rjeenjima

Nadalje, programirajui u Javi ogranieni ste na koritenje ve definiranih suelja (interface).


Java je u tom dijelu dosta slaba. Postojee klase daju mogunost Java programu izvravanje
samo sljedeih operacija:

itanje i pisanje datoteka


crtanje toaka i drugih primitivnih 2D objekata u boji
itanje i manipulaciju slika
kreiranje korisnikih suelja (npr. koritenje vie prozora na desktopu)
komuniciranje preko mrenih servisa (ne samo HTTP)
audio-prikaz zvunih datoteka

12
9. Popularnost Jave

Postoji puno drugaijih programskih jezika koji se koriste ili se tek razmatraju mogue upotrebe
glede Internet pretraioca. Ono to daje velik korak prednosti Javi pred ostalim programskim
jezicima je njena podranost (postoji na svim operativnim sistemima gdje postoji Netscape
program, to znai mnogo operativnih sistema), besplatnost za nekomercijalnu upotrebu
(barem do ovog asa) te prenosivost izvrnog tj. bajtnog koda uz garantirano izvravanje bez
obzira na arhitekturu ili operativni sistem raunala (naravno, ako se radi o istoj verziji Java
prevodioca i interpretera te uz uvjet da ne koristimo native metode proirivanja standardnog zbira
Javinih instrukcija).

Po primjerima iz prakse, dosad je programiranje HTML-baziranih servisa inila papazjanija


sainjena od FORM oznake i forme unutar HTML stranice, perl i sh skripti ili C-programa za
obradu podataka pribavljenih sa forme, te driver programa za pristup bazi podataka pisanog
najee u C-u. Ako ste se eljeli baviti programiranjem mrenih HTML-baziranih servisa, obino
je preporuka glasila da pored osnovnog znanja barem HTML 2.0 specifikacija nauite
programirati u C-u i perl-u a koristiti i pisati sh skripte ete ionako "usput" nauiti.

Sada je nuno i dovoljno znati da vam od HTML specifikacija treba

<html><body><applet code="MyApplet.class" width=XXX


height=YYYY></applet></body></html>

.. te znanje programiranja u Javi.

Sama Java je daleko od savrenog programskog jezika. Zabiljeene su duge rasprave o tome
kako bi bilo izvedivo napisati drugaiji compiler ili tonije cross-compiler program koji bi
prevodio neki drugi, jednostavniji i bolji izvorni kod u postojei Javin bajtni kod. Na taj nain
se ne bi izgubilo apsolutno nita od trenutnih dobrih karakteristika kao to je prenosivost bajtnog
koda i njegovo izvravanje na svim podranim platformama raunala.

Osim toga, veliki dijelovi Jave kao programskog jezika su ve odbaeni kao neadekvatni,
gledajui unatrag prema niim verzijama. Izvrstan primjer toga je AWT (Abstract Window
Toolkit -- zbir grafikih alata) za koji sami tvorci Jave tvrde da je hack (na brzinu napravljen
samo da proradi) i za to optuuju Netscape koji ih je manirama robo vlasnika tjerao na
pridravanje rokova te da to ranije zavre sa projektom.

13
10. Zakljuak

Java je vrlo dobar novi programski jezik i velika vijest meu programerima. Informatiki
asopisi jo uvijek ne prestaju pisati o i oko Jave te kako e upravo Java promijeniti
dosadanje poimanje kratice WWW (World Wide Web), korisnik/posluitelj modela razvoja
aplikacija te ekonomskog modela prezentacije i koritenja programa poevi od tablinih
kalkulatora pa sve do video-igrica. injenice da se danas ve udomaio pojam NC (Network
Computer), te da SUN tvrtka ve naveliko prodaje svoje Java radne stanice bazirane
na Java procesoru samo govore u prilog prijanjoj tvrdnji. Postoji ve uvrijeeno miljenje da
e Java naslijediti C++ kao jezik izbora glede programiranja generalno te da je Java u stvari
ono to je trebao biti C++.

14
11. Literatura

1. Herbert Schildt, JAVA J2SE 5, MIKRO KNJIGA, ZAGREB, 2006


2.Joshua Bloch, EFIKASNO PROGRAMIRANJE NA JAVI, MIKRO KNJIGA,
ZAGREB,2004
3 .Stephen J. Chapman: Java for Engineers and Scientist, Prentice Hall, NJ, 2000.
4. on-line tutorial na web adresi http://java.sun.com/docs/books/tutorial/

15

You might also like