Sunteți pe pagina 1din 5

Limbajul de programare Java

Referat

Pentru facilitarea interactiunii clientului cu serverul Web trebuia conceput un limbaj care sa
suplineasca lipsa de dinamism, dar sa pastreze simplitatea nativa a limbajului HTML. Mai mult, Java
se doreste a fi independent de arhitectura calculatoarelor, portabil, orientat-obiect si distribuit.
Scurt istoric
Foarte tinar, limbajul Java a fost proiectat, impreuna cu mediul lui de dezvoltare si de executie,
pentru a dezvolta un software performant destinat aparatelor electronice de larg consum (mici,
portabile, distribuite, lucrind in timp real). Firma Sun, care s-a concentrat in proiectarea acestui nou
limbaj, a pornit initial la drum cu limbajul C++, dar din cauza complexitatii ridicate a inceput sa
dezvolte un descendent mai flexibil, mai facil, mai portabil. Creatorul limbajului a fost James
Gostling, de asemeni autor al binecunoscutului emacs din mediile UNIX si al sistemului de ferestre
NeWS. Desi proiectul, denumit initial Oak de la copacul din fata biroului parintelui sau, a debutat in
1990, specificatia noului limbaj s-a publicat abia in anul 1995 la conferinta SunWorld din San
Francisco. Descoperindu-se ca numele limbajului era deja utilizat, Oak s-a transformat in Java,
devenind deliciul programatorilor iubitori de cafenele si de exotice arome. Din 1995 si pina in
prezent, lumea Java traieste intr-o continua agitatie, aparind alte si alte inovatii si modificari ale
limbajului, noi trasaturi si medii de dezvoltare a aplicatiilor Java, alaturi de JDK (Java Development
Kit) pus la dispozitie de compania Sun: Visual Java (Microsoft), Visual Cafe for Java (Symantec), Visual
Age for Java (IBM), SuperCede for Java (Asymetrix).
O parte din proiectantii de pagini Web au ramas reticienti la noul limbaj, obiectind fie complexitatea
suficient de ridicata, fie faptul ca nu oferea toate facilitatile prezente in C++ din care se tragea.
Astfel, compania Netscape ofera odata cu navigatorul Netscape 2.0 un mediu complet, orientat
obiect, destinat arhitectilor de pagini WWW fara multa experienta in programare. Acest mediu este
JavaScript. Fermecat de tehnologia Java de la Sun, Mark Andreesen de la Netscape cumpara licenta
Java si ofera un limbaj de tip script bazat pe aceasta, denumit LiveScript. Ulterior, in decembrie 1996,
Sun si Netscape si-au unit eforturile in dezvoltarea a celui ce avea sa fie JavaScript, interpretat de
Netscape Navigator. Foarte rapid, JavaScript s-a bucurat de succes, acum ajungind la versiunea 1.1
fiind sprijinit de multe companii de software.

Caracterizare a limbajului Java


Trasaturile importante ale limbajului sint:
simplitatea

Java incearca sa ramina un limbaj facil de utilizat chiar si de programatorii neprofesionisti, fiind
indepartate aspecte derutante ca supraincarcarea operatorilor si mostenirea multipla. De asemenea,
lipsesc pointerii. portabilitatea
Java e independent de masina pe care lucreaza. In loc sa genereze cod nativ pentru o platforma
particulara, compilatorul Java va genera o secventa de instructiuni ale unei masini virtuale Java
(JVM), executia aplicatiilor fiind interpretata. orientare-obiect
In Java se pot crea clase de obiecte si instante ale lor, se pot incapsula informatiile, suportindu-se
mostenirea simpla etc. Java insa nu ofera mosteniri multiple, suplinite insa de o facilitate numita
interfata care permite definirea unui anumit comportament pentru o clasa de obiecte, altul decit cel
specificat de clasa de baza. distribuirea
Java este un limbaj distribuit, avind implementate biblioteci pentru lucrul in retea. Are inclus
suportul nativ pentru aplicatii care lucreaza cu mai multe fire de executie (thread-uri); exista desigur
primitive de sincronizare, independente de sistemul de operare.
Setul de caractere al limbajului este UniCode (pe 16 biti), mai flexibil decit setul ASCII (pe 8 biti).
Tipurile primitive sint urmatoarele:
boolean true, false boolean caracter cod UniCode char intreg octet 8 biti byte scurt 16 biti short
propriu-zis 32 biti int lung 64 biti long real flotant 32 biti float dublu 64 biti double
Tipurile referinta sint folosite pentru a referi un obiect din interiorul altui obiect:
referinta catre o clasa referinta catre o interfata referinta catre un tablou
Desigur, operatorii sint similari celor din C++ si nu vom mai insista asupra prezentarii lor. Exceptie fac
operatorii de concatenare si asignare de siruri care sint cei naturali (+ si =).
Instructiuni:
blocuri de instructiuni delimitate intre A si S declaratii de variabile locale atribuirea instructiuni
conditionale if, switch instructiuni de ciclare while, do, for instructiuni de salt break, continue
instructiuni de retur return, throw instructiuni de protectie try, catch, finally, syncronized
Clase
Declaratia unei clase are urmatoarea sintaxa:
A abstract | final | public S class NumeClasa
a extends NumeSuperclasa i
a implements NumeInterfata a, NumeInterfata... ii
A
a CimpClasa i
...

