Pagine

Google
in tutto il Web in questo blog e nei suoi archivi

Visitate anche http://ilpixelmatto.altervista.org

mercoledì 19 novembre 2008

Nozioni fondamentali sul java

Cominciamo nel comprendere cos'è la teoria sul linguaggio di programmazione java.

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. La piattaforma di programmazione Java è fondata sul linguaggio stesso, sulla Macchina virtuale Java (Java Virtual Machine o JVM) e sulle API Java.

Java venne creato per soddisfare quattro scopi:

  1. essere orientato agli oggetti
  2. essere indipendente dalla piattaforma
  3. contenere strumenti e librerie per il networking
  4. 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 (strutture di controllo, operatori e così via) è stata mantenuta pressoché identica.

La prima caratteristica, l'orientamento agli oggetti, si riferisce a un moderno metodo di programmazione e progettazione, la programmazione orientata agli oggetti (OOP). L'idea alla base della OOP è di rappresentare, nella progettazione del software, le entità reali o astratte che compongono il problema sotto forma di oggetti. Gli oggetti sono caratterizzati da delle proprietà (definite variabili o campi di istanza o di esemplare) e di metodi applicabili sugli oggetti stessi, che possono ad esempio modificarne lo stato o estrarne informazioni. I programmi scritti in Java possono essere unicamente orientati agli oggetti, di conseguenza tutto il codice deve essere necessariamente incluso in una classe. Sebbene Java possa operare sia su oggetti che su tipi di dati primitivi, è considerato un linguaggio ad oggetti puro, ovvero nel quale gli oggetti sono le entità di base del linguaggio, anziché essere costruiti partendo da costrutti ad un inferiore livello di astrazione.

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 detto bytecode, basato su istruzioni semplificate che ricalcano il linguaggio macchina. Il bytecode verrà quindi eseguito da una macchina virtuale. 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 hardware diverse, bisogna tenere presente che questi poi dipendono dalle macchine virtuali che sono programmi a sé e che hanno inevitabilmente i loro bug, diversi l'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" ("write once, debug anywhere").
Con il linguaggio java è infatti possibile scrivere il programma una volta, compilarlo e poi eseguirlo sotto windows, mac o un sistema unix (che abbiano sopra una macchina virtuale) senza doverlo ricompilare.

Con questo concludo la parte teorica, più avanti spiegherò come si scrivono programmi in java in questo stesso articolo!

Nessun commento: