Tra gli innumerevoli linguaggi di programmazione, si possono individuare diversi CLASSI DI LINGUAGGI. Vediamone le principali

- procedurali
- strutturati
- orientati agli oggetti
- dichiarativi (o logici)
- orientati agli array
- paralleli
- concorrenti
- di scripting


Analizziamo più in specifico le singole classi:

LINGUAGGI PROCEDURALI
---------------------
I primi linguaggi di programmazioni consistevano in un semplice elenco di istruzioni e corredate di salti non condizionati, "bannati" dalla programmazione moderna.

Elenco dei principali linguaggi procedurali:
- Assembly
- ALGOL
- B
- BASIC
- BCPL
- COBOL
- Fortran
- Forth
- PL/I

LINGUAGGI STRUTTURATI
---------------------
Poiché i problemi possono essere complessi, sono state costruite tecniche di programmazione strutturata, che limitano la possibilità di errori di logica: la tecnica permette di dividere un programma complesso in parti più maneggevoli per il programmatore; inoltre, i salti non condizionali (GOTO) sono generalmente sostituiti alle strutture di controllo, quali la sequenza, la selezione e l'iterazione.

Elenco dei principali linguaggi strutturati:
- Ada
- C
- Logo
- Modula-2
- Oberon
- Pascal

LINGUAGGI ORIENTATI AGLI OGGETTI (OOP)
--------------------------------------
La programmazione orientata gli oggetti (OOP, Object Oriented Programming) è un paradigma di programmazione, che prevede di raggruppare in un'unica entità (la classe) sia le strutture dati che le procedure che operano su di esse, creando per l'appunto un "oggetto" software dotato di proprietà (dati) e metodi (procedure) che operano sui dati dell'oggetto stesso. La modularizzazione di un programma viene realizzata progettando e realizzando il codice sotto forma di classi che interagiscono tra di loro.

La programmazione orientata agli oggetti è particolarmente adatta a realizzare interfacce grafiche.

Elenco dei principali linguaggi orientati agli oggetti:
- BETA
- C++
- C#
- Python
- Delphi
- Eiffel
- Java
- Modula-3
- Objective C
- PowerBuilder
- REBOL
- Simula
- Smalltalk
- Visual Basic
- VB.NET

LINGUAGGI DICHIARATIVI (o LOGICI)
---------------------------------
Il Prolog è stato il primo rappresentante di questa classe. Nato a partire da un progetto per un dimostratore automatico di teoremi, il linguaggio dichiarativo rappresenta un modo completamente nuovo di concepire l'elaborazione dei dati.

Un programma afferente al paradigma dichiarativo è, tipicamente, la definizione di COSA viene computato, indipendentemente da COME la computazione avvenga.
Il programma è considerato come la dimostrazione della verità di una asserzione; il sorgente è costituito da una sequenza di asserzioni, di fatti e regole. Non è necessario indicare esplicitamente il flusso di esecuzione, bensì dato un obiettivo di partenza (il 'goal') è il sistema che cerca di individuare i fatti e le regole rilevanti.

L'esecuzione del programma consiste nell'applicazione ripetuta delle regole disponibili fino a trovare una catena di regole e trasformazioni che consente di stabilire se il risultato desiderato è vero o no.
Affinché sia possibile usarli in un programma dichiarativo, tutti i normali algoritmi devono essere riformulati in termini ricorsivi e di backtracking; questo rende la programmazione con questi linguaggi una esperienza del tutto nuova e richiede di assumere un modo di pensare radicalmente diverso, vicino alla logica di primo ordine (LPO), in particolare alle clausole di Horn.

Elenco dei principali linguaggi dichiarativi:
- Mercury
- Prolog

LINGUAGGI ARRAY-ORIENTED
------------------------
L'idea fondamentale che sta dietro alla programmazione array-oriented è il fatto che le operazioni non riguardano singole variabili, bensì matrici, nel loro complesso. Questo ne fa linguaggi ad alto livello, in quanto permettono al programmatore di pensare ed operare su intere aggregazioni di dati, senza la necessità di implementare operazioni scalari individuali.

- APL
- Fortran 95
- IDL
- J
- K
- Mathematica
- MatLab
- PDL
- ZPL

LINGUAGGI PARALLELI
-------------------
I moderni supercomputer sono equipaggiati con più CPU. Come ovvia conseguenza, questo richiede la capacità di sfruttarle; per questo sono stati sviluppati dapprima il multithreading, cioè la capacità di lanciare più parti dello stesso programma contemporaneamente su CPU diverse, e in seguito alcuni linguaggi studiati in modo tale da poter individuare da soli, in fase di compilazione, le parti di codice da lanciare in parallelo.

Elenco dei principali linguaggi paralleli:
- Occam

LINGUAGGI CONCORRENTI
---------------------
I linguaggi concorrenti usano costrutti per risorse condivise che possono cambiare. La programmazione concorrente è generalmente considerata più generale della programmazione parallela, in quanto quest'ultima ammette solo esecuzioni multiple allo stesso tempo.

La programmazione concorrente può avvenire 'a memoria condivisa', dove più processi hanno accesso ad un'area di memoria comune, oppure basato sullo 'scambio dei messaggi'.

Elenco dei principali linguaggi concorrenti:
- Alef
- ChucK
- Cilk
- Comega
- Concurrent Pascal
- E
- Erlang
- Joule
- Limbo
- Promise
- SR


LINGUAGGI DI SCRIPTING
----------------------
Un linguaggio di scripting è un linguaggio che estende un linguaggio preesistente. Esso consiste di un insieme di parole chiavi e regole sintattiche che permettono di eseguire istruzioni su un computer il cui compito è quello di compilarle.

Si distinguono, all'interno dei linguaggi di scripting, diverse funzioni che possono essere adempiute o meno a seconda dello specifico linguaggio preso in esame. In generale, vengono usati soprattutto nella creazione e gestione di interfacce grafiche. Sono usati spesso in comunicazione con programmi scritti in altri linguaggi.

Indicativamente, è più facile programmare con un linguaggio di scripting e i file script occupano in genere dimensioni inferiori rispetto, ad esempio, a un equivalente programma scritto in C. Dall'altro lato, le prestazioni non sono delle migliori: i linguaggi di scripting, spesso interpretati anziché compilati, possono essere significativamente più lenti e consumare più memoria in fase di esecuzione. Comunque, nella maggior parte dei casi, ad esempio con un piccolo script di poche decine di righe, il risparmio di tempo in fase di stesura del codice compensa pienamente gli svantaggi di esecuzione.

Elenco dei principali linguaggi di scripting:
- AppleScript
- Awk
- Bash
- HyperTalk
- JavaScript
- Perl
- PHP
- Python
- QBasic
- REBOL
- Ruby
- Tcl
- VBA
- VBScript
- GML