Che linguaggio di programmazione è abc

Checked on February 2, 2026
Disclaimer: Factually can make mistakes. Please verify important information or breaking news. Learn more.

Executive summary

ABC è un linguaggio di programmazione imperativo, ad alto livello e interattivo creato al Centrum Wiskunde & Informatica (CWI) nei Paesi Bassi come alternativa didattica e per il prototipaggio rispetto a BASIC, Pascal o AWK, e include un ambiente di sviluppo integrato con editor strutturato e workspace persistenti [1] [2] [3]. Non è pensato per la programmazione di sistema, ma fu molto influente come progenitore concettuale di Python: Guido van Rossum lavorò su ABC negli anni ’80 e lo cita come fonte di idee per Python [1] [4].

1. Cos’è ABC: un linguaggio pensato per l’usabilità e l’insegnamento

ABC è stato progettato esplicitamente per essere “facile da imparare”, strutturato e molto leggibile, con un insieme ridotto di tipi e costrutti che lo rendono adatto all’insegnamento e al rapido sviluppo di prototipi; i progettisti sostengono che i programmi ABC risultano significativamente più compatti rispetto a equivalenti in Pascal o C [5] [3] [6]. La sua filosofia punta alla produttività del programmatore più che all’efficienza della macchina, cosa che lo rende inadatto a compiti di basso livello o alla scrittura di sistemi operativi, ma ideale per utenti non specialisti o per didattica [5] [7].

2. Caratteristiche tecniche chiave e ambiente integrato

Oltre alla sintassi basata sull’indentazione per la definizione dei blocchi, ABC comprende un ambiente integrato con un editor a struttura, suggerimenti, variabili statiche persistenti e la gestione di workspace multipli; il sistema originale era un interprete–compilatore monolitico che però limitava l’accesso diretto al filesystem e al sistema operativo, un vincolo che ne ha ostacolato l’evoluzione verso GUI e integrazioni moderne [1] [5] [3]. Il linguaggio è fortemente tipizzato senza necessità di dichiarazioni esplicite e offre tipi semplici e composti come tabelle (mapping) che facilitano programmi concisi [5] [3].

3. Storia e autori: CWI, Geurts, Meertens, Pemberton

ABC fu sviluppato da Leo Geurts, Lambert Meertens e Steven Pemberton presso il CWI ad Amsterdam; il progetto nacque come alternativa educativa e come ambiente personale di calcolo, evolvendosi in diverse versioni (la versione documentata come “quarta”) e accompagnato da manuali come The ABC Programmer’s Handbook [1] [2] [5]. La genealogia include una precedente “B” progettata dagli stessi autori (distinta dal linguaggio B di Thompson/Ritchie), e l’attenzione al design iterativo contribuì a concetti che sarebbero poi transitati in lavori successivi sulla usabilità dei linguaggi [5].

4. Eredità: perché ABC conta oggi soprattutto come ispirazione

ABC non è diventato un linguaggio grandemente popolare in produzione, ma la sua eredità è cruciale perché ispirò Guido van Rossum nella creazione di Python; molte idee sulla leggibilità, l’uso dell’indentazione significativa e la focalizzazione sulla produttività derivano dall’esperienza di van Rossum con ABC al CWI [1] [4]. Le risorse moderne — repository con esempi e implementazioni, pagine storiche e articoli tecnici — lo mantengono documentato per chi studia la storia dei linguaggi e il design pedagogico [6] [7].

5. Limiti, versioni alternative e confusione di nomi

Va segnalato che “ABC” è un nome usato anche per progetti non correlati: esistono esolang e implementazioni omonime create da terzi che nulla hanno a che vedere con il sistema CWI, così come altre utilità o subset di BASIC che usano la sigla abc; perciò la ricerca sul termine richiede attenzione alle fonti per non mescolare storie diverse [8] [9]. Inoltre, la natura monolitica dell’implementazione storica e la mancanza di accesso a basso livello hanno limitato l’adozione in ambiti pratici, un punto centrale quando si paragona ABC a linguaggi più polivalenti nati dopo [1] [5].

Want to dive deeper?
In che modo ABC ha influenzato le scelte sintattiche e di design di Python?
Quali sono le differenze pratiche tra ABC e linguaggi didattici moderni come Scratch o Blockly?
Dove trovare implementazioni e manuali originali di ABC per sperimentazione oggi?