Il linguaggio Java è un linguaggio di programmazione
orientato agli oggetti, derivato dal C++ (e quindi indirettamente dal
C) e creato da James Gosling e altri ingegneri di Sun Microsystems.
Il gruppo iniziò a lavorare nel 1991, il linguaggio
inizialmente si chiamava Oak. Il nome fu successivamente cambiato in
Java a causa di un problema di copyright (il linguaggio di
programmazione Oak esisteva già nel 1991). Java fu annunciato
ufficialmente il 23 maggio 1995 a SunWorld. La piattaforma di
programmazione Java è fondata sul linguaggio stesso, sulla
Java Virtual Machine (JVM) e sulle API. Java è un marchio
registrato di Sun Microsystems. Il 13 novembre 2006 la Sun
Microsystems ha rilasciato Java sotto licenza GPL: Java è
diventato così un linguaggio di programmazione open source.
Panoramica
Java venne creato per soddisfare quattro scopi:
-
essere orientato agli oggetti
-
essere indipendente dalla piattaforma
-
contenere strumenti e librerie per il networking
-
essere progettato per eseguire codice da sorgenti remote in
modo sicuro
Per facilitare il passaggio a questo linguaggio per i
programmatori old-fashioned legati in particolare a linguaggi come il
C la sintassi di base (cicli, operatori, ...) è stata
mantenuta pressoché identica..
Orientamento agli Oggetti
La prima caratteristica, l'orientamento agli oggetti, si riferisce
a un moderno metodo di programmazione e progettazione. L'idea
principale della programmazione ad oggetti consiste nel rendere il
software la rappresentazione di entità reali o astratte ma ben
definite (oggetti). Questi oggetti, come nella vita pratica, hanno
proprietà rappresentate da valori, e qualità o meglio
metodi: ciò che sanno fare questi oggetti. Si pensi ad una
automobile: ha delle proprietà come il colore o il numero di
porte, e dei metodi, per esempio può girare a destra o
sinistra, andare avanti o indietro, accelerare, decelerare ecc.
Riportando la programmazione in questi termini è facile capire
come questo renda più facile la gestione di grandi progetti,
migliorarne la qualità e la mantenibilità.
Indipendenza dalla piattaforma
La seconda caratteristica, l'indipendenza dalla piattaforma,
significa che l'esecuzione di programmi scritti in Java deve avere un
comportamento simile su hardware diverso. Si dovrebbe essere in grado
di scrivere il programma una volta e farlo eseguire dovunque. Questo
è possibile con la compilazione del codice di Java in un
linguaggio intermedio bytecode, basato su istruzioni semplificate che
ricalcano il linguaggio macchina. Esso viene eseguito da una virtual
machine, cioè da un interprete: Java è quindi, in linea
di massima, un linguaggio interpretato. Inoltre, vengono fornite
librerie standardizzate per permettere l'accesso alle caratteristiche
della macchina (come grafica e networking) in modo unificato. Il
linguaggio Java include anche il supporto per i programmi con
multithread, necessario per molte applicazioni che usano la rete.
La portabilità è un obiettivo tecnicamente difficile
da raggiungere, e il successo di Java in questo ambito è
materia di alcune controversie. Sebbene sia in effetti possibile
scrivere in Java programmi che si comportano in modo consistente
attraverso molte piattaforme diverse, bisogna tenere presente che
questi poi dipendono dalle virtual machine, che sono programmi a sé
e che hanno inevitabilmente i loro bug, diversi dall'una all'altra:
per questo è nata una parodia dello slogan di Sun "Scrivi
una volta, esegui dovunque" ("write once, run everywhere"),
che è diventato "Scrivi una volta, fai il debug ovunque".
Compilazione Just-In-Time
Le prime implementazioni del linguaggio usavano una virtual
machine che intepretava il bytecode per ottenere la massima
portabilità, definita Architecture Neutral. Questa soluzione
si è però rivelata poco efficiente, in quanto i
programmi interpretati erano molto lenti. Per questo, tutte le
implementazioni recenti di macchine virtuali Java hanno incorporato
un JIT compiler, cioè un compilatore interno, che al momento
del lancio traduce al volo il programma bytecode Java in un normale
programma nel linguaggio macchina del computer ospite. Inoltre,
questa ricompilazione è dinamica, cioè la virtual
machine analizza costantemente il modello di esecuzione del codice
(profiling), e ottimizza ulteriormente le parti più
frequentemente eseguite, mentre il programma è in esecuzione.
Questi accorgimenti, a prezzo di una piccola attesa in fase di lancio
del programma, permettono di avere delle applicazioni Java
decisamente più veloci e leggere. Tuttavia, anche così
Java resta un linguaggio meno efficiente dei linguaggi compilati come
il C++, scontando il fatto di possedere degli strati di astrazione in
più, e di implementare una serie di automatismi, come il
garbage collection, che se da un lato fanno risparmiare tempo ed
errori in fase di sviluppo dei programmi, dall'altro consumano
memoria e tempo di CPU in fase di esecuzione del programma finito.
E dopo questo bel preambolo, iniziamo a
Programmare il nostro primo codice Java :
Utenti Netbeans: dal menu' in alto:
New->New Project
Scegliere in Categories: General
Scegliere in Projects: Java Application
Next
Mettere un nome a scelta , togliere la
spunta a :"create main class" e cliccare su finish.
Ci apparira' sulla sinistra un menu' ad
albero con il nome del nostro progetto,cliccando con il destro sul
nome, si aprira' un menu' nel quale sceglieremo la voce "New ->
Java Class ", si aprira' una finestra e qui metteremo il nome
della nostra classe :" Test"
Dopodiche' andremo ad adattare il
codice......
Per gli utenti che hanno deciso di
usare un semplice editor, basta scrivere il seguente codice e salvare
come "Test.java".
Attenzione alla maiuscole/miniscole,
java e' case-sensitive!!
Dichiariamo la nostra prima Classe:
public class Test{
public static void main(String []
Args){
System.out.printl("Benvenuti
su Tiempolibresite");
}
}
Questa e' la nostra prima classe, essa
contiene solo un metodo "Main".
Main e' un metodo particolare, il
compilatore Java lo cerchera' sempre per poter avviare la
compilazione e il Run del programma.
Andiamo per ordine:
prima ho dichiarato una classe :
public class test {}
All' interno di essa ho utilizzato un
Metodo: public static void main(String [] Args){}
All' interno del Metodo "Main"
ho usato il Metodo println() che a sua volta viene invocato su un
oggetto "out", il quale si trova nella classe "System".
Il programma in questione stampa a video la scritta:"
Benvenuti su Tiempolibresite ".
Adesso pero' dobbiamo compilare il programma :) avete installato
JAVA???? :)
Per gli utenti netbeans: cliccare sulla icona in alto a destra,
una freccia verde (la prima!) oppure il tasto F6.
Per chi usa l'editor:
aprire una Dos-Box , una shell linux o una shell MacOs , portarsi
dove avete salvato il file e digitare:
#javac Test.java (compilazione)
#java Test (Run)
Se tutto e' andato bene, vedrete la scritta di benvenuto sul
monitor :)
