Caratteristiche di Java
- semplice e orientato agli oggetti
- interpretato
- architetturalmente neutro e portabile
- robusto
- distribuito
- sicuro
- dinamico
- concorrente (multithread)
Semplice
Sintassi simile a C e C++ (facile da imparare), ma elimina i costrutti più “pericolosi” di C e C++
In particolare, evita:
- aritmetica dei puntatori
- (de)allocazione esplicita della memoria
- aliasing (più di un nome è utilizzato per lo stesso oggetto)
- strutture (struct)
- definizione di tipi (typedef)
- preprocessore (#define)
- parallelismo (problemi di tempistica difficili da verificare)
- interrupt (forza il trasferimento del controllo a una sezione di codice)