Mòdul 1  

Pràctica 1: Presentació del llenguatge  
Tornar presentació tema
  Pràctica 1 Pràctica 2 Pràctica 3 Pràctica 4 Pràctica 4  
     
  Què és Java?  
     
 

A la introducció es comentava que, entre els llenguatges de programació actuals, Java és un dels més utilitzats perquè és un llenguatge molt segur, robust i eficient i, a més, funciona molt bé en xarxa i pot córrer sobre pràcticament qualsevol processador del mercat. Coneguem-ne una mica la història.

A finals dels anys vuitanta del segle passat els executius de Sun Microsystems, potser en un excés d'optimisme tecnològic, varen imaginar l'escenari imminent de la llar robotitzada: l'entrada massiva de l'electrònica a les cases faria necessària una "coordinació" de tots els aparells electrodomèstics. Tots es programarien en el mateix llenguatge i es gestionarien des de consoles centralitzades. S'esperava, especialment, una evolució ràpida de la televisió, que passaria d'emetre una llista de canals a ser un objecte interactiu on l'usuari triaria el contingut. L'empresa que crees el llenguatge capaç de programar i coordinar tots aquests dispositius, d'arquitectures tant diferents, ocuparia el lloc que Microsoft estava conquerint en els PCs.

 
 
 
 
James Gosling, l'enginyer creador del nucli de Java
 
     
 

Sun va crear un equip d'enginyers al voltant de James Gosling, que estava treballant en la creació d'un llenguatge alternatiu a C++ . Es va optar dirigir-lo a objectes i fer-lo multitasca, seguint el model del C++ i, per a fer-lo portable entre dispositius van fer, per primer cop, un llenguatge alhora interpretat i compil·lat.

Desgraciadament per a Sun Microsystems, l'electrònica no va evolucionar exactament en la direcció que havien previst i tot l'esforç de creació de Java va quedar força compromés, just quan acabava de dissenyar-se. Afortunadament, a mitjans dels anys noranta, va trobar una escletxa en el mercat amb la programació de la web del costat del client; els famosos applets o miniaplicacions, que només precisen per ser executats que el navegador tingui incorporada la màquina virtual de Java.

A partir d'aquí, Java ha anat guanyant terreny poc a poc fins a esdevenir, a hores d'ara, el llenguatge més polivalent del mercat i el més utilitzat en entorns empresarials. Per a gairebé qualsevol necessitat de programació Java té una API (Application Programming Interface); per a les principals arquitectures d'ordinadors, Java té una màquina virtual disponible.

El lema de Java és write once, run anywhere. Si escrius un programa en Java podrà córrer en practicament qualsevol tipus d'ordinador.

 
     
  Com funciona Java?  
     
 

Una de les claus de l'èxit de Java són les seves capacitats multiplataforma, que expliquen la peculiar arquitectura del llenguatge

Java no funciona com la major part de llenguatges de programació compilats, on el compilador passa el codi font al llenguatge màquina concret del processador i l'enllaçador construeix els fitxers executables. Java és compilat i interpretat simultàniament. Vegem-ho:

El procés comença com a qualsevol llenguatge: començarem per escriure els fitxers font (que han de tenir l'extensió .java ) amb el codi que volem. A continuació, compilarem aquests fitxers i obtindrem els fitxers compilats amb l'extensió   .class , els quals ja poden ser distribuïts. No hi ha, doncs, enllaçat (linkage).

 
 

 
 
Ara bé, aquests fitxers  *.class , resultat de la compilació , no són pas codi màquina ni res que pugui ser entès per cap sistema operatiu, sinó que contenen bytecodes : una mena de codi de baix nivell que serà interpretat per la Màquina Virtual de Java, una màquina abstracta (que només és programari); aquesta haurà de ser instal·lada a la màquina "real" en la qual es vulgui executar l'aplicació continguda als fitxers   *.class
 
 
 
     
 

Això fa que el codi de bytecodes que distribuïm sigui independent del maquinari i del sistema operatiu de la màquina en la qual calgui executar-lo. Evidentment, qui executa el codi (la Màquina Virtual de Java), sí que ho és de dependent .

Sovint, si el nombre de fitxers   *.class   és gran, es comprimeixen tots (i d'altres recursos com sons, gràfics, etc.) en un únic fitxer   *.jar que és el que es distribueix i és el que llegeix i executa la màquina virtual de Java.

 
 
 
 


Com us hem explicat, l'èxit inicial i la popularitat de Java es deu al fet que els navegadors ( Mozilla, Netscape Navigator , MS Internet Explorer , Hotjava , etc.) poden executar applets de Java . Un navegador és capaç d'executar applets simplement perquè el seu programari inclou sempre una Màquina Virtual, que és qui executa el codi.

 

 
 
 
 

 

Així doncs, resumint, amb Java compil·lem de codi font a bytecodes, un llenguatge que entenen totes les màquines virtuals de Java. Quan executem un programa, la màquina virtual específica de cada sistema operatiu passa els bytecodes al llenguatge màquina del sistema corresponent. Aquesta és la idea fonamental que permet dir que Java és un llenguatge multiplataforma.

 
 

 

Tornar al principi