Linguaggio di programmazione

Un linguaggio di programmazione è un sistema di notazione per la scrittura di programmi per computer. I linguaggi di programmazione sono per lo più linguaggi formali basati su testo, ma possono anche essere grafici.

Linguaggio di programmazione
Immagine: Joho345 — Public domain — Wikimedia Commons

Un linguaggio di programmazione è un sistema di notazione per la scrittura di programmi per computer. I linguaggi di programmazione sono per lo più linguaggi formali basati su testo, ma possono anche essere grafici.

La descrizione di un linguaggio di programmazione è solitamente divisa nelle due componenti della sintassi (forma) e della semantica (significato), che di solito sono definite da un linguaggio formale. Alcuni linguaggi sono definiti da un documento di specifica (ad esempio, il linguaggio di programmazione C è specificato da uno standard ISO) mentre altri linguaggi (come Perl) hanno un'implementazione dominante che viene trattata come riferimento.

Alcuni linguaggi hanno entrambi, con il linguaggio di base definito da uno standard e le estensioni prese dall'implementazione dominante che sono comuni. La teoria dei linguaggi di programmazione è il sottocampo dell'informatica che studia la progettazione, l'implementazione, l'analisi, la caratterizzazione e la classificazione dei linguaggi di programmazione.

Storia

Il primo linguaggio di programmazione della storia è il linguaggio meccanico adoperato da Ada Lovelace per la programmazione della macchina di Charles Babbage, al quale fu seguito il Plankalkül di Konrad Zuse, sviluppato da lui nella Svizzera neutrale durante la seconda guerra mondiale e pubblicato nel 1946. Plankalkül non venne mai realmente usato per programmare. La programmazione dei primi elaboratori veniva fatta invece in short code, da cui poi si è evoluto l'assembly, che costituisce una rappresentazione simbolica del linguaggio macchina. La sola forma di controllo di flusso è l'istruzione di salto condizionato, che porta a scrivere programmi molto difficili da seguire logicamente per via dei continui salti da un punto all'altro del codice.

La maggior parte dei linguaggi di programmazione successivi cercò di superare tale livello basilare, dando la possibilità di rappresentare strutture dati e strutture di controllo più generali e più vicine alla maniera (umana) di rappresentare i termini dei problemi per i quali ci si prefigge di scrivere programmi. Tra i primi linguaggi ad alto livello a raggiungere una certa popolarità ci fu il Fortran, creato nel 1957 da John Backus, da cui derivò successivamente il BASIC (1964): oltre al salto condizionato, reso con l'istruzione IF, questa nuova generazione di linguaggi introduce nuove strutture di controllo di flusso come i cicli WHILE e FOR e le istruzioni CASE e SWITCH: in questo modo diminuisce molto il ricorso alle istruzioni di salto (GOTO), cosa che rende il codice più chiaro ed elegante, e quindi di più facile manutenzione.

Dopo la comparsa del Fortran nacquero una serie di altri linguaggi di programmazione storici, che implementarono una serie di idee e paradigmi innovativi: i più importanti sono il Lisp (1959) e l'ALGOL (1960). Tutti i linguaggi di programmazione oggi esistenti possono essere considerati discendenti da uno o più di questi primi linguaggi, di cui mutuano molti concetti di base; l'ultimo grande progenitore dei linguaggi moderni fu il Simula (1967), che introdusse per primo il concetto (allora appena abbozzato) di oggetto software. Nel 1970 Niklaus Wirth pubblica il Pascal, il primo linguaggio strutturato, a scopo didattico; nel 1972 dal BCPL nascono prima il B (rapidamente dimenticato) e poi il C, che invece fu fin dall'inizio un grande successo. Nello stesso anno compare anche il Prolog, finora il principale esempio di linguaggio logico, che pur non essendo di norma utilizzato per lo sviluppo industriale del software (a causa della sua inefficienza) rappresenta una possibilità teorica estremamente affascinante.

Con i primi mini e microcomputer e le ricerche a Palo Alto, nel 1983 vede la luce Smalltalk, il primo linguaggio realmente e completamente a oggetti, che si ispira al Simula e al Lisp: oltre a essere in uso tutt'oggi in determinati settori, Smalltalk viene ricordato per l'influenza enorme che ha esercitato sulla storia dei linguaggi di programmazione, introducendo il paradigma object-oriented nella sua prima incarnazione matura. Esempi di linguaggi object-oriented odierni sono Eiffel (1986), C++ (che esce nello stesso anno di Eiffel) e successivamente Java, classe 1995.

Servizi correlati

Altre voci

Android AutoA

Android Auto

Android Auto è uno standard basato su smartphone, sviluppato da Google, per consentire ai dispositivi mobili con il sistema operativo Android (versione 5.0 "Lollipop" e versioni successive) di essere utilizzati in automobili mediante il sistema di infotainment presente nel cruscotto.

Leggi la voce →
IOS 16I

IOS 16

iOS 16 (nome in codice Sydney) è la sedicesima versione del sistema operativo iOS, sviluppato da Apple. È stato annunciato alla Worldwide Developers Conference (WWDC) il 6 giugno 2022 e lo stesso giorno è stata pubblicata la prima beta per gli sviluppatori. Durante l'evento "Far Out" del 7…

Leggi la voce →
C

C++

C++(AFI: /t͡ʃi pju pju/) è un linguaggio di programmazione ad uso generale creato dall'informatico danese Bjarne Stroustrup. Pubblicato per la prima volta nel 1985 come estensione del linguaggio C, è stato nel tempo esteso notevolmente. Dal 1997 C++ ha caratteristiche per la programmazione…

Leggi la voce →
J

JetBrains

JetBrains (precedentemente IntelliJ) è un'azienda di sviluppo software ceca nata nel 2000 i cui strumenti hanno come mercato gli sviluppatori software e i project manager.

Leggi la voce →
G

Google Classroom

Google Classroom è un servizio web gratuito sviluppato da Google, per le scuole e le università, mirante a semplificare la creazione e la distribuzione di materiale didattico, l'assegnazione e la valutazione di compiti online. Lo scopo principale di Google Classroom è quello di semplificare il…

Leggi la voce →
Sviluppo di software AndroidS

Sviluppo di software Android

Lo sviluppo di software Android è il processo mediante il quale vengono create nuove applicazioni per il sistema operativo Android. Le app sono in genere sviluppate in linguaggio Java utilizzando il kit di sviluppo software Android (SDK), nonostante siano disponibili altri ambienti di sviluppo.

Leggi la voce →