Il predominio dell’inglese nei linguaggi di programmazione ha radici storiche, culturali e tecniche, che risalgono alle origini stesse dell’informatica. Per comprendere pienamente la ragione di questa prevalenza, è utile tracciare un breve excursus storico sul primo linguaggio di programmazione mai creato e utilizzato.
Anche se storicamente Assembly può essere considerato il primo linguaggio di programmazione, in realtà qualcosa di simile c’era anche prima.
Prima dell’Assembly: L’Algoritmo per l’Analytical Engine
Prima dell’emergere dell’Assembly, esisteva un altro tipo di “linguaggio di programmazione”, sebbene molto differente da quello che noi oggi concepiamo come tale. Si tratta dell’Algoritmo per l’Analytical Engine, concepito da Ada Lovelace per la macchina analitica di Charles Babbage.
L’Analytical Engine, progettato da Babbage negli anni ‘1830, è considerato il precursore dei computer moderni, nonostante non sia mai stato costruito completamente. Era un dispositivo meccanico progettato per eseguire calcoli complessi, e i suoi principi di funzionamento anticipavano molti dei concetti alla base dei computer digitali.
Ada Lovelace, matematica e scrittrice britannica, fu la prima a riconoscere il potenziale di questa macchina oltre la semplice esecuzione di calcoli numerici. Lovelace immaginò che la macchina analitica potesse manipolare simboli e, data una sequenza appropriata di istruzioni, o “programma”, potesse produrre risultati di qualsiasi tipo di contenuto.
I “programmi” che Lovelace scrisse per l’Analytical Engine non erano in inglese o in qualsiasi altra lingua umana. Invece, erano sequenze di operazioni da eseguire sulla macchina, rappresentate come diagrammi di flusso o tabelle. Questi “programmi” erano scritti in un linguaggio che la macchina poteva capire, basato sui principi matematici e meccanici della macchina stessa.
L’opera di Lovelace rappresenta un importante precursore del concetto di programmazione. Sebbene i suoi programmi non fossero scritti in un linguaggio umano come l’inglese, rappresentano un primo passo importante verso l’idea di quello che sarebbero stati dopo i veri linguaggi di programmazione, un modo per dire a una macchina cosa fare.
Linguaggi di programmazione, arriva assembly
Nella prima metà del XX secolo, con l’avvento dei primi computer, il modo primario di comunicare con queste macchine era attraverso codici binari o esadecimali, una pratica che richiedeva conoscenze tecniche profonde e non lasciava spazio per errori. Tuttavia, nel 1949, Maurice Wilkes introdusse l’idea di utilizzare simboli umani leggibili per rappresentare le istruzioni di macchina.
Questo portò alla creazione del primo vero linguaggio di programmazione, il linguaggio di programmazione dei linguaggi di programmazione (letteralmente), noto come Assembly.
Assembly non era un linguaggio come i linguaggi di programmazione di oggi; era piuttosto un modo per semplificare la programmazione dei computer, mappando le operazioni di basso livello di una macchina in simboli comprensibili. Non era nemmeno in lingua inglese come la intendiamo oggi. Usava piuttosto abbreviazioni e simboli per rappresentare le operazioni di macchina.
Per esempio, un’istruzione di Assembly per sommare due numeri potrebbe essere “ADD A, B”.
Da piccole parole inglesi a parole in inglese più elaborate, l’arrivo di Fortran
Il primo linguaggio di programmazione moderno ad alto livello fu Fortran, sviluppato da IBM nel 1957. Fortran era progettato per essere più vicino al linguaggio umano rispetto all’Assembly. Per farlo, usava parole inglesi come “IF”, “THEN”, “ELSE” e “END” per rappresentare strutture di controllo: questo rendeva la programmazione più accessibile a un pubblico più ampio.
Fortran fu creato negli Stati Uniti, che all’epoca era uno dei principali centri di sviluppo informatico.
Dato che l’inglese era la lingua principale degli Stati Uniti, era naturale che Fortran fosse scritto in inglese: questa tendenza si è perpetuata in tutti i linguaggi di programmazione successivi, come COBOL, ALGOL, C, C++, Java, Python e molti altri.
Perché l’inglese e non altre lingue nei linguaggi di programmazione?
Ci sono diverse ragioni per cui l’inglese è rimasto la lingua dominante nei linguaggi di programmazione: prima di tutto, l’inglese è spesso considerato la lingua franca della scienza e della tecnologia. Ciò significa che gli sviluppatori di tutto il mondo sono spesso già in grado di capire l’inglese tecnico.
Inoltre, l’uso dell’inglese rende i linguaggi di programmazione universali: un programmatore in Cina, per esempio, può facilmente lavorare su un progetto inizialmente scritto da un programmatore in Francia, perché entrambi usano lo stesso linguaggio di programmazione basato sull’inglese, nel caso in cui tutti conoscessero solo la propria lingua e non l’inglese diverrebbe molto più difficile comunicare tra loro.
Ci fu un tentativo di creare una lingua europea, l’esperanto, ma tale tentativo non ebbe mai successo, ma questa è un’altra storia.
Esistono linguaggi di programmazione che usano lingue diverse dalla lingua inglese?
Senza tanti giri di parole: sì.
Sebbene l’inglese sia di gran lunga la lingua più utilizzata nella programmazione, ci sono stati alcuni esempi di linguaggi di programmazione creati in altre lingue.
Ad esempio, in Giappone è stato sviluppato un linguaggio di programmazione chiamato “日本語プログラミング言語” (Nihongo Puroguramingu Gengo), che significa “Linguaggio di programmazione giapponese”: questo linguaggio usa caratteri kanji, hiragana e katakana al posto delle parole chiave inglesi.
Un altro esempio è il linguaggio di programmazione “RAPIRA“, sviluppato in Unione Sovietica per l’uso nell’istruzione: questo linguaggio utilizza parole chiave in russo al posto dell’inglese.
Anche il linguaggio di programmazione “Fjölnir” dell’Islanda, che prende il nome da un personaggio della mitologia nordica, utilizza parole chiave islandesi.
Nonostante questi interessanti esperimenti, questi linguaggi non sono diventati ampiamente adottati o utilizzati al di fuori delle loro regioni d’origine. Ciò si deve in gran parte alle ragioni precedentemente citate: l’inglese è diventato il de facto standard nel campo della programmazione, e l’uso di un linguaggio di programmazione in inglese rende il codice più accessibile a un pubblico globale.
Inoltre, lo sviluppo di librarie, framework e strumenti di supporto è predominante in inglese, il ché rende più difficile per i linguaggi non inglesi competere. Tuttavia, l’esistenza di questi linguaggi di programmazione dimostra la versatilità della programmazione come mezzo di espressione e la possibilità di adattare il codice a diverse lingue e culture.
Esistono linguaggi di programmazione in lingua italiana?
In merito alla programmazione in lingua italiana, non esistono linguaggi di programmazione standardizzati e di ampio utilizzo che fanno uso di parole chiave italiane. La maggior parte dei programmatori italiani usa linguaggi di programmazione standard come Python, JavaScript, C++ o Java, che sono basati sull’inglese.
Ciò non significa che non esistano affatto linguaggi di programmazione in italiano. Alcuni sviluppatori e appassionati hanno creato linguaggi di programmazione o varianti di linguaggi esistenti con parole chiave in italiano per scopi didattici o come esperimenti. Questi linguaggi, tuttavia, sono rari e non vengono comunemente usati in contesti professionali.
Uno di questi linguaggi è il “Pseudocodice Italiano”, un linguaggio didattico utilizzato per insegnare i concetti fondamentali della programmazione; esso utilizza parole chiave in italiano e ha una sintassi semplice, rendendolo uno strumento utile per gli studenti che iniziano a programmare.
Questi esempi dimostrano che, nonostante la dominanza dell’inglese, la programmazione può essere adattata a diverse lingue e contesti culturali. Tuttavia, l’uso diffuso di questi linguaggi è limitato dal fatto che gran parte della documentazione, degli strumenti e delle risorse per la programmazione sono in inglese. L’apprendimento dell’inglese rimane quindi una competenza preziosa per chi vuole diventare un programmatore.
RPG Maker è tecnicamente una curiosa eccezione
È vero che RPG Maker, una piattaforma di sviluppo di videogiochi, rappresenta un caso interessante quando si parla di programmazione in lingua italiana. Questo strumento fornisce un’interfaccia utente tradotta in diverse lingue, italiano incluso, e permette di creare giochi attraverso un sistema di “eventi” e “condizioni” che ricordano molto un linguaggio di programmazione.
RPG Maker utilizza una forma di pseudocodice visuale per permettere agli utenti di definire le logiche del gioco. Gli utenti possono creare “eventi”, che rappresentano cose che accadono nel gioco, e “condizioni”, che determinano quando e come questi eventi si verificano: questi costrutti possono essere combinati per creare comportamenti complessi, proprio come in un linguaggio di programmazione.
Ad esempio, un evento in RPG Maker potrebbe essere “quando il giocatore entra in una stanza”, e una condizione potrebbe essere “se il giocatore ha la chiave”. Questo pseudocodice potrebbe essere tradotto in italiano come “quando il giocatore entra in una stanza, se ha la chiave, allora apri la porta”.
Nonostante RPG Maker non sia un linguaggio di programmazione nel senso tradizionale, rappresenta un importante strumento di avvicinamento alla programmazione per molte persone, specialmente per coloro che parlano lingue diverse dall’inglese.
Rpg Maker, infatti, Offre un modo accessibile e visivo per apprendere i concetti fondamentali della programmazione, come il flusso di controllo e la logica condizionale, in un contesto divertente e creativo.
In conclusione
In conclusione, la predominanza dell’inglese nei linguaggi di programmazione è il risultato di una combinazione di fattori storici, tecnici e culturali e la natura globale dell’informatica richiede un linguaggio comune, e l’inglese ha assunto questo ruolo per ragioni legate alla storia dello sviluppo dei computer.
Nonostante l’inglese sia la lingua predominante, ci sono esempi di linguaggi di programmazione in altre lingue, compreso l’italiano.
Questi linguaggi, sebbene rari e non largamente adottati, dimostrano la flessibilità e l’adattabilità della programmazione. Strumenti come RPG Maker, inoltre, mostrano come concetti di programmazione possano essere resi accessibili a parlanti non inglesi.
Infine, è importante sottolineare che, sebbene la conoscenza dell’inglese sia un vantaggio nel campo dell’informatica, non è necessariamente un prerequisito. I programmatori possono essere efficaci utilizzando le parole chiave limitate dei linguaggi di programmazione e avvalendosi di risorse di apprendimento e documentazione tradotte.
Il futuro della programmazione potrebbe vedere un’ulteriore diversificazione linguistica, specialmente con l’evoluzione degli strumenti di traduzione e l’espansione globale dell’accesso all’informatica. Nel frattempo, l’inglese continuerà probabilmente a giocare un ruolo centrale nei linguaggi di programmazione per il prossimo futuro.