C++ – Cenni sui linguaggi di programmazione
I linguaggi di programmazione permettono di scrivere algoritmi eseguibili da un sistema di elaborazione. Un algoritmo scritto in un linguaggio di programmazione viene chiamato programma e il processo di scrittura del programma, a partire dall’algoritmo, viene chiamato codifica. I linguaggi di programmazione sono costituiti da un insieme di parole chiavi (le parole che hanno un senso in quel linguaggio), un insieme di simboli speciali (caratteri con particolari significati come separatori, simboli di fine istruzione, ecc) e da un insieme di regole (la sintassi del linguaggio) che devono essere rispettate per scrivere programmi sintatticamente corretti.
Il linguaggio macchina costituito da zero ed uno è l’unico che può controllare direttamente le unità fisiche dell’elaboratore in quanto è l’unico comprensibile dall’elaboratore stesso. È però estremamente complicato scrivere programmi in tale linguaggio, naturale per la macchina, ma completamente innaturale per l’uomo. Per poter permettere un dialogo più semplice con la macchina sono nati i linguaggi di programmazione.
Il più vecchio linguaggio di programmazione è il linguaggio assembly. Il linguaggio assembly è una rappresentazione simbolica del linguaggio macchina. La scrittura di programmi è enormemente semplificata: il linguaggio assembly utilizza simboli facili da ricordare e non incomprensibili sequenze binarie. Per essere eseguito dall’elaboratore un programma in linguaggio assembly deve essere tradotto in linguaggio macchina; tale lavoro è a carico di un programma detto assemblatore. Questi due tipi di linguaggi, detti anche linguaggi di basso livello sono propri di ogni macchina.
I linguaggi di alto livello sono più vicini al linguaggio naturale, sono orientati ai problemi piuttosto che all’architettura della macchina, rendono cioè la scrittura di un programma molto vicina a quella che si produrrebbe se l’esecutore fosse un umano, piuttosto che una macchina con esigenze e, per esempio, modi di gestire le parti di un elaboratore, che dipendono da come sono costruite e non dalle funzioni svolte. Non fanno riferimento ai registri fisicamente presenti sulla macchina ma a variabili. Per essere eseguiti devono essere tradotti in linguaggio macchina, e tale traduzione viene svolta da un programma detto compilatore.
I linguaggi di alto livello sono in larga misura indipendenti dalla macchina, possono essere eseguiti su qualsiasi elaboratore a patto che esista il corrispondente compilatore che ne permetta la traduzione.
I linguaggi di alto livello si caratterizzano per essere orientati a specifiche aree applicative. Questi linguaggi vengono anche detti di terza generazione.
Per ultimi in ordine di tempo sono arrivati i linguaggi di quarta generazione, ancora più spiccatamente rivolti a specifiche aree applicative e utilizzabili in modo intuivo dall’utente non esperto. Il più famoso di questi è SQL (Structured Query Language), che opera su basi dati relazionali. I linguaggi di IV generazione sono detti non procedurali poiché l’utente specifica la funzione che vuole svolgere senza entrare nel dettaglio di come verrà effettivamente svolta.
Indice corso: C++ Appunti di Programmazione
Fonte: prof. Nunzio Brugaletta