a CimpClasa i
S
S
Deoarece obiectul acestei lucrari nu este prezentarea in extenso a limbajului Java, ne oprim aici.

Aplicatii Java
Cea mai simpla aplicatie este declararea unei clase de pornire continind o singura metoda denumita
main:
public class HelloWorld A public static void main(String argsai) // obligatoriu
A system.out.println("Hello, world!");
// implementata in clasa java.lang.system
S
S
Applet-uri Java
Acestea ruleaza intr-un document HTML. Fiecare applet are rezervata o fereastra prin care comunica
cu utilizatorul, definita de tag-ul <applet>.
import java.awt.Graphics;
public class HelloWorldApplet extends java.applet.Applet A // mostenitor private String str; public
void init() // metoda de initializare
A str=getParameter("msg"); // memoreaza parametrul if (str==null) A // daca nu exista, se ia unul
implicit str="Hello, world!";
S resize(150, 100); // aloca zona de desenare
S
public void paint(Graphics gr)// scrie un sir de caractere
A // la coordonatele specificate gr.drawString(str, 50, 50);
S
S
Pentru a vedea efectiv rezultatele rularii applet-ului, scriem o pagina minimala care va apela appletul de mai sus:

<html>
<head>
<title>Hello world!</title>
</head>
<body>
<p>Un text pentru voi:
<applet code="HelloWorldApplet.class" width=150 height=150>
</applet>
</body>
</html>
Applet-ul nostru poate accepta si parametri (sirul de afisat) care trebuie specificati de tag-ul
<param>. De exemplu, in loc de "Hello, world!" putem scrie "Hello, Faculty of Computer Science!"
incluzind dupa <applet> si:
<param name="msg" value="Hello, Faculty of Computer Science!">
Executia unui applet este marcata de o serie de evenimente generate de catre navigator. Cind acesta
intilneste <applet>, va porni incarcarea codului necesar rularii applet-ului, cod aflat pe server si care
va fi executat pe calculatorul client, odata ce a fost incarcat complet. Dupa incarcare, applet-ul este
apelat pentru initializare (pregatirea parametrilor si obtinerea de resurse sistem). Dupa aceasta
etapa, navigatorul trimite catre applet o comanda de pornire si applet-ul intrat in functiune va
interactiona cu utilizatorul.
Un applet ruleaza atita vreme cit navigatorul este activ. La schimbarea paginii, applet-urile din
vechea pagina nu dispar, ci primesc o comanda de suspendare (pe care pot s-o ignore).

Prezent si viitor
In ciuda tineretii sale, limbajul Java a avut, are si va avea o dezvoltare incredibila, in special in partea
aplicatiilor Web.
JavaOS, un sistem de operare compact, proiectat pentru a rula programe Java direct pe
microprocesoarele oricarui echipament electronic: calculator de retea, imprimanta, automat pentru
jocuri, telefon celular etc., interfata de programare JDBC (Java DataBase Connectivity) destinata
conectarii la baze de date prin Java permitind unei aplicatii client sa acceseze direct sistemul de
gestiune a unei baze de date, executind instructiuni SQL, mii de applet-uri disponibile (emulatoare
de terminale TELNET, jocuri interactive, animatii, programe de tele-conferinte), JavaCC (Java
Compiler Compiler) - generator de analizoare lexicale orientat-obiect, pentru limbajul Java, toate

acestea si multe altele sint marturii ca lumea programatorilor in Java este in plina efervescenta si ca
in viitor vom asista, speram, la o maturizare si stabilizare a specificatiilor limbajului.