linguaggio di programmazione

Linguaggio di programmazione Java

Linguaggio di programmazione Java

Linguaggio di programmazione Java, il linguaggio real-time

Il linguaggio di programmazione Java è presente nella vita di tutti i giorni. Ma non molti conoscono la sua storia e quali sono state le difficoltà di implementazione
Nel 1991 un equipe d’ingegneri della Sun Microsystem che avevano come leader Patrick Naughton e James Gosling danno vita alla progettazione di un linguaggio di programmazione specifico per programmare dispositivi elettronici di piccole dimensioni. All’inizio Gosling denomina questo linguaggio con il nome di Oak (quercia”), traendo ispirazione da una quercia che ammira durante la sua pausa caffè del mattino. Proprio durante questa pausa decide di utilizzare il nome Java per questo nuovo linguaggio di programmazione.

Lo scopo di questo nuovo linguaggio informatico era chiaro a tutto il team. Un linguaggio di programmazione leggero, portabile e che era anche in grado di funzionare anche con poca memoria. Una caratteristica molto importante di questo linguaggio informatico era la capacità di funzionare indipendentemente dal tipo di architettura hardware in uso. Infatti, obbliga gli sviluppatori ad usare una soluzione tecnica già vista per la prima volta in BCPL, quella di usare una Virtual Machine; la soluzione della Virtual Machine era già stata studiata da Niklaus Wirth, sviluppatore del linguaggio Pascal. Infatti, il linguaggio Pascal formalizzò la possibilità di un linguaggio portabile fondato sulla generazione di codice intermedio. Dal Pascal il Java e prese in prestito alcune implementazioni basate su una Virtual Machine.

Il linguaggio di programmazione Java e la macchina virtuale

Ogni qual volta che un programma viene scritto e compilato, il compilatore lo converte in bytecodes. Il bytecodes rappresenta le istruzioni in linguaggio macchina di una CPU Virtuale, detta appunto Machine Virtual Java (Java Virtual Machine), più brevemente JVM. La JVM non ha nessuna corrispondenza con una CPU reale anche se teoricamente potrebbe essere implementata su una piattaforma hardware. La JVM è sempre realizzata in forma di software che mette in pratica le istruzioni in bytecodes grazie all’uso di un interprete. Si può definire che la JVM ha il compito di tradurre i bytcodes in istruzioni macchina per la CPU del computer con il quale lavoriamo per eseguire un programma in Java. Per essere in grado di eseguire un programma scritto in Java su un tipo di piattaforma hardware e software (ad esempio, un PC Pentium Intel o Mc OS X) è fondamentale che sia installata la JVM (capace di tradurre le istruzioni per un determinato sistema).

Quali sono i vantaggi per usare Java

Ma quali sono i vantaggi per passare da un linguaggio intermedio (i bytcodes) ad un linguaggio interpretato ?Questi i principali vantaggi:

  • l’interprete per il linguaggio dei bytecodes è molto più efficiente di un interprete per un linguaggio ad alto livello come il linguaggio Java. Infatti, il linguaggio dei bytecodes si approssima molto al linguaggio macchina di una CPU reale di quanto non lo siano i linguaggi di alto livello
  • grazie all’indipendenza del linguaggio intermedio (i bytecodes) che fa da raccordo tra il linguaggio Java e le differenti piattaforme hardware. Per esempio, il linguaggio Java può anche essere modificato oppure esteso senza aver bisogno di trasformare il linguaggio dei bytecodes e le relative JVM (questo è avvenuto sopratutto durante le varie revisioni del linguaggio .
  • un altro fattore non trascurabile nei software, la sicurezza.

Il linguaggio intermedio dei bytecodes e le varie JVM sono soltanto una parte dell’insieme che fa si che il linguaggio Java si uno fra i linguaggi di programmazione più portabili. Mentre l’altra parte comprende la piattaforma Java.

La piattaforma del linguaggio Java

La piattaforma Java (Java platform) sono tutte le librerie predefinite disponibili in ogni installazione Java; tali librerie sono usate da programmi scritti in Java. Solitamente, con il termine piattaforma si considerano tutte le API (Application Programming Interface) che possono essere usate da un programmatore su un determinato sistema operativo. Infatti, tutte le librerie dipendono e sono definite dal sistema operativo in uso (Linux, Mac OS X, Solaris, Windows ecc..).
Java non può essere considerato come un sistema operativo ma le caratteristiche delle API messe a disposizione delle librerie Java (la piattaforma Java) si possono equiparare a quelle presenti in un sistema operativo.
Di fatto, un programmatore è in grado di scrivere interamente nel linguaggio Java applicazioni senza rinunciare alle funzionalità avanzate che altrimenti sarebbero disponibili soltanto ad applicazioni native scritte per un determinato sistema operativo. Un’applicazione scritta per la piattaforma Java si può anche eseguire senza nessun tipo di cambiamento su ogni tipo di sistema operativo che supporta la piattaforma Java. Lo stesso di può dire, per i programmi in Java che possono essere eseguiti su molti sistemi operativi differenti (Microsoft Windows, Mac Os X, Linux, Solaris). Tutto questo è riassunto nel motto che la Sun a creato per Java: “write one, run anywhere”.

Confronto con altri linguaggi di programmazione

Il linguaggio Java si allontana molto dal linguaggio Pascal ed usa molte strutture del linguaggio di programmazione C++, sia nella sintassi che nella semantica. Il primo confronto deve essere fatto con due linguaggi predecessori di Java, il C ed il C++. Il linguaggio di programmazione C è anche l’antenato del C++ e tutti gli elementi che Java eredita dal C lo eredita anche in maniera dirette dal C++. Da sottolineare che Java fa proprie molte caratteristiche del C++.Quali sono le differenze tra Java, C e C++ ?Sia Java che C++ sono linguaggi orientati agli oggetti mentre il linguaggio C è procedurale. Non è del tutto inesatto affermare che Java è una versione semplificata del C++. Di fatto, due aspetti ostici del C++ hanno avuto risoluzione nel linguaggio Java. Analizziamo i singoli aspetti risolti in Java:

  • tutti i problemi derivati dalla gestione diretta della memoria tramite l’uso di puntatori. In Java la gestione automatica della memoria (garbage collection) ha eliminato questo di problema.
  • led difficoltà delll’eredità multipla del C++ in Java ha avuto risoluzione tramite un meccanismo più debole ma più affidabile

linguaggio di programmazioneNei primi anni del 1990, la commercializzazione dei dispositivi elettronici, per cosi dire, “intelligenti”, non si era ancora sviluppato ampiamente e tutto il progetto Java stava rischiando di andare in fallimento. Intanto, il World Wide Web ed Internet stava crescendo a dismisura e tutti gli ingegneri del progetto Java. Infatti, tutti progettisti del team Java furono consapevoli ben presto che la neonata tecnologia del browser poteva essere potenziata in maniera ulteriore, grazie alle caratteristiche del linguaggio Java. Questo era possibile perché il linguaggio Java era indipendente dall’architettura hardware in uso, era real-time ed era affidabile e sicuro.Alla conferenza SunWorld del 1995, viene presentato al pubblico il browser HotJava che era scritto completamente in linguaggio di programmazione Java ed era anche capace di eseguire codice Java contenuto nelle pagine web (quello che oggi chiamiamo comunemente applet). Nel 1996, Sun rilascia la sua prima versione di Java. Il linguaggio Java suscitò dell’interesse ma tale interesse non era ancora adeguato per sviluppare applicazioni di un certo calibro.Oggi, Java è un linguaggio adulto ed è implementato per creare applicazioni su grande scala, come per esempio,potenziare le funzioni di un Web Server oppure fornire applicazioni per dispositivi elettronici di largo consumo come gli Smartphone o Iphone. Per maggiori informazioni o per scaricare l’ultima versione di Java per il vostro dispositivo o sistema operativo cliccate su aggiornamento all’ultima versione di Java

photo of andrea barbieri

BTF Traduzioni SEO Sviluppo Web

Piazza Giusepp Mazzini, 46

Poggibonsi, Siena, 53036 Italia

+393296664935
traduzione, traduttore, programmatore, blogger, realizzazione siti web, Web Marketing, lezioni private di lingua,

About btftraduzioniseoweb

Ciao mi chiamo Andrea Barbieri e sono il titolare dello studio BTF. Programmatore da sempre traduttore da una vita. Lo studio si occupa di progettazione e realizzazione siti internet. Inoltre, offriamo un servizio di traduzioni professionali e localizzazione di siti web in Inglese, Francese, Tedesco, Spagnolo ed Italiano. All'interno del blog sono pubblicati periodicamente tutorial di Web Marketing, SEO, linguaggi di programmazione e molto altro.