Glossario Linguaggi di programmazione
I linguaggi con cui si scrive il software: sintassi, tipi, compilazione e runtime. I termini chiave dei linguaggi spiegati con chiarezza.
-
A
-
Assembly
Linguaggio di bassissimo livello che rappresenta in forma leggibile le istruzioni macchina di un processore. Offre il massimo controllo sull'hardware, al prezzo di una scrittura complessa e legata alla specifica architettura. -
C
-
C
Linguaggio compilato a basso livello nato negli anni Settanta, vicino all'hardware ma sufficientemente astratto. È alla base di sistemi operativi, driver e software embedded, e ha influenzato la sintassi di gran parte dei linguaggi moderni. -
C#
Linguaggio a oggetti sviluppato da Microsoft per la piattaforma .NET, con tipizzazione statica e garbage collection. È diffuso per applicazioni desktop, web, servizi e giochi realizzati con il motore Unity. -
C++
Estensione del linguaggio C che aggiunge la programmazione a oggetti e astrazioni potenti mantenendo il controllo di basso livello. È usato dove servono prestazioni ed efficienza, come motori grafici, videogiochi e software di sistema. -
Clojure
Dialetto moderno del linguaggio Lisp che gira sulla macchina virtuale Java, di stampo funzionale e con forte enfasi sull'immutabilità. È apprezzato per la gestione elegante di concorrenza e dati. -
COBOL
Linguaggio storico progettato per applicazioni gestionali e transazionali. Nonostante l'età, è ancora in esecuzione in molti sistemi bancari e amministrativi, dove sostituirlo sarebbe rischioso e costoso. -
D
-
Dart
Linguaggio sviluppato da Google, ottimizzato per costruire interfacce utente. È il fondamento del framework Flutter, con cui si realizzano applicazioni multipiattaforma per mobile, web e desktop da un unico codice. -
Domain-Specific Language (DSL)
Linguaggio progettato per un dominio ristretto e specifico, invece che per scopi generali. Sacrifica la versatilità per offrire un modo molto efficace di esprimere problemi in quel particolare ambito. -
E
-
Elixir
Linguaggio funzionale costruito sulla macchina virtuale Erlang, pensato per sistemi concorrenti, distribuiti e altamente affidabili. È usato per applicazioni real-time e servizi che devono restare sempre disponibili. -
Erlang
Linguaggio funzionale progettato per sistemi concorrenti, distribuiti e tolleranti ai guasti. Nato nelle telecomunicazioni, alimenta infrastrutture che devono garantire disponibilità continua. -
F
-
F#
Linguaggio funzionale della piattaforma .NET, che favorisce codice conciso, immutabile e sicuro sui tipi. È usato per analisi dati, modellazione di domini complessi e ovunque serva rigore funzionale in ambiente .NET. -
Fortran
Uno dei primi linguaggi ad alto livello, tuttora usato nel calcolo scientifico e ingegneristico. È apprezzato per le prestazioni nei calcoli numerici intensivi, come simulazioni fisiche e meteorologiche. -
G
-
Go
Linguaggio compilato creato da Google, orientato a semplicità, tempi di compilazione rapidi e concorrenza nativa tramite goroutine e canali. È molto usato per servizi di rete, strumenti a riga di comando e infrastrutture cloud, dove scalabilità e chiarezza contano. -
Groovy
Linguaggio dinamico per la macchina virtuale Java, con sintassi snella e forte integrazione con l'ecosistema Java. È usato per scripting, test e nell'automazione delle build, ad esempio con lo strumento Gradle. -
H
-
Haskell
Linguaggio puramente funzionale con tipizzazione statica forte e valutazione pigra. Privilegia funzioni prive di effetti collaterali ed è spesso usato in ricerca, finanza e per esplorare tecniche di programmazione avanzate. -
J
-
Java
Linguaggio a oggetti compilato in bytecode ed eseguito da una macchina virtuale, secondo il principio scrivi una volta, esegui ovunque. È molto usato in ambito aziendale, backend su larga scala e applicazioni Android. -
JavaScript
Linguaggio interpretato nato per rendere interattive le pagine web ed eseguito nativamente dai browser. Con l'avvento di runtime lato server come Node.js si è esteso al backend, diventando un linguaggio versatile e centrale nello sviluppo di applicazioni full-stack. -
Julia
Linguaggio ad alte prestazioni pensato per il calcolo numerico e scientifico, con una sintassi semplice vicina a quella matematica. Punta a unire la facilità d'uso dei linguaggi dinamici alla velocità di quelli compilati. -
K
-
Kotlin
Linguaggio moderno interoperabile con Java ed eseguito sulla stessa macchina virtuale, con sintassi più concisa e maggiore sicurezza sui valori nulli. È il linguaggio ufficiale consigliato per lo sviluppo Android. -
L
-
Linguaggio compilato
Linguaggio il cui codice sorgente viene tradotto in anticipo in codice macchina da un compilatore, prima dell'esecuzione. Ne derivano prestazioni elevate, al prezzo di un passo di compilazione preliminare. -
Linguaggio di markup
Linguaggio che annota un testo per descriverne struttura o presentazione, senza esprimere logica di calcolo. Esempi tipici sono HTML per le pagine web e Markdown per i documenti formattati. -
Linguaggio di scripting
Linguaggio pensato per automatizzare compiti e collegare componenti, di solito interpretato e conciso. È usato per script di sistema, automazione e logica applicativa rapida da scrivere e modificare. -
Linguaggio interpretato
Linguaggio il cui codice viene eseguito riga per riga da un interprete, senza una compilazione preventiva completa. Offre flessibilità e sviluppo rapido, spesso a scapito della velocità di esecuzione. -
Lua
Linguaggio di scripting leggero e veloce, progettato per essere incorporato dentro altre applicazioni. È molto usato nei videogiochi e nei software estendibili per aggiungere logica personalizzata. -
M
-
MATLAB
Linguaggio e ambiente specializzato nel calcolo numerico, nell'analisi di matrici e nella visualizzazione. È molto diffuso in ingegneria e ricerca per prototipare algoritmi e modellare sistemi. -
N
-
Nim
Linguaggio compilato con sintassi pulita ispirata a Python, che produce eseguibili efficienti. Combina la leggibilità dei linguaggi dinamici con le prestazioni tipiche dei linguaggi compilati. -
O
-
Objective-C
Linguaggio a oggetti derivato dal C, a lungo principale per lo sviluppo su piattaforme Apple. È stato progressivamente sostituito da Swift, ma resta presente in molte basi di codice esistenti. -
OCaml
Linguaggio funzionale con tipizzazione statica forte e inferenza dei tipi, che supporta anche stili imperativo e a oggetti. È apprezzato in ambiti dove correttezza ed espressività sono cruciali. -
P
-
Pascal
Linguaggio strutturato nato con finalità didattiche, che ha formato generazioni di programmatori. Ha influenzato le buone pratiche di programmazione ed è stato base di ambienti di sviluppo come Delphi. -
Perl
Linguaggio di scripting molto flessibile, storicamente potente nell'elaborazione di testo e nelle espressioni regolari. È stato a lungo lo strumento principe per l'amministrazione di sistema e la manipolazione di dati. -
PHP
Linguaggio di scripting nato per il web e pensato per generare pagine lato server. Alimenta una vasta parte dei siti esistenti ed è il fondamento di piattaforme diffuse come WordPress e di molti framework moderni. -
Prolog
Linguaggio logico in cui si dichiarano fatti e regole, e il sistema deduce le risposte alle interrogazioni. È usato in intelligenza artificiale, sistemi esperti ed elaborazione del linguaggio naturale. -
Python
Linguaggio di alto livello, interpretato e a tipizzazione dinamica, apprezzato per la sintassi leggibile e la vasta libreria standard. È molto diffuso in ambito scientifico, data science, automazione e sviluppo web, grazie anche a un ricco ecosistema di pacchetti di terze parti. -
R
-
R (linguaggio)
Linguaggio e ambiente specializzato nell'analisi statistica e nella visualizzazione dei dati. È molto diffuso in ambito scientifico e nella data science, grazie a un ricco ecosistema di pacchetti dedicati. -
Ruby
Linguaggio dinamico orientato agli oggetti, progettato per la leggibilità e la produttività dello sviluppatore. È noto soprattutto per il framework Ruby on Rails, che ha reso rapido lo sviluppo di applicazioni web. -
Rust
Linguaggio di sistema che garantisce sicurezza della memoria senza garbage collector grazie al modello di ownership e al controllo dei prestiti verificato a tempo di compilazione. Offre prestazioni vicine al C prevenendo intere classi di errori come i data race. -
S
-
Scala
Linguaggio che unisce programmazione a oggetti e funzionale sulla macchina virtuale Java. È apprezzato per la sua espressività e viene usato in ambito big data, ad esempio con il motore di elaborazione Apache Spark. -
Scheme
Dialetto minimalista ed elegante del linguaggio Lisp, molto usato nell'insegnamento dell'informatica. La sua semplicità lo rende ideale per esplorare i concetti fondamentali della programmazione. -
Solidity
Linguaggio orientato agli oggetti per scrivere smart contract sulla blockchain Ethereum. Definisce contratti che vengono eseguiti in modo deterministico su una rete distribuita. -
SQL
Linguaggio dichiarativo per interrogare e manipolare i dati nei database relazionali. Invece di descrivere come ottenere i dati, si dichiara cosa si vuole, e il motore del database determina come recuperarlo. -
Swift
Linguaggio sviluppato da Apple per creare applicazioni per iPhone, Mac e gli altri suoi dispositivi. Combina prestazioni elevate, sicurezza e una sintassi moderna, sostituendo il precedente Objective-C. -
T
-
TypeScript
Sovrainsieme di JavaScript che aggiunge un sistema di tipi statico opzionale, compilato poi in JavaScript standard. Il controllo dei tipi a tempo di sviluppo intercetta errori in anticipo e migliora manutenibilità e strumenti su progetti di grandi dimensioni. -
V
-
Visual Basic
Linguaggio di Microsoft pensato per rendere accessibile lo sviluppo, con un approccio orientato agli eventi e alle interfacce. È stato molto usato per applicazioni desktop e macro in ambiente Office. -
W
-
WebAssembly
Formato di codice binario a basso livello eseguibile nei browser a velocità prossime a quelle native. Permette di portare sul web linguaggi come C++ e Rust, oltre al tradizionale JavaScript. -
Z
-
Zig
Linguaggio di sistema moderno che punta a semplicità, prestazioni e controllo esplicito della memoria, senza garbage collector. Si propone come alternativa più sicura e prevedibile al linguaggio C.