- PROGRAMMAZIONE -
..:: JAVA ::..



Sezione dedicata al linguaggio java. Questo linguaggio si è diffuso molto ultimamente soprattutto nelle applicazioni e nei giochi per i cellulari. Il java è un linguaggio ad oggetti interpretato e per questo i programmmi hanno bisogno di una macchina virtuale (la Java Virtual Machine) per poter essere eseguiti. La macchina virtuale porta vantaggi in termini di sicurezza e portabilità delle applicazione, ma porta svantaggi in termini di velocità perchè essendo compilata al momento, l'applicazione è più lenta.

Java Sorgenti Programmi Esempi Guide Java Sorgenti Programmi Esempi Guide Java Sorgenti Programmi Esempi Guide Java Sorgenti Programmi Esempi Guide Java Sorgenti Programmi Esempi Guide

Breve Storia  Programmi esempio da scaricare  Guide nel web

Breve storia del java

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:

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 (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.

Valutazione

Secondo molte persone, la tecnologia Java raggiunge ragionevolmente bene tutti i suoi obiettivi. Il linguaggio comunque non è privo di incertezze. Java tende ad essere più ad alto livello di altri linguaggi simili (come il C++); questo comporta carenze in alcune caratteristiche come i tipi di dati specifici, puntatori alla memoria di basso livello e metodi di programmazione come l'overloading degli operatori.

Nonostante queste caratteristiche siano abusate frequentemente dai programmatori, esse sono anche strumenti potenti. Comunque, la tecnologia Java include Java Native Interface (JNI), un modo per chiamare codice nativo da codice Java. Con JNI è quindi possibile ugualmente usare queste caratteristiche.

Alcuni programmatori lamentano anche la mancanza dell'ereditarietà multipla, un potente mezzo di molti linguaggi orientati agli oggetti, tra cui il C++. Il linguaggio Java separa l'ereditarietà del tipo dall'implementazione, permettendo l'ereditarietà multipla dei tipi attraverso le interfacce. Questo permette di ottenere la maggior parte dei benefici dell'ereditarietà multipla evitando molti dei suoi pericoli. Inoltre, attraverso l'uso di classi concrete, classi astratte e interfacce, un programmatore ha la possibilità di scegliere un grado nullo, parziale o completo di implementazione dell'oggetto che definisce, essendo assicurata la massima flessibilità nella progettazione.

Alcune persone pensano che per particolari progetti, la programmazione orientata agli oggetti renda il lavoro più difficile. Questa particolare lamentela non è peculiare di Java, ma è rivolta a tutti i linguaggi di questo tipo. Per contro, la gran parte delle aziende che sviluppano software ha eseguito da tempo il "salto" verso questo nuovo tipo di tecnologie.

Come programmare in Java

La programmazione in Java è una specializzazione della programmazione con linguaggi orientati agli oggetti.
Il linguaggio Java è un linguaggio orientato agli oggetti con una sintassi simile al linguaggio C e al linguaggio C++. Allo sviluppatore già esperto di programmazione OO, alcuni punti dovrebbero essere evidenziati:

1. Java supporta solo la singola ereditarietà di classi, ma permette l'ereditarietà multipla di interfacce.
2. Java ha una libreria di classi molto grande (detta Java API) simile a SmallTalk, e supporta molte caratteristiche, dai contenitori di oggetti a complesse esigenze di sicurezza.
3. Java viene eseguito attraverso una Virtual Machine

L'apprendimento del linguaggio non è difficile. La vastità delle "librerie" (o più correttamente package) standard del linguaggio è tale da renderne praticamente impossibile la "padronanza"; per programmare in Java è dunque necessario avere a disposizione la documentazione delle API del linguaggio, disponibile in linea sul sito ufficiale.

Un buon punto di partenza per imparare Java è il tutorial di Sun.
Per sviluppare programmi in Java è teoricamente sufficiente un qualsiasi editor di testo; in pratica, se si vuole scrivere qualcosa di più del classico hello world, occorre un ambiente di sviluppo integrato. Esistono diversi IDE (Integrated Development Environment, ambiente di sviluppo integrato), alcuni gratuiti ed altri a pagamento.

Fra questi quello più premiato è IntelliJ IDEA vincitore fra l'altro del premio Best Java IDE 2005 rilasciato da JDJ. Si tratta di un IDE completo, molto funzionale ed in grado di garantire una padronanza completa del codice che si sta sviluppando.

Un ambiente di sviluppo per Java gratuito e soprattutto leggero è BlueJ, di chiara impostazione didattica, e disponibile per tutti i sistemi operativi al sito gratuito http://www.bluej.org/. Un altro ambiente per lo sviluppo in Java (e non solo) è Eclipse, donato alla comunità di sviluppatori da IBM e scaricabile dalla pagina http://www.eclipse.org. Eclipse è più avanzato e potente, è libero e disponibile per molti sistemi operativi; da notare che quest'ultimo è strutturato con un'architettura a plugin che permette l'aggiunta di ulteriori funzionalità semplicemente scaricando ed installando il relativo plugin (si veda ad esempio eclipse plugins).

La Sun stessa ha promosso lo sviluppo di un ambiente di sviluppo gratuito e open source chiamato NetBeans e lo mette a disposizione gratuitamente insieme a Sun Java Studio. Questi due ambienti sono scritti in Java e NetBeans è distribuito (opzionalmente) insieme alla macchina virtuale [1]. Come entità separata, NetBeans è scaricabile da netbeans.org. Uno degli IDE commerciali più diffusi è JBuilder prodotto dalla Borland.


Fonte: Wikipedia

Breve Storia  Programmi esempio da scaricare  Guide nel web

Programmi esempio con codice sorgente / source code in java da scaricare

Qui sotto sono proposti tutti i programmi in java con il codice sorgente fatti da me (e in certi casi in gruppo) come compiti o esercitazioni per la classe 4° di un istituto tecnico industriale specilizzazione informatica.
Tutti i programmi con source code proposti sono liberamente scaricabili e liberamente utilizzabili, non essendo sottoposti ad alcuna licenza commerciale. Tuttavia se per caso utilizzate i codici presi da qui vi chiedo (se ripublicati) un link a questo sito... Grazie.

I lavori verranno pubblicati a breve.

Breve Storia  Programmi esempio da scaricare  Guide nel web

Le migliori guide di java presenti nel web

Qui sotto sono riportati i LINK alle migliori guide di java che sono presenti sul web.
Queste guide sono state scritte dai proprietari dei vari siti e non da me! Per chiarimenti o spiegazioni riguardanti queste guide, non contattare me, ma i proprietari dei siti.

Vai! Le migliori guide al Java sono:

Vai
Geocities.com - 6 capitoli

Vai
Html.it - 9 capitoli

Vai
MrWebmaster.it - 12 capitoli

Vai
iProgrammatori.it - 3 capitoli

Vai
WebMasterPoint.org - 23 capitoli

Vai
TutorialPC.it - 12 capitoli


Top



Scambio Link per webmaster





Design by Vettolani Alberto | | Valid CSS & XHTML

Copyright © 2006-2007 digilander.libero.it/vettolani. Tutti i diritti sono riservati.
E-mail webmaster: a.vetto89@hotmail.it