Java/Introduzione: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
BimBot (discussione | contributi)
m Bot: Modifico Categoria:Linguaggio Java
Ramac (discussione | contributi)
sistemo e sposto
Riga 1:
{{Java}}
Java è un linguaggio sviluppato dalla Sun, azienda che da anni opera nel campo dell'informatica e della programmazione.
 
Come linguaggio Java ricorda molto da vicino il C++, ma è fortemente diverso in molti punti: è un linguaggio orientato ad oggetti in cui, a differenza del C++ si possono utilizzare con meno libertà alcune caratteristiche tipiche del C tradizionale, come i puntatori, ma si ha in compenso una maggiore strutturazione di tutto il linguaggio.
<br/>In particolare Java si basa sul concetto di '''ereditarietà''' degli oggetti: ogni oggetto in Java è figlio di un oggetto base, Object, da cui eredita metodi e variabili. Un altra caratteristica saliente di Java che lo ha reso così popolare è la possibilità d'essere documentato oggetto per oggetto, metodo per metodo e la possibilità di estrarre la documentazione al di fuori del sorgente tramite il meccanismo di JavaDoc.
 
Ma il vero cuore di Java sta nella sua portabilità: Java può funzionare virtualmente ovunque, grazie al meccanismo della Java Virtual Machine che fa da filtro tra il codice Java e la macchina. Un qualsiasi sorgente Java può quindi potenzialmente essere programmato per un architettura x86, ma essere portato facilmente e velocemente su un architettura per PowerPC.
 
== Un linguaggio rivoluzionario ==
Java è stato progettato partendo da zero, nessuna compatibilità con il passato doveva essere rispettata,: questo ha permesso ai progettisti di fare un linguaggio che rispondesse alle più moderne esigenze di programmazione.
 
Progettato per creare software altamente '''affidabile''', fornisce ampi controlli in fase di compilazione, seguito da ulteriori controlli in fase di esecuzione. Il linguaggio rappresenta una guida ai programmatori verso l’abitudine a produrre programmi affidabili: gestione automatica della memoria, nessun puntatore da gestire, nessun codice "oscuro".
 
Java è nato per operare in ambiente distribuito, ciò significa che l’argomento '''sicurezza''' e di grande importanza. È stata dedicata particolare attenzione alla sicurezza sia a livello di linguaggio sia a livello di sistema run-time. Java permette di costruire applicazioni che possono difficilmente essere invase da altre applicazioni.
 
L’architettura neutrale di Java è solo una parte di un sistema veramente portabile. Java fa fare alla portabilità un passo avanti, precisando e specificando la grandezza dei tipi di dati e il comportamento degli operatori aritmetici, i programmi sono gli stessi su ogni piattaforma, non ci sono incompatibilità di tipi di dati attraverso diverse architetture hardware e software.
 
Le '''prestazioni''' sono sempre da considerare: Java ottiene ottime prestazioni adottando uno schema attraverso il quale l’interprete può eseguire i bytecode alla massima velocità senza necessariamente controllare l’ambiente run-time, anche grazie a tecnologie come il Just In Time Compiler. Una applicazione automatica, il ''garbage collector'', eseguita in background si occupa inoltre di liberare periodicamente la memoria inutilizzata dai processi e quindi assicura, con elevata probabilità, che la memoria richiesta dalle applicazioni sia sempre disponibile.
 
La capacità multithreading di Java dà i mezzi per costruire applicazioni con più attività concorrenti: Java supporta il multithreading a livello di linguaggio con aggiunta di sofisticate primitive di sincronizzazione; inoltre il sistema Java è stato scritto per essere sicuro nella gestione del multithreding: delle funzionalità provvedono che le librerie siano disponibili senza conflitti tra thread concorrenti in esecuzione.
 
La capacità '''''multithreading''''' di Java fornisce i mezzi per costruire applicazioni con più attività concorrenti: Java supporta il multithreading a livello di linguaggio con aggiunta di sofisticate primitive di sincronizzazione; inoltre il sistema Java è stato scritto per essere sicuro nella gestione del multithreding: delle funzionalità provvedono che le librerie siano disponibili senza conflitti tra thread concorrenti in esecuzione.
{{Avanzamento|100%}}
 
[[Categoria:Java|Introduzione]]
{{Avanzamento|100%|30 aprile 2008}}