POCETNA STRANA

Seminarski i Diplomski Rad
 
SEMINARSKI RAD IZ PROGRAMIRANJA
 

PROGRAMSKI JEZIK JAVA

Što je Java ?

Činjenica koja nam otežava jednostavno definiranje ovog pojma je ta da je Java u biti puno različitih stvari. Osim toga, pravi potencijal Jave u mnogome ovisi o kojoj Javi u biti govorimo.
Za Javu danas možemo reći da je:

1. specifikacija programskog jezika i standardni zbir klasa
2. implementacija navedenog programskog jezika i njegovih pratećih datoteka (libraries) u okolici prevođenja i izvođenja (compile and run time enviroment) za izradu i izvršavanje aplikacija
3. implementacija navedenog programskog jezika kao podskup ugrađenog koda u HTML stranicama (applet)
4. implementacija navedenog programskog jezika kao dodatak animaciji i interakciji kod 3D objekata i scena (VRML 2.0) 


Možemo tvrditi da svaku od danih podstavaka prezentira drugačija implementacija Jave. Svaka od njih ima svojih prednosti kao i ograničenja. Važno je u ovom trenu razumjeti iako Java programski jezik podržava neke vrste manifestacija, to ne znači da će pojedina manifestacija biti dopuštena ili čak moguća u svim implementacijama. Gledano s praktične strane, performansa i sigurnost nam ograničavaju što danas možemo napraviti unutar Java programskog okruženja.

2. The Java Virtual Machine – JVM

 

Projektanti Jave su se odlučili na korištenje kombinacije kompilacije i interpretiranja. Programi pisani u Javi se prevode u strojni jezik, ali u strojni jezik računala koje zapravo ne postoji. Ovo takozvano prividno (virtual) računalo 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 korišten kao strojni jezik i nekog stvarnog računala, osim ovog prividnog. Zapravo, Sun Mycrosystems, začetnik Jave, razvio je CPU-ove koji izvršavaju Java bajt kod kao svoj strojni jezik.

Ipak, jedna od glavnih prednosti Jave je da zapravo može biti korištena na bilo kojem računalu. Sve što je na tom računalu potrebno je interpreter za Java bajt kod. Takav interpreter oponaša Java virtual machine na isti način kao što prividno računalo oponaša osobno računalo.

Naravno, Java interpreter je potreban za svaku vrstu računala, ali nakon što računalo dobije Java bajt kod interpreter, može izvršavati bilo koji Java bajt kod program. A isti taj Java bajt kod program može biti izvršen na bilo kojem računalu koje ima takav interpreter. Ovo je jedna od glavnih osobina Jave: isti kompilirani program se može izvršavati na više različitih vrsta računala.

Java

Postavlja se pitanje zašto uopće koristiti prijelazni Java bajt kod? Zašto se ne bi isporučivao izvorni Java program pa da ga svako kompilira za sebe u strojni jezik računala na kojem ga želi koristiti? Prvi od mnogo razloga je da kompiler mora razumijeti Javu, složeni jezik više razine. Kompiler, sam po sebi, vrlo je složen program, dok je, za razliku od njega, Java interpreter prilično mali, jednostavan program. Zbog toga je jednostavnije napisati interpreter za novu vrstu računala, a jednom kad je urađeno, to računalo može pokretati bilo koji kompilirani Java program. Sa druge strane, bilo bi mnogo složenije napisati Java kompiler za isto računalo.


Osim toga, mnogi Java programi su namijenjeni dohvaćanju preko mreže. Ovo vodi do očitih sigurnosnih pitanja: korisnik ne želi spustiti i pokrenuti program koji bi mogao nanijeti štetu njegovom računalu ili podacima. Java interpreter služi kao međuspremnik između korisnika i spuštenog programa. Korisnik zapravo pokreće interpreter koji neizravno izvršava dohvaćeni program. Interpreter može zaštititi korisnika i računalo od moguće 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 računaju koliko ste dana ili minuta stari. Međutim, Javu možemo koristiti isto kao C++ za pisanje stand-alone aplikacija. Postupak je sljedeći:

1. prevodimo Java izvorni kod u tzv. bajtni kod
2. izvršavamo bajtni kod interpretiranjem unutar JVM (Javine Virtualne Mašine)


Vidimo da je po strukturi implementacije programskog jezika Java negdje na prijelazu između dosad kristalno jasnih definicija pojmova kompajler i interpreter. Ona spada u obje klasifikacije dok uistinu nije potpuno niti jedna od njih.
Sâm bajtni kod je dosta manji od ekvivalentnog izvršnog koda, recimo, C-a, ali brzina njegovog interpretiranja daleko zaostaje naspram brzine izvršavanja ekvivalentnih programa pisanih u C-u. Alternativno rješenje je u korištenju tzv. just-in-time interpretiranja, gdje Javina Virtuelna Mašina prebacuje bajtni kod u native kod prije samog izvršavanja. To za manje aplikacije pruža razumnu performansu uz zadržanu prenosivost izvršnog koda.
Međutim, čak i toliko naglašavana prenosivost možda ne počiva na čvrstim temeljima. Iole veće aplikacije će vjerojatno uslijed ograničenja nametnutih standardnim Java okruženjem biti prisiljene koristiti vlastita korisnička sučelja u vidu native library datoteka (JNI) čijim se funkcijama proširuju mogućnosti Jave. U tom slučaju mada je osnovna aplikacija prenosiva, morat će se prilagođavati od operativnog sistema do različitih arhitektura računala library datoteke pisane u C/C++-u bez kojih osnovna aplikacija neće moći raditi.

4. Osnovna građa 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 upravljačke strukture (control structures) i podprograme (subroutines). Velik dio ovih predavanja posvećen 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 može lako pozivati i koristiti. Programer treba voditi računa samo o imenu, vođenje računa o memorijskom mjestu dužnost je kompilera. Programer ne smije gubiti iz vida da ime upućuje na neku vrstu mjesta u memoriji koje može spremiti podatke, čak i ako ne mora znati gdje je to točno u memoriji.

U Javi i većini ostalih jezika varijabla ima tip (type) koji ukazuje na vrstu podataka koje može spremiti. Jedna vrsta varijabli može sadržavati integer - cjelobrojne vrijednosti, dok druga sadrži floating point - brojeve s decimalnim mjestima. Računalo pravi razliku između integer 17 i floating point 17.0, zapravo u računalu izgledaju sasvim različito. Također postoje i tipovi za pojedinačne znakove, nizove znakova, kao i za manje uobičajene 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 vađenje podataka u i iz varijabli i za obradu tih podataka. Na primjer, sljedeća "izjava dodjeljivanja", koja se može pojaviti u Java programu, kaže računalu da uzme podatak iz varijable "glavnica", pomnoži taj broj sa 0.07 i spremi rezultat u varijablu "kamata":

kamata = glavnica * 0.07;


Također postoje i ulazne naredbe za uzimanje podataka od korisnika ili iz datoteka na diskovima računala 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 složeni u složene programe korištenjem upravljačkih struktura i podprograma.

Program je niz naredbi. U običnom odvijanju računalo izvodi ove naredbe redom kako se pojavljuju jednu za drugom. Ovo je očito vrlo ograničen način jer bi računalo vrlo brzo ostalo bez naredbi koje treba izvršiti. Upravljačke strukture su posebne naredbe koje mogu izmijeniti tok odvijanja programa.

Postoje dvije osnovne vrste upravljačkih struktura: petlje, koje omogućavaju ponavljanje niza naredbi i grananja koja omogućuju računalu da odluči između više različitih postupaka ispitivanjem uvjeta koji se javljaju za vrijeme izvršavanja programa.


Na primjer, moguće je da ako je vrijednost varijable "glavnica" veća od 10000, tada se "kamata" računa množenjem sa 0.05; a ako nije tada se kamata računa množenjem glavnice sa 0.04. Program treba neki način zapisa ove odluke. U Javi to je moguće ostvariti korištenjem sljedeće "if" naredbe:

if (glavnica > 10000)
kamata = glavnica * 0.05;
else
kamata = glavnica * 0.04;

Detalji za sada nisu bitni, važno je zapamtiti da računalo može ispitati uvjet i odlučiti na osnovu toga što dalje)

Petlje se koriste kad istu radnju treba izvršiti više 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 ispiši natpis; uzmi drugo ime i adresu i" što vrlo brzo postaje jako smiješno i moglo bi uopće ni ne raditi ako unaprijed nije poznato koliko imena zapravo ima. Ono što bi zapravo htjeli reći je nešto kao: "Dok god ima imena za obradu, uzmi slijedeće ime i adresu i ispiši natpis." Ovakvo ponavljanje se u programu izražava petljom.

Veliki programi su tako složeni da bi ih bilo gotovo nemoguće napisati bez da ih se "razbije" u lakše ostvarive dijelove. Podprogrami su jedan od načina ostvarivanja tog "razbijanja". Podprogram se sastoji od naredbi za izvršavanje 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 izvršiti crtanje kuće 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 kuću dovoljno je napisati jednu naredbu: nacrtajKucu();

Ovo će imati učinak jednak kao ponavljanje svih naredbi za crtanje kuće na svakom mjestu. Prednost nije samo u tome da je manje kucanja. Organiziranje programa u podprograme također pomaže organiziranju razmišljanja i napora u razvoju programa. Za vrijeme pisanja podprograma za crtanje kuće moguće se koncentrirati isključivo na problem crtanja kuće, bez razmišljanja o ostatku programa. Jednom kad je podprogram gotov, može se zaboraviti na detalje crtanja kuća - taj problem je riješen. Podprogram postaje kao ugrađeni dio jezika koji je moguće koristiti bez razmišljanja o tome što se događa unutar podprograma.

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 rješavanje njihove složenosti. Jedno od najučinkovitijih sredstava je objektno orijentirano programiranje.


5. Osnovni Java program


Program je niz naredbi koje računalo izvršava da bi obavilo neku zadaću.
Da bi računalo moglo izvršavati naredbe, one moraju biti pisane na računalu razumljiv način, tj. u programskom jeziku. Programski jezici se razlikuju od ljudskog po svojoj jasnoći i strogosti što je u programu dozvoljeno, a što nije. Pravila koja određuju što je dozvoljeno zovu se sintaksa jezika. Sintaksna pravila određuju osnovni rječnik jezika i način na koji se programi mogu stvarati koristeći petlje, grananja i podprograme. Sintaksno ispravan program je onaj koji je moguće kompilirati ili izvršiti. Programi koji sadržavaju sintaksne greške će biti odbačeni uz poruku o grešci. Dakle, za postati uspješan programer potrebno je detaljno poznavati sintaksu korištenog programskog jezika.

Sintaksa je, ipak, samo dio priče. 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. Semantički ispravan program je onaj koji radi točno ono što programer traži od njega.

Pri uvođenju novih jezičnih elemenata bit će objašnjena i sintaksa i semantika elementa. Zapamtite sintaksu i pokušajte steći osjećaj za semantiku iz razumijevanja danih primjera. Pokušajte napisati i svoje kratke programe da bi provjerili svoje razumijevanje.

Naravno, čak i kad se upoznate sa svim pojedinačnim elementima jezika niste postali programer. Još uvijek morate naučiti kako stvarati složene programe za rješavanje određenih problema. Za to su potrebni i iskustvo i vještina.

Objašnjavanje Jave ćemo početi na uobičajen način: pisanjem programa koji ispisuje poruku "Hello World!". Naizgled jednostavan problem, ali ipak vrlo važan korak u svladavanju novog programskog jezika (pogotovo ako vam je to prvi jezik). Potrebno je da razumijete osnovne postupke:

1. unos programskog teksta u računalo
2. kompiliranje programa i
3. izvršavanje kompiliranog programa.

Ovi koraci su različiti za razna računala i Java programerska okružja. U osnovi se taj postupak svodi na pisanje programa u nekom tekstualnom editoru i snimanje programa u neku datoteku. Nakon toga određenom naredbom se program kompilira, nakon čega dobivate poruku o sintaksnim greškama ili kompilirani program. U slučaju Jave program se kompilira u bajt kod, umjesto u strojni jezik. Na kraju pokrećete program odgovarajućom naredbom. Vaše programsko okruženje može obaviti neke od ovih koraka za vas, ali se u pozadini zasigurno odvijaju ista tri koraka.

Slijedi program "Hello World!". Ne očekujte 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) {
// Ispiši "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 "ugrađeni" podprogram imena System.out.println da bi obavio zadatak. Prisjetite se da se podprogrami sastoje od naredbi za izvršavanje nekog zadatka, okupljenih i sa određenim imenom. Ime se koristi da bi mogli taj podprogram pozvati kad god treba izvršiti taj zadatak. Ugrađeni podprogram je već definiran kao dio jezika i time dostupan u bilo kojem programu.

Znatiželja vas mora voditi kroz ostatak programa. Dio programa su komentari. Računalo u potpunosti zanemaruje komentare u programu, oni su samo za ljude. Unatoč tome, komentari su vrlo važni, bez njih razumijevanje programa može biti jako teško. Java ima dvije vrste komentara. Prva vrsta počinje s: // i proteže se do kraja reda. Računalo zanemaruje // i sve nakon toga u istom redu. Druga vrsta komentara započinje s /* i završava s */ i može se protezati preko više redova.


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

                     public static void main(String[] args)
                                 izrazi

Kad naredite Java interpreteru da izvrši program, on poziva main() podprogram i izvršava naredbe unutar njega. Ove naredbe tvore skriptu koja govori računalu što točno treba raditi dok se program izvršava. Main() podprogram može pozivati podprograme definirane unutar iste, pa čak i drugih klasa, ali main() podprogram određuje 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 sadrži source kod programa. Kada se ova datoteka kompilira, nastat će datoteka HelloWorld.class koja sadrži Java bajt kod. Java intrepreter izvršava Java bajt kod i za pokretanje programa ne trebate source kod.


6. Postupak razvoja programa

 

1. Točno odrediti problem koji se želi riješiti.
Programi se obično pišu da bi izvršili određeni zadatak, ali zadatak ne mora biti uvijek jasan sam po sebi. Potrebno je prikupiti dodatne podatke da bi se zadatak mogao točno odrediti. Jasno određivanje problema otklanja mogućnosti nesporazuma i olakšava postupak razvoja programa.

2. Odrediti ulaze koje će program tražiti i izlaze koje će program stvarati.
Ulazi i izlazi programa moraju biti određeni da bi se program dobro uklopio s drugim djelovima razvojnog postupka u jedinstvenu cjelinu.

3. Rastaviti program na klase i pripadajuće metode.
Odrediti jednu ili više klasa i njihovo djelovanje, međusobno i sa vanjskim svijetom. Za svako međudjelovanje odrediti zasebnu metodu.

4. Razviti algoritme koji će biti primjenjeni u pojedinim metodama.
Algoritam je opis postupka korak po korak do konačnog rješenja problema. Potrebno je pronaći logičan način za podjelu većih 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 dođe dijelova koji se mogu iskazati Java naredbama. Ovaj postupak se najčešće izvodi korištenjem pseudokoda.

5. Prevođenje algoritma u Java naredbe.
Ako je rastavljanje problema dobro obavljeno, ovaj korak se svodi na jednostavno zamjenjivanje pseudokoda odgovarajućim Java naredbama.

6. Testiranje konačnog Java programa.
Najduži i najvažniji dio razvojnog postupka. Dijelove programa je potrebno, ako je moguće, prvo testirati pojedinačno, a zatim i program u cjelini. Potrebno je provjeriti da program ispravno radi sa svim dozvoljenim vrstama ulaznih podataka. Često se događa da se program pisan i testiran samo na uobičajenom ulaznom skupu ruši ili daje netočne rezultate samo zbog korištenja različitog ulaznog skupa. Ako program sadrži grananja potrebno je provjeriti sva moguća grananja da bi se provjerilo ispravnost rada programa u svim mogućim uvjetima.

 

7. Osnovni Java Aplet


Java apleti su mali programi namijenjeni izvršavanju kroz HTML stranicu u mrežnom pretraživaču. Točnije, aplet je objekt koji pripada klasi java.applet.Applet ili jednoj od podklasa te klase.

Aplet je dio grafičkog sučelja, prikazuje se u prozoru (bilo mrežnog pretraživača ili nekog drugog programa), čini ga pravokutno područje u kojem su sadržani drugi elementi poput tipki ili tekstualnih polja. Može prikazivati grafičke elemente kao što su slike, pravokutnici ili linije, te može odgovarati na određene događaje (na primjer kad korisnik klikne negdje u apletu).

Klasa Applet, definirana u paketu java.applet, služi samo kao osnova za izradu podklasa. Objekt tipa Applet ima neka osnovna svojstva, ali zapravo ne radi ništa korisno, to je prazno područje na ekranu koje ne odgovara ni na kakve događaje. Da bi dobio upotrebljiv aplet, programer mora definirati podklasu koja nasljeđuje klasu Applet. U klasi Applet je definirano nekoliko metoda tako da ne rade baš ništa, pa programer mora nadjačati bar neke od ovih metoda i dati im neko značenje.


Apletu nije potrebna main() metoda jer on i nije samostalni program, iako više metoda u apletu podsjećaju na main() time što je zamišljeno 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 naučiti i koristiti nego C++. Iz tog razloga bili su prisiljeni odustati od dosta pristupa i idejnih rješenja koje programeri generalno smatraju zbunjujućima (znate li nekog tko koristi templateove u C++-u) te dodati nove mogućnosti kao što je primjerice garbage collection. Krajnji rezultat je novi programski jezik koji je uistinu lakši za savladati od C++-a. Ugrađenim mogućnostima poput garbage collection i eliminiranjem pointerske aritmetike uspjeli su odstraniti najčešći izvor grešaka koje bi se javljale prilikom programiranja u C ili C++ programskim jezicima. No, kako ćemo vidjeti u daljnjem tekstu, ova poboljšanja nisu prošla besplatno...
C++ je trebao biti poboljšani C. Njegove mogućnosti korištenja objektno orijentiranih tehnika otvarale su mogućnost razvoja puno većih i bolje organiziranih programa. Pri njegovoj izradi tvorci su se pridržavali sljedećeg:


• C++ izvorni kod mora podržavati istu sintaksno/semantičku strukturu C-a te koliko je god moguće nadograditi se na sam C i podržavati tehnike programiranja korištene od strane C-programera
• Izvršni kodovi pisani u C++-u moraju biti barem isto toliko efikasni i brzi kao C izvršni kodovi kako bi se omogućila njegova primjena i u vremenski kritičnim rješenjima

Nadalje, programirajući u Javi ograničeni ste na korištenje već definiranih sučelja (interface). Java je u tom dijelu dosta slaba. Postojeće klase daju mogućnost Java programu izvršavanje samo sljedećih operacija:


• čitanje i pisanje datoteka
• crtanje točaka i drugih primitivnih 2D objekata u boji
• čitanje i manipulaciju slika
• kreiranje korisničkih sučelja (npr. korištenje više prozora na desktopu)
• komuniciranje preko mrežnih servisa (ne samo HTTP)
• audio-prikaz zvučnih datoteka

 

9. Popularnost Jave

Postoji puno drugačijih programskih jezika koji se koriste ili se tek razmatraju moguće upotrebe glede Internet pretražioca. Ono što daje velik korak prednosti Javi pred ostalim programskim jezicima je njena podržanost (postoji na svim operativnim sistemima gdje postoji Netscape program, što znači mnogo operativnih sistema), besplatnost za nekomercijalnu upotrebu (barem do ovog časa) te prenosivost izvršnog tj. bajtnog koda uz garantirano izvršavanje bez obzira na arhitekturu ili operativni sistem računala (naravno, ako se radi o istoj verziji Java prevodioca i interpretera te uz uvjet da ne koristimo native metode proširivanja standardnog zbira Javinih instrukcija).
Po primjerima iz prakse, dosad je programiranje HTML-baziranih servisa činila papazjanija sačinjena 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 najčešće u C-u. Ako ste se željeli baviti programiranjem mrežnih HTML-baziranih servisa, obično je preporuka glasila da pored osnovnog znanja barem HTML 2.0 specifikacija naučite programirati u C-u i perl-u a koristiti i pisati sh skripte ćete ionako "usput" naučiti.
Sada je nužno 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 savršenog programskog jezika. Zabilježene su duge rasprave o tome kako bi bilo izvedivo napisati drugačiji compiler ili točnije cross-compiler program koji bi prevodio neki drugi, jednostavniji i bolji izvorni kod u postojeći Javin bajtni kod. Na taj način se ne bi izgubilo apsolutno ništa od trenutnih dobrih karakteristika kao što je prenosivost bajtnog koda i njegovo izvršavanje na svim podržanim platformama računala.
Osim toga, veliki dijelovi Jave kao programskog jezika su već odbačeni kao neadekvatni, gledajući unatrag prema nižim verzijama. Izvrstan primjer toga je AWT (Abstract Window Toolkit -- zbir grafičkih alata) za koji sami tvorci Jave tvrde da je hack (na brzinu napravljen samo da proradi) i za to optužuju Netscape koji ih je manirama robo vlasnika tjerao na pridržavanje rokova te da što ranije završe sa projektom.

 

Zaključak

Java je vrlo dobar novi programski jezik i velika vijest među programerima. Informatički časopisi još uvijek ne prestaju pisati o i oko Jave te kako će upravo Java promijeniti dosadašnje poimanje kratice WWW (World Wide Web), korisnik/poslužitelj modela razvoja aplikacija te ekonomskog modela prezentacije i korištenja programa počevši od tabličnih kalkulatora pa sve do video-igrica. Činjenice da se danas već udomaćio pojam NC (Network Computer), te da SUN tvrtka već naveliko prodaje svoje Java radne stanice bazirane na Java procesoru samo govore u prilog prijašnjoj tvrdnji. Postoji već uvriježeno mišljenje da će Java naslijediti C++ kao jezik izbora glede programiranja generalno te da je Java u stvari ono što je trebao biti C++.

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/

PROCITAJ / PREUZMI I DRUGE SEMINARSKE RADOVE IZ OBLASTI:
ASTRONOMIJA | BANKARSTVO I MONETARNA EKONOMIJA | BIOLOGIJA | EKONOMIJA | ELEKTRONIKA | ELEKTRONSKO POSLOVANJE | EKOLOGIJA - EKOLOŠKI MENADŽMENT | FILOZOFIJA | FINANSIJE |  FINANSIJSKA TRŽIŠTA I BERZANSKI    MENADŽMENT | FINANSIJSKI MENADŽMENT | FISKALNA EKONOMIJA | FIZIKA | GEOGRAFIJA | INFORMACIONI SISTEMI | INFORMATIKA | INTERNET - WEB | ISTORIJA | JAVNE FINANSIJE | KOMUNIKOLOGIJA - KOMUNIKACIJE | KRIMINOLOGIJA | KNJIŽEVNOST I JEZIK | LOGISTIKA | LOGOPEDIJA | LJUDSKI RESURSI | MAKROEKONOMIJA | MARKETING | MATEMATIKA | MEDICINA | MEDJUNARODNA EKONOMIJA | MENADŽMENT | MIKROEKONOMIJA | MULTIMEDIJA | ODNOSI SA JAVNOŠCU |  OPERATIVNI I STRATEGIJSKI    MENADŽMENT | OSNOVI MENADŽMENTA | OSNOVI EKONOMIJE | OSIGURANJE | PARAPSIHOLOGIJA | PEDAGOGIJA | POLITICKE NAUKE | POLJOPRIVREDA | POSLOVNA EKONOMIJA | POSLOVNA ETIKA | PRAVO | PRAVO EVROPSKE UNIJE | PREDUZETNIŠTVO | PRIVREDNI SISTEMI | PROIZVODNI I USLUŽNI MENADŽMENT | PROGRAMIRANJE | PSIHOLOGIJA | PSIHIJATRIJA / PSIHOPATOLOGIJA | RACUNOVODSTVO | RELIGIJA | SOCIOLOGIJA |  SPOLJNOTRGOVINSKO I DEVIZNO POSLOVANJE | SPORT - MENADŽMENT U SPORTU | STATISTIKA | TEHNOLOŠKI SISTEMI | TURIZMOLOGIJA | UPRAVLJANJE KVALITETOM | UPRAVLJANJE PROMENAMA | VETERINA | ŽURNALISTIKA - NOVINARSTVO


preuzmi seminarski rad u wordu » » »   

Besplatni Seminarski Radovi

SEMINARSKI RAD