Per prima cosa è bene sgombrare il campo da equivoci: Java è un vero e proprio linguaggio di programmazione, e il suo utilizzo richiede una certa esperienza, o almeno la volontà di apprendere alcune tecniche di programmazione.
Un linguaggio di programmazione diventato ormai uno standard per applicazioni di rete e applet inseriti nei siti web, oltre che in molte delle più recenti tecnologie, dai telefoni cellulari agli smartphone e ai tablet, fino agli elettrodomestici più evoluti.
Dopo i primi anni in cui era considerato un oggetto oscuro e misterioso, Java si è affermato come linguaggio di programmazione tra i più diffusi in assoluto.
Il settore in cui Java viene utilizzato maggiormente rimane quello delle applicazioni destinate in qualche modo al Web, ma occorre tenere presente che, con l’evoluzione di Internet e, più in generale, dei dispositivi mobili, la rete è sempre più affollata da strumenti di diverso tipo che comunicano e interagiscono tra loro, dai notebook agli smartphone.
Java ben si presta come strumento per realizzare applicazioni che integrino dispositivi e sistemi diversi. Un campo in cui l’utilizzo di Java ha riscosso grande successo è quello dei sistemi di gestione finanziaria via Internet: acquisti di borsa, operazioni sul conto corrente e così via.
Inoltre, Java accompagna da vicino la grande diffusione dei telefoni cellulari e dei sistemi informatici mobili, consentendo di creare applicazioni per fornire servizi fruibili tramite questi dispositivi: sistemi di messaggistica, navigazione e cartografia, calcolo, gestione finanziaria e molti altri, senza tralasciare le applicazioni più gradite ai giovani, come quelle per la gestione delle suonerie dei cellulari, o gli intramontabili giochi.
Ma vediamo meglio 5 cose molto utili e semplici da comprendere su questo veloce, sicuro e affidabile linguaggio di programmazione nonché piattaforma di elaborazione, sviluppato da Sun Microsystems nel 1995. Leggiamole insieme.
1. Uno strumento per migliorare Internet
L’idea a cui Java deve la sua origine è molto semplice: trovare uno strumento che consentisse di sviluppare software utilizzabili sul maggior numero possibile di sistemi.
Questo strumento, Java, è un linguaggio di programmazione a tutti gli effetti, come C e C++ o C#, però ha diverse peculiarità:
- è gratuito (almeno per ora!);
- consente di creare applicazioni eseguibili su un’ampia varietà di computer e sistemi operativi diversi;
- è ormai considerato un riferimento per lo sviluppo di applicazioni integrate nelle pagine del World Wide Web.
Java è un linguaggio di programmazione a tutti gli effetti, utilizzabile per scrivere applicazioni di ogni tipo da eseguire su computer singoli o connessi in rete, ma il suo successo si deve principalmente a due aspetti:
- è particolarmente adatto all’utilizzo su Internet come strumento per migliorare la funzionalità dei siti web e non solo;
- si presta a realizzare applicazioni non soltanto per i computer, ma anche telefonini, smartphone e qualsiasi tipo di apparecchio che possa trarre giovamento da un controllo informatico, per esempio sistemi GPS, sensori di vario tipo e perfino lavatrici e frigoriferi.
Il settore in cui Java viene utilizzato maggiormente rimane quello delle applicazioni destinate in qualche modo al Web, ma occorre tenere presente che, con l’evoluzione di Internet e, più in generale, dei dispositivi mobili, la rete è sempre più affollata da strumenti di diverso tipo che comunicano e interagiscono tra loro, dai notebook agli smartphone.
Java ben si presta come strumento per realizzare applicazioni che integrino dispositivi e sistemi diversi.
In origine (la prima versione ufficiale di Java risale alla metà degli anni Novanta) Java veniva utilizzato prevalentemente per realizzare effetti grafici, con applicazioni che puntavano a migliorare l’aspetto dei siti web mediante animazioni, scritte scorrevoli come quelle dei tabelloni elettronici nei negozi e altri effetti simili.
Ben presto, però, il linguaggio fu introdotto in ambiti ben più professionali e oggi viene utilizzato per scopi sempre più concreti: gestire archivi e database in linea con possibilità di interazione diretta, presentazioni interattive, sistemi di gestione finanziaria, controllo di dispositivi elettronici, sistemi per la didattica online e così via.
In sostanza si può dire che, mentre nel campo degli effetti visivi e di animazione Java è stato rimpiazzato da tecnologie più adatte a questi scopi, che affiancano e potenziano il classico HTML, proprio nei campi più professionali, dai servizi finanziari alla ricerca scientifica, il linguaggio ha ottenuto un successo ormai consolidato.
Un campo in cui l’utilizzo di Java ha riscosso grande successo è quello dei sistemi di gestione finanziaria via Internet: acquisti di borsa, operazioni sul conto corrente e così via.
Negli ultimi anni questi sistemi si sono diffusi moltissimo, tanto che praticamente tutte le banche mettono a disposizione della clientela un servizio di accesso al conto corrente in linea.
Inoltre, Java accompagna da vicino la grande diffusione dei telefoni cellulari e dei sistemi informatici mobili, consentendo di creare applicazioni per fornire servizi fruibili tramite questi dispositivi: sistemi di messaggistica, navigazione e cartografia, calcolo, gestione finanziaria e molti altri, senza tralasciare le applicazioni più gradite ai giovani, come quelle per la gestione delle suonerie dei cellulari, o gli intramontabili giochi.
2. Un linguaggio di programmazione vero e proprio
Per evitare malintesi, è bene chiarire un punto fin da subito: Java è un linguaggio di programmazione a tutti gli effetti, per molti versi affine al C++/C#.
Questo fatto in sé è sufficiente per distinguerlo nettamente dal linguaggio HTML, con cui alcuni in passato lo confondevano.
HTML è il linguaggio utilizzato per realizzare le pagine web su Internet; non si tratta di un linguaggio di programmazione vero e proprio, ma di una sorta di sistema di codifica che consente, mediante l’inserimento di opportuni codici all’interno di normali file di testo, di realizzare pagine interpretabili dai browser del World Wide Web come Mozilla Firefox, Internet Explorer, Google Chrome e altri.
Java, invece, è molto di più: è un vero linguaggio di programmazione orientato agli oggetti, con il quale si possono creare applicazioni anche molto complesse in tutti i campi.
Questo porta a un vantaggio evidente, costituito dalle notevoli potenzialità di Java, ma anche a uno svantaggio: benché molti si ostinino ad affermare il contrario, Java non è affatto semplice da utilizzare, almeno per chi non possiede solide basi di conoscenza nel campo della programmazione.
Nel grande fermento che caratterizza Internet, molti si sono dedicati alla realizzazione di pagine web per una varietà di scopi, da quelli puramente commerciali a quelli culturali, come avviene per esempio per i numerosissimi siti universitari.
Creare una pagina web con il linguaggio HTML è relativamente semplice, e chiunque abbia una discreta conoscenza dell’informatica è in grado di farlo, dopo aver acquisito un po’ di pratica. Grazie ad applicazioni come Dreamweaver e molte altre, bastano pochi clic del mouse per ottenere un sito web di aspetto soddisfacente.
Per realizzare applicazioni Java, invece, è necessario compiere un piccolo salto di qualità: entrare nel mondo un po’ misterioso della programmazione.
Tuttavia non è il caso di spaventarsi: rispetto ad altri linguaggi di programmazione, Java può essere considerato relativamente semplice, e può anche rappresentare un buon punto di partenza per chi non ha mai sviluppato programmi su computer, ma è interessato e vuole imparare.
Inoltre, non tutti hanno la necessità di realizzare applicazioni complesse; per ottenere una semplice applicazione che consente di gestire un archivio online, per esempio un listino commerciale, non è necessaria la laurea in informatica.
3. Un po’ di storia
Java è nato intorno al 1990 nei laboratori di ricerca di Sun Microsystems, un’azienda di informatica molto nota per le sue workstation, e il suo primo nome fu in realtà Oak.
L’intento originario era quello di creare un nuovo strumento per il controllo di piccole apparecchiature elettroniche, dal videoregistratore alla macchina per il caffè.
In questo modo si pensava che sarebbe stato possibile gestire, con un linguaggio standard e indipendente dalla piattaforma utilizzata, tutte quelle funzionalità di controllo che ormai regnano nell’elettronica di consumo: la memorizzazione dei programmi televisivi, la programmazione dei tipi di lavaggio nelle lavatrici e chissà che altro.
Da decenni ormai il computer è entrato davvero nelle case di tutti, anche se non sempre è riconoscibile come elemento distinto; quasi tutti i piccoli apparecchi elettronici che riempiono le case e le vite di tutti noi (orologi, televisori, videoregistratori, macchine fotografiche, telefoni cellulari) contengono dei microprocessori che ne controllano il funzionamento.
Con Java è possibile gestire meglio la programmazione di tali apparecchi. Se entrate in un centro commerciale ben fornito e vi recate nel reparto di elettrodomestici, non farete fatica a trovare lavatrici e altri apparecchi che utilizzano Internet per dialogare con i centri di assistenza dei produttori e altre funzioni. In molti casi questi sistemi sono realizzati anche grazie all’uso di Java.
Il successo di Internet, un evento che si può considerare inatteso almeno nelle proporzioni che ha poi assunto, impresse una svolta decisiva alla strada intrapresa da Java.
Nel gennaio del 1995 il linguaggio Oak, che non aveva riscosso il successo sperato nel campo dell’elettronica di consumo, fu abbandonato, e dalle sue ceneri nacque Java: il linguaggio di programmazione di Internet.
Visto l’immediato successo riscosso da Java, Sun Microsystems investì risorse notevoli nel suo sviluppo, e fu accompagnata da numerose software house impegnate nel settore degli strumenti di sviluppo per Java.
Un’altra tappa importante nella storia di Java risale al 2005, quando è stato avviato il processo per portare il linguaggio a diventare un prodotto open source: non solo gratuito, quindi, ma anche con i sorgenti disponibili a tutti.
Pochi anni dopo è nato il progetto OpenJDK (http://openjdk.java.net/) che offre un’implementazione libera e open source di Java SE.
Si resta sbigottiti di fronte al successo di questo linguaggio, se si pensa che la prima versione definitiva del prodotto, il Java Development Kit 1, fu resa disponibile soltanto nel 1996.
Oggi Java è considerato un linguaggio potente e affidabile per lo sviluppo di applicazioni Internet e di rete in generale, particolarmente adatto all’implementazione di applicazioni per la tecnologia mobile come telefonini, tablet smartphone.
4. Java funziona ovunque ed è alla portata di tutti
Una delle caratteristiche principali di Java, che è stata mantenuta fin dalla sua prima versione, è l’indipendenza dalla piattaforma, ovvero il fatto che le applicazioni create con questo linguaggio possono essere eseguite (almeno in teoria) su qualsiasi tipo di computer.
In realtà sarebbe meglio non parlare in termini così assoluti, ma si può certamente affermare che Java è disponibile e utilizzabile per la maggior parte dei sistemi più diffusi oggigiorno, dai personal computer con Windows o Mac OS, ai sistemi Unix più avanzati.
Questa caratteristica, che in realtà non è del tutto nuova, ma rappresenta da anni un obiettivo di chi si occupa di sviluppare nuovi linguaggi o standardizzare quelli esistenti, è stata ottenuta grazie a un’idea molto semplice: fornire una serie di ambienti di runtime specifici per le piattaforme più utilizzate.
In questo modo, per esempio, chiunque utilizzi un personal computer con Windows, o un sistema Linux, può disporre di un ambiente in grado di riconoscere il codice dei programmi Java, ovvero il bytecode generato dal compilatore, e interpretarlo tramite un apposito interprete di bytecode.
Così si ottengono i benefici di velocità e controllo del codice offerti dai linguaggi compilati (anche se non si raggiungono le prestazioni offerte dai compilatori di codice nativo come quelli del C++/C#), e grazie agli interpreti di bytecode si ha la possibilità di eseguire con grande facilità la stessa applicazione su sistemi diversi.
Java è un linguaggio orientato agli oggetti e dispone di una nutrita libreria di classi già pronte in grado di soddisfare le esigenze di base dei programmatori; per questo può essere considerato il primo linguaggio di programmazione utilizzabile senza modifiche significative sulla netta maggioranza dei sistemi attualmente in uso.
Uno dei fattori decisivi che hanno contribuito al successo di Java è certamente il fatto che il linguaggio è stato reso immediatamente disponibile a tutti in modo completamente gratuito: tutti hanno la possibilità di accedere liberamente agli strumenti di sviluppo e alla documentazione di Java, e possono utilizzarlo per creare applicazioni senza vincoli particolari.
Chi già conosce i linguaggi C e C++/C# non dovrebbe avere problemi nell’apprendere l’utilizzo di Java, che per molti aspetti trae da essi la sua ispirazione.
Tuttavia, anche i principianti, o coloro che utilizzano linguaggi di programmazione di altro tipo, possono imparare rapidamente a sviluppare applicazioni in Java, dato che la struttura del linguaggio è stata volutamente mantenuta semplice ed essenziale.
NOTA È importante ricordare, ancora una volta, che il linguaggio Java è particolarmente diffuso nel mondo degli apparecchi portatili, telefonini e smartphone in testa.
5. Il futuro
Java non si trova più da tempo nella fase “infantile” e ha raggiunto una buona maturità; tuttavia, visto il successo riscosso e l’impegno profuso dalle più importanti software house mondiali, è lecito aspettarsi un futuro ancora più roseo.
Java, inoltre, può essere utilizzato con successo per migliorare l’interattività di Internet, tramite applicazioni in grado di gestire con maggior controllo le ricerche di informazioni, programmi che consentano di analizzare dati che si trovano su siti remoti, creando grafici, disegni, relazioni.
Sono state sviluppate interfacce sempre più vivaci, ricche di grafica e animazioni, siti web più funzionali che consentono all’utente di trovare subito le informazioni di cui necessita.
Da tempo sembra esaurita la strada che portava all’uso di Java soltanto per ottenere effetti speciali e animazioni. È aumentato, invece, il numero di applicazioni Java utilizzate in campo scientifico, per esempio per realizzare sistemi di esplorazione del corpo umano tramite immagini acquisite mediante la tomografia assiale computerizzata, o per modelli impiegati in chimica e biologia.
Anche nel campo della didattica Java è utilizzato per realizzare programmi di ausilio allo studio, per esempio sistemi per rappresentare grafici di funzioni matematiche, o modelli di esperimenti fisici e molto altro.
Uno dei campi di applicazione che oggi appare più promettente per Java è rappresentato dalle tecnologie per sistemi mobili, dai tablet agli smartphone, che negli ultimi tempi hanno fatto passi da gigante e sono entrati ormai nella vita quotidiana di tutti. Java, grazie ad Android, ha un ruolo fondamentale in tutto questo.
Se si pensa alla domotica (automazione dei servizi per la casa), ma anche semplicemente alle automobili, che sono sempre più ricche di sistemi “intelligenti” (basta pensare ai navigatori GPS), è facile rendersi conto di quanto ampie siano le possibilità di evoluzione di un linguaggio come Java.
Esistono poi settori come quello delle operazioni finanziarie via Internet, dove applicazioni Java sono utilizzate per svolgere normali operazioni bancarie o investire in azioni e obbligazioni.
La strada da percorrere è comunque ancora lunga, e dipende non solo dallo sviluppo di Java, che certamente deve essere ancora migliorato per quanto riguarda l’affidabilità, la documentazione e le prestazioni, ma anche da altri fattori quali la velocità delle comunicazioni in generale, lo sviluppo di Internet, la diffusione di dispositivi mobili dell’ultima generazione quali smartphone, tablet e così via, e soprattutto l’integrazione tra tutti questi dispositivi.
Il fatto che Java rientri in qualche modo nel mondo open source apre il campo alla partecipazione di sviluppatori dagli interessi più svariati: non mancheranno nuove idee e spunti per realizzare applicazioni Java sempre più efficaci e utili.
È importante tuttavia che vengano risolti definitivamente alcuni problemi legati alla sicurezza che, negli ultimi anni, hanno rischiato di ostacolare la diffusione della tecnologia Java.