Ada (linguaggio di programmazione): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
→‎Caratteristiche: sposto frase per rendere il periodo più chiaro
Riga 33:
Ada eredita alcune caratteristiche stilistiche fondamentali da [[ALGOL]], rispetto al quale aggiunge molte funzionalità basilari (come il [[tipo di dato|sistema di tipi]], i [[record (tipo di dato)|record]], i [[puntatore (programmazione)|puntatori]] o le [[tipo enumerativo|enumerazioni]], implementati in buona parte in stile [[Pascal (linguaggio di programmazione)|Pascal]]) e funzionalità avanzate proprie dei moderni linguaggi di programmazione ([[polimorfismo (informatica)|polimorfismo]], [[ereditarietà (informatica)|ereditarietà]], [[eccezione (informatica)|eccezioni]], [[Processo (informatica)|tasking]]).
 
Il linguaggio fornisce un gran numero di controlli sia statici (a tempo di compilazione) sia dinamici (a [[runtime]]), che prevengono una ampia varietà di errori (uso errato dei parametri, errori di tipo, violazione di range e [[Off-by-one error|off-by-one]]). I controlli dinamici sono disattivabili se si vuole massimizzare l'efficienza, tramite il [[direttiva (programmazione)|pragma]] <code>Suppress</code>,<ref>{{cita|Barnes (2014)|p. 380|barnes14}}.</ref> o tramite switch specifici dei vari compilatori), che prevengono una ampia varietà di errori (uso errato dei parametri, errori di tipo, violazione di range e [[Off-by-one error|off-by-one]]). Sicurezza e affidabilità del codice sono infatti uno dei principali aspetti che hanno guidato lo sviluppo del linguaggio.<ref>{{cita web|autore=Gary Dismukes|sito=adacore.com|titolo=Gem #63: The Effect of Pragma Suppress|url=http://www.adacore.com/adaanswers/gems/gem-63/|urlarchivio=https://web.archive.org/web/20150728111611/http://www.adacore.com/adaanswers/gems/gem-63/|dataarchivio=28 luglio 2015|urlmorto=no}}</ref>
 
=== "Hello, world!" in Ada ===