Glossario Linguaggi di programmazione

Glossario verificato

I linguaggi con cui si scrive il software: sintassi, tipi, compilazione e runtime. I termini chiave dei linguaggi spiegati con chiarezza.

  • A

  • ABAP (Advanced Business Application Programming)

    Linguaggio di quarta generazione di SAP, sviluppato dagli anni 1980, con cui è scritta gran parte delle applicazioni SAP. Multiparadigma (procedurale e a oggetti), serve a personalizzare ed estendere SAP ERP e S/4HANA e ad accedere ai relativi dati.
  • Ada

    Linguaggio strutturato e fortemente tipizzato progettato dal team di Jean Ichbiah (CII Honeywell Bull) su commissione del Dipartimento della Difesa USA e apparso nel 1980. Pensato per sistemi critici embedded, prende il nome da Ada Lovelace.
  • Agda

    Linguaggio funzionale con tipi dipendenti e assistente di prova basato sulla teoria dei tipi intuizionista di Martin-Löf. Permette di scrivere e verificare dimostrazioni matematiche costruttive ed eseguirle come algoritmi; include l'estensione Cubical Agda.
  • ALGOL

    Famiglia di linguaggi imperativi definita da un comitato internazionale ACM-GAMM tra il 1958 e il 1960 per descrivere algoritmi. Introdusse la struttura a blocchi e la forma BNF, influenzando gran parte dei linguaggi successivi.
  • APL (A Programming Language)

    Linguaggio orientato agli array basato sulla notazione ideata da Kenneth Iverson (Harvard, 1957) e pubblicata nel libro "A Programming Language" nel 1962. Usa un ricco insieme di simboli per operare su vettori e matrici in modo conciso.
  • 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.
  • AWK

    Linguaggio per l'elaborazione di testo creato nel 1977 nei Bell Labs da Alfred Aho, Peter Weinberger e Brian Kernighan (da cui l'acronimo). Legge l'input riga per riga suddividendolo in campi e applica regole pattern-azione; storico strumento Unix.
  • B

  • BASIC

    Linguaggio didattico creato nel 1964 da John Kemeny e Thomas Kurtz al Dartmouth College per rendere la programmazione accessibile agli studenti. Semplice e basato su comandi in inglese, divenne il linguaggio principale dei primi microcomputer.
  • 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.
  • CoffeeScript

    Linguaggio che compila in JavaScript, creato da Jeremy Ashkenas nel 2009 con una sintassi concisa ispirata a Ruby e Python. Elimina parte della verbosità di JavaScript e ne ha influenzato l'evoluzione successiva.
  • Common Lisp

    Dialetto standardizzato del Lisp, definito nello standard ANSI X3.226-1994 dal comitato X3J13. Linguaggio multiparadigma con macro potenti e sistema a oggetti CLOS, unifica in un unico standard industriale le varianti Lisp precedenti.
  • Crystal

    Linguaggio compilato e tipizzato staticamente con sintassi ispirata a Ruby, che usa inferenza di tipo avanzata e backend LLVM. Molti programmi Ruby sono validi anche in Crystal; offre fibre e canali per la concorrenza, macro e generici.
  • D

  • D

    Linguaggio di programmazione di sistema multiparadigma creato da Walter Bright (Digital Mars) e rilasciato nel 2001, nato come reingegnerizzazione del C++. Combina sintassi in stile C con garbage collection, contract programming e unit test integrati.
  • 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.
  • Delphi (Object Pascal)

    Ambiente RAD e linguaggio a oggetti basato su Object Pascal, introdotto da Borland nel 1995 e oggi sviluppato da Embarcadero. Unisce compilazione nativa e sviluppo visuale di applicazioni Windows tramite la Visual Component Library (VCL).
  • 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

  • Eiffel

    Linguaggio a oggetti progettato da Bertrand Meyer nel 1985 (prima versione nel 1986) per aumentare l'affidabilità del software. Introdusse il Design by Contract, con precondizioni, postcondizioni e invarianti di classe integrati nel linguaggio.
  • 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.
  • Elm

    Linguaggio funzionale puro progettato da Evan Czaplicki nel 2012 come tesi, che compila in JavaScript per creare interfacce web. Grazie al controllo statico dei tipi punta all'assenza di eccezioni a runtime nella pratica.
  • 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.
  • Forth

    Linguaggio stack-oriented ed estensibile creato da Charles "Chuck" Moore intorno al 1970, usato prima all'osservatorio radioastronomico NRAO. Basato su una macchina a due stack e su "parole" concatenabili, è interattivo e adatto ai sistemi embedded.
  • 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

  • Gleam

    Linguaggio funzionale, tipizzato staticamente, che compila in Erlang per la BEAM e in JavaScript. Sfrutta la macchina virtuale Erlang per sistemi tolleranti ai guasti e un sistema di tipi robusto; interopera con Erlang ed Elixir.
  • GNU Octave

    Linguaggio di alto livello per il calcolo numerico, avviato da John W. Eaton (versione 1.0 nel 1994), in gran parte compatibile con MATLAB. Offre strumenti per algebra lineare, equazioni non lineari e differenziali; è software libero sotto licenza GPL.
  • 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

  • Hack

    Linguaggio creato da Meta (Facebook) come dialetto di PHP per la HipHop Virtual Machine (HHVM) e presentato nel 2014. Introduce il gradual typing, combinando tipizzazione statica e dinamica, e interopera in modo trasparente con PHP.
  • 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.
  • Haxe

    Linguaggio a oggetti open source e fortemente tipizzato, avviato da Nicolas Cannasse nel 2005. Il suo cross-compilatore genera codice per molti target (JavaScript, C++, C#, Java, Python, PHP, Lua e altri), consentendo un unico codice multipiattaforma.
  • I

  • Idris

    Linguaggio funzionale puro general-purpose con tipi dipendenti, progettato da Edwin Brady e apparso nel 2007. I tipi possono dipendere dai valori, consentendo di specificare nel tipo proprietà del programma; è compilato e mira alla programmazione verificata.
  • 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

  • Lean

    Linguaggio funzionale e assistente di prova interattivo basato sulla teoria dei tipi dipendenti, avviato da Leonardo de Moura nel 2013 presso Microsoft Research. Lean 4 è reimplementato in sé stesso ed è pienamente estensibile; usato per la verifica formale.
  • 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.
  • Miranda

    Linguaggio funzionale puro e lazy progettato da David Turner e rilasciato nel 1985 da Research Software Ltd., successore di SASL e KRC. Primo linguaggio puramente funzionale supportato commercialmente, influenzò fortemente Haskell.
  • Modula-2

    Linguaggio creato da Niklaus Wirth all'ETH di Zurigo intorno al 1978 come successore del Pascal. Aggiunge il concetto di modulo con compilazione separata, l'astrazione dei dati e il supporto alla multiprogrammazione; nato per la workstation Lilith.
  • Mojo

    Linguaggio creato nel 2023 da Chris Lattner presso Modular come superset del Python, pensato per il codice ad alte prestazioni su acceleratori moderni. Compilato, punta a unire la facilità d'uso di Python alla velocità richiesta dai carichi AI/ML.
  • 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

  • Oberon

    Linguaggio general-purpose pubblicato nel 1987 da Niklaus Wirth e Jürg Gutknecht all'ETH di Zurigo come successore di Modula-2. Ne semplifica la sintassi e aggiunge l'estensione di tipo dei record per la programmazione a oggetti.
  • 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.
  • PL/I (Programming Language One)

    Linguaggio procedurale sviluppato da IBM a partire dal 1964 per il System/360, con l'obiettivo di unire calcolo scientifico (Fortran) ed elaborazione commerciale (COBOL). Usato per sistemi come Multics, è tra i primi linguaggi general-purpose.
  • PL/SQL

    Estensione procedurale di Oracle al linguaggio SQL. Aggiunge struttura a blocchi, variabili, cicli, condizioni e gestione delle eccezioni, permettendo di incorporare istruzioni SQL; il codice può essere salvato nel database come procedure e funzioni.
  • PowerShell

    Soluzione Microsoft di automazione fatta di shell a riga di comando, linguaggio di scripting e framework di gestione, rilasciata nel 2006 e basata sul CLR di .NET. A differenza delle shell testuali, la pipeline passa oggetti .NET; oggi è multipiattaforma.
  • 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.
  • PureScript

    Linguaggio funzionale puro, fortemente tipizzato e ispirato a Haskell, che compila in JavaScript. A differenza di Haskell usa valutazione stretta, facilitando l'interoperabilità; adatto soprattutto a single-page application front-end.
  • 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.
  • Racket

    Dialetto moderno di Lisp discendente da Scheme, nato a metà anni 1990 come PLT Scheme (rinominato Racket nel 2010) dal gruppo guidato da Matthias Felleisen. Piattaforma per il language-oriented programming, include l'ambiente DrRacket.
  • Raku

    Linguaggio della famiglia Perl, noto come Perl 6 fino al 2019, quando fu rinominato Raku con l'approvazione di Larry Wall. Multiparadigma e distinto dal Perl 5, offre tipizzazione graduale, grammatiche e concorrenza integrata.
  • Reason (ReasonML)

    Sintassi alternativa in stile C per il linguaggio OCaml, creata in Facebook da Jordan Walke nel 2016 per facilitarne l'adozione da parte degli sviluppatori JavaScript. Supporta JSX e compila in codice nativo o JavaScript; usata in Facebook Messenger.
  • Rexx (Restructured Extended Executor)

    Linguaggio di scripting sviluppato in IBM da Mike Cowlishaw tra il 1979 e il 1982 per sostituire i linguaggi EXEC. Concepito come versione semplificata del PL/I, è usato per macro applicative e automazione, precursore di linguaggi come Tcl.
  • 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

  • SAS

    Linguaggio di quarta generazione per l'analisi statistica dei dati, creato da Anthony James Barr alla North Carolina State University e sviluppato dal SAS Institute (fondato nel 1976). Usato per gestione dati, modellazione statistica e reportistica.
  • 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.
  • Simula (Simula 67)

    Linguaggio sviluppato da Ole-Johan Dahl e Kristen Nygaard al Norwegian Computing Center (Simula I nel 1965, Simula 67 nel 1967). È considerato il primo linguaggio a oggetti: introdusse classi, sottoclassi, oggetti e coroutine.
  • Smalltalk

    Linguaggio a oggetti e ambiente grafico creato al Xerox PARC dal gruppo di Alan Kay negli anni 1970, con Dan Ingalls come programmatore principale. La versione pubblica Smalltalk-80 diffuse il paradigma a oggetti puro basato su messaggi.
  • Solidity

    Linguaggio orientato agli oggetti per scrivere smart contract sulla blockchain Ethereum. Definisce contratti che vengono eseguiti in modo deterministico sulla Ethereum Virtual Machine.
  • 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.
  • Standard ML (SML)

    Linguaggio funzionale, tipizzato staticamente e modulare della famiglia ML, con definizione formale pubblicata nel 1990 e rivista nel 1997 (SML '97) da Milner, Tofte, Harper e MacQueen. Offre inferenza di tipo, moduli parametrici e pattern matching.
  • 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.
  • SystemVerilog

    Linguaggio di descrizione e verifica dell'hardware standardizzato come IEEE 1800, estensione del Verilog di cui è superset. Adottato come IEEE 1800-2005 e unificato con Verilog nel 2009, aggiunge programmazione a oggetti, assertion e verifica random vincolata.
  • T

  • Tcl (Tool Command Language)

    Linguaggio di scripting interpretato e integrabile creato da John Ousterhout a Berkeley nel 1988. Con un nucleo minimale in cui tutto è trattato come stringa, è usato come linguaggio "collante", per il test automation e negli strumenti EDA/CAD.
  • Transact-SQL (T-SQL)

    Estensione proprietaria di Microsoft e Sybase al linguaggio SQL, centrale nell'uso di SQL Server. Aggiunge programmazione procedurale con variabili, controllo di flusso, gestione degli errori e delle transazioni e procedure memorizzate.
  • 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

  • Vala

    Linguaggio a oggetti con sintassi simile a C#, ideato da Jürg Billeter per lo sviluppo di applicazioni GNOME. Il compilatore genera codice C basato sul sistema di tipi GObject, senza overhead a runtime e con accesso diretto alle librerie C.
  • Verilog

    Linguaggio di descrizione dell'hardware (HDL) creato da Phil Moorby e Prabhu Goel alla Gateway Design Automation nel 1984, con sintassi ispirata al C. Divenuto standard IEEE 1364 nel 1995, è usato per descrivere, simulare e sintetizzare circuiti a livello RTL.
  • VHDL (VHSIC Hardware Description Language)

    Linguaggio di descrizione dell'hardware nato dal programma VHSIC del Dipartimento della Difesa USA, proposto nel 1981 e standardizzato come IEEE 1076 nel 1987. Sviluppato da IBM, Texas Instruments e Intermetrics, modella e verifica sistemi digitali complessi.
  • 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 per una macchina virtuale a stack, eseguibile nei browser a velocità prossime a quelle native. Permette di portare sul web linguaggi come C++ e Rust, oltre al tradizionale JavaScript.
  • Wolfram Language

    Linguaggio di Wolfram Mathematica, creato da Stephen Wolfram e parte della prima versione del 1988. Linguaggio simbolico e multiparadigma basato sulla riscrittura di termini, funge da sistema di algebra computazionale per calcolo simbolico e numerico.
  • 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.
Preferenze cookie

Gestisci i cookie usati su Glossario Italiano. Puoi modificare le preferenze in qualsiasi momento dal link "Gestisci preferenze" in fondo a ogni pagina.

  • Necessari
    Login, sicurezza (CSRF), preferenze cookie. Sempre attivi.
    Sempre on
  • Statistici
    Misurano in forma aggregata come viene usato il sito. Nessun profilo personale.
  • Marketing
    Cookie di reti pubblicitarie esterne, se attivati in futuro. Oggi GLS non usa script di terze parti e i nostri sponsor sono editoriali, non profilano.