Linguaggi
Famiglie
Famiglie
Se i linguaggi di programamzione sono così tanti, come si fa a orientarsi? Come si fa a scegliere quale usare, o quale imparare per primo?
Spesso nei gruppi di programmatori appare un neofita, appena iscritto, che chiede: ma volendo diventare un programmatore, quale linguaggio dovrei imparare? E giù le risposte, da quelle basate sull'esperienza personale a quelle basate sul sentito dire, fino ai proverbi inventati sul momento ("impara il C e mettilo da parte, meglio Java oggi che Go domani").
Proviamo ad affrontare la questione da un punto di vista un po' più generale.
I linguaggi di programmazione vengono spesso divisi in famiglie come le lingue naturali, per tenere traccia sia delle grandi somiglianze, sia delle derivazioni storiche.
Una maniera di rappresentare le famiglie è quella degli alberi genealogici, con tanto di antenati e discendenti. Di solito si prendono come antenati alcuni linguaggi che hanno avuto un ruolo storico o che per primi hanno applicato un paradigma. Malgrado quello che si potrebbe pensare, si tratta di linguaggi inventati nell'arco di quindici anni, tra il 1968 e il 1972.
- ALGOL (1958): Pascal, Ada, C, ...
- Lisp (1958): Javascript, Haskell, ML,...
- Simula (1967): Smalltalk, C++, Java, Python, Ruby,...
- Prolog (1972): Clojure, Datalog, Erlang, ...
Un altro modo di classificare i linguaggi di programmazione è tramite i paradigmi. Un paradigma è la metafora con cui viene immaginato il rapporto tra programmatore e computer. Anche i paradigmi hanno una storia, nel senso che sono stati inventati in un certo momento, poi ci sono voluti alcuni anni perché si affermassero teoricamente e poi altri anni perché cominciassero a diffondersi praticamente dei linguaggi utilizzabili concretamente.
I principali paradigmi che vengono citati questi quattro:
- LINGUAGGI IMPERATIVI: una serie di comandi che producono un effetto;
- LINGUAGGI FUNZIONALI: una o più funzioni che restituisce un risultato, senza effetti collaterali;
- LINGUAGGI ORIENTATI AGLI OGGETTI: una serie di oggetti, dotati di metodi, che interagiscono tra loro;
- LINGUAGGI LOGICI: una dimostrazione di un teorema a partire da fatti e regole.
Nella pratica, molti linguaggi sono multi-paradigma, perché sono stati influenzati al momento della loro creazione da più modelli, o perché dalla versione iniziale "pura" sono cresciuti aggiungendo delle caratteristiche "impure" ma comode. Ad esempio Scala è nato fin dall'inizio come un linguaggio funzionale ad oggetti, mentre ad un certo punto è stata creata una versione di Prolog (che nasce logico) orientato agli oggetti.
Ci sono ancora altri modi di classificare o rappresentare la diversità dei linguaggi. Per esempio, sulla base del loro utilizzo.
TIOBE è una società che crea un'indice di frequenza di utilizzo dei vari linguaggi di programmazione.
Come fa a creare questo indice? Semplicemente utilizza i motori di ricerca. Come è spiegato nel sito web della società, viene effettuata una ricerca con la stringa seguente:
language X programmingcon X che viene sostituito dai nomi dei linguaggisu 25 motori di ricerca diversi. Google, nella varie versioni nazionali, è il più utilizzato, ma ci sono anche Wikipedia, Amazon ed Ebay.
Questa è la tabella con i linguaggi più usati a Settembre 2021:
Sulla base delle risposte ottenute lungo gli anni, il grafico sottostante mostra l'andamento dei linguaggi più utilizzati dal 2002 al 2021.
Prossimo pannello: ⇨ Traduzione
© Codexpo.org - Content released under Creative Commons 4.0 BY/SA/NC
Versione: 12/01/2022 - 19:23:40
Parole: 298