|
Informazioni generali
Materiale didattico
Esami
Link utili
|
| Sei in:
Home > Strumenti
|
Strumenti fondamentali per Java
Gli strumenti fondamentali sono il Java Development
Kit (JDK) ed Eclipse.
-
Il JDK contiene tutta l'infrastruttura Java
e gli strumenti (compilatore, interprete) da riga di comando
-
Eclipse è uno strumento di sviluppo visuale che contiene il proprio compilatore autonomo:
richiede comunque, per eseguire applicazioni, la presenza sottostante
dell'infrastruttura Java (JDK o JRE).
Tempistiche e modalità di rilascio delle versioni del JDK
IMPORTANTE: a partire da Java 9, Oracle ha modificato i termini di licenza, le tempistiche di rilascio e la metodologia di numerazione delle nuove versioni, in particolare
separando la versione commerciale (JDK) da quella open source (OpenJDK).
E' quindi essenziale comprendere le differenze, sia per orizzontarsi fra le versioni
disponibili sui diversi siti, sia per non violare i termini di licenza.
-
fino a Java 8 (2014), le "major
version" (Java 6, Java 7, Java 8) venivano rilasciate con una
cadenza non predeterminata: ogni rilascio corrispondeva a un salto
tecnologico con modifiche di sostanza al linguaggio e/o alle
librerie annesse. Tipicamente ciò corrispondeva anche all'uscita di
edizioni aggiornate di libri e manuali. Fra una major release e la
successiva venivano spesso rilasciati, con cadenza grosso modo semestrale,
aggiornamenti talora anche rilevanti. Tale schema evidenziava con chiarezza
i salti tecnologici, ma ritardava l'adozione di nuove
caratteristiche (dovendo aspettare la successiva "major release")
e rendeva poco pianificabili i necessari aggiornamenti degli strumenti di
supporto (Eclipse, Netbeans, IntelliJ IDEA, etc.).
-
a partire da Java 9 è stato perciò cambiato
radicalmente approccio, stabilendo una cadenza semestrale (marzo/settembre)
per il rilascio di nuove versioni, con relativo aggiornmento di numerazione.
Ciò velocizza l'incorporazione delle novità e soprattutto consente la
pianificazione dei corrispondenti aggiornamenti degli strumenti di sviluppo.
Di conseguenza, ciascuna versione è supportata e scaricabile solo fino
al rilascio della successiva.
La versione attuale è Java 17 (LTS): a marzo 2022 è atteso il rilascio di Java
18.
Per la versione commerciale, ogni tre anni è prevista una versione a supporto prolungato
(Long Term Support, LTS): lo sono stati Java 8 e Java 11 (supporto fino al 2026),
lo è appunto l'attuale Java 17, pubblicata a settembre 2021.
-
maggiori
dettagli sulla roadmap di rilasci e supporto
Vecchi e nuovi termini di licenza
-
in passato, fino a Java 8, il Java Development
Kit (JDK) scaricabile dal sito Oracle poteva essere usato gratuitamente
anche per uso commerciale e in produzione, come avvenuto dalla
nascita di Java;
questo non è più vero dal gennaio 2019, in cui anche gli
aggiornamenti di Java 8 sono soggetti allo stesso modello di licenza
adottato da Java 10 in poi.
-
a partire da Java 10 sono state
separate la versione destinata a uso commerciale (JDK, scaricabile dal sito Oracle)
da quella disponibile per uso libero (OpenJDK, disponibile sul sito specifico).
Le due versioni sono identiche a livello di codice: differiscono solo per
la licenza d'uso, le modalità di distribuzione (installer vs zip file) e il supporto.
In particolare, il JDK del sito Oracle non può più essere usato
gratuitamente per uso commerciale e in produzione.
E' opportuno quindi scaricare sempre la versione
OpenJDK.
Cosa scaricare a casa e in laboratorio
-
nei laboratori, dove è necessario garantire la
compatibilità con decine di applicazioni e corsi, non è possibile ripetere
l'installazione ogni semestre: la versione perciò potrebbe non essere l'ultima
e lo stesso avviene per Eclipse.
-
a casa propria, si suggerisce l'utilizzo di
|
Strumenti per C#
-
Visual
Studio 2019 Community Edition, gratuito, scaricabile dal sito Microsoft
-
Microsoft
Imagine sito riservato agli studenti DISI della Scuola di Ingegneria e
Architettura per lo scaricamento gratuito di strumenti Microsoft.
Utilizzare le proprie credenziali DSA.
-
Microsoft Build Tools (se non si possiede già Visual Studio C# in qualche versione)
PREREQUISITO: sulla macchina dev'essere installato .NET
Framework 4.5.1)
-
MONO,
implementazione cross-platform del .NET Framework (anche per MacOS, Linux,
Unix)
-
.NET Core,
implementazione cross-platform (Windows, MacOS, Linux) del .NET Framework
(Guide:
come creare applicazioni da riga di comando,
come installarlo su Linux,
requisiti per Linux)
|
Altri strumenti per linguaggi a oggetti
IntelliJ IDEA:
ottimo IDE, alternativo a Eclipse, per Java e Kotlin
Scala IDE:
plugin per Eclipse per il linguaggio Scala
-
Editplus:
shareware, editor di testo configurabile per più linguaggi, pratico per semplici esempi
TextPad:
shareware, efficace editor di testo per Java e altri linguaggi, utile per semplici esempi
|
UML editor o plugin
-
ObjectAID UML
Explorer plugin Eclipse, semplice e leggero, class diagram gratuito
(notazioni classi non standard, Eclipse-oriented), mantenuto sincrono col
codice Java. Non supporta aggregazioni, composizioni (visualizzate come
dipendenze generiche), né colorazione di classi, né package con classi
innestate; non offre funzionalità di generazione di codice.
-
Astah
disponibile in più versioni, di cui una gratuita (Community Edition);
supporta svariati tipi di diagrammi, con eccellente possibilità di
personalizzazione; utilizza la notazione UML standard. Reverse engineering e
generazione di codice sono disponibili solo nelle versioni superiori.
Strumenti evoluti:
-
Visual
Paradigm for UML disponibile in più versioni, di cui una gratuita
(Community Edition); supporta svariati tipi di diagrammi, in notazione UML
standard. Le funzionalità di reverse engineering e generazione di codice
sono disponibili per più linguaggi (Java, C#, C++) ma solo nelle versioni
superiori.
-
Modelio
strumento open source nella versione base (modeller), con moduli aggiuntivi
a pagamento. Stand alone, disponibile per Windows e Linux, supporta
molti tipi di diagrammi, in notazione UML standard. Le funzionalità evolute
(generazione di codice e documentazione Java,
reverse engineering, etc) sono disponibili solo nei moduli extra.
|
|