Linguaggi di programmazione: facciamo chiarezza!

pexels-photo-546819.jpeg

B,Basic, Fortran,C, C++, Python, Java, Visual Basic,D ; questi sono i nomi di alcuni tra i più famosi linguaggi di programmazione, ovviamente non tutti esauribili in questi appena citati. Chi tempo fa o recentemente si sia avvicinato al mondo della programmazione, sa bene che ogni linguaggio si differenzia per le proprie peculiarità in termini di prestazioni e limiti di creazione di progetti più o meno complessi, e pertanto necessiti di una suddivisione per tipologia  e per livello . Per non scendere ulteriormente nel dettaglio, basti sapere che tutti i linguaggi di programmazione, al fine di essere distinti, vengono classificati in due grandi gruppi : i linguaggi di programmazione a basso e alto livello.

UNA PICCOLA PREMESSA

Per capirne la differenza sostanziale bisogna capire prima di tutto cosa sia un linguaggio di programmazione. Tutti noi parliamo una lingua per comunicare i nostri sentimenti e le nostre sensazioni; la lingua non è altro che un grande insieme che racchiude nomi e verbi, parole insomma. Il linguaggio di programmazione, allo stesso modo, consente una comunicazione tra uomo e computer, e si basa su un insieme di simboli che vanno a formare una grammatica vera e propria ,fatta di istruzioni interpretabili dall’uomo e dalla macchina. Il linguaggio dell’uomo è definibile come linguaggio di primo livello, ed è sostanzialmente il punto di riferimento per qualsivoglia linguaggio di programmazione; più un linguaggio si avvicina, per chiarezza e leggibilità, a un linguaggio parlato dall’uomo, più è classificabile come linguaggio di alto livello, viceversa, se esso appare di difficile interpretazione a una prima lettura, poichè lontano  dal linguaggio umano, allora viene classificato come linguaggio di basso livello.

E’ NATO PRIMA L’UOVO O LA GALLINA?

Quale livello ha dato origine all’altro? Per capirlo basta ritornare alle origini della comunicazione elettronica, ovvero ai primi calcolatori, i “computers”. La comunicazione di dati da parte dell’uomo a queste incredibili macchine, oggi di piccole dimensioni, ma un tempo di dimensioni paragonabili a quelle di una stanza, avveniva tramite istruzioni comunicate in file interminabili di 0 e 1, che vanno a costituire il famoso codice binario, il padre della lingua dell’informazione. Ovviamente al tempo era raro e unico trovare una persona che conoscesse a memoria le istruzioni da comunicare alla macchina utilizzando  sequenze di codice binario, pertanto in breve tempo si decise di tradurre determinate sequenze di 0 e 1 in numeri e lettere (con uno spazio di memoria ben definito) affinché si potessero comunicare istruzioni attraverso l’uso di imperativi in lingua inglese, scelta per la sua universalità.

I primi linguaggi sviluppati erano atti solo a poter permettere di eseguire calcoli altrimenti impossibili in breve tempo per il cervello umano; successivamente i nuovi linguaggi creati venivano sviluppati ulteriormente in termini di comprensibilità e uso: più si andava avanti e più i linguaggi si allontanavano dal linguaggio macchina e dal suo più vicino derivato, l’Assembly. Fu così che nel 1983, con la nascita del C++, la programmazione iniziò a risultare di più facile comprensione e lettura. Il C++ infatti aprì le porte a un linguaggio più facile da imparare rispetto ai suoi predecessori e diede la possibilità di sviluppare linguaggi che vengono utilizzati oggi ogni giorno da ogni programmatore. Pertanto, come un bambino nasce dalla propria madre , così i linguaggi di programmazione ad alto livello sono nati a partire dalle basi.

LA DIATRIBA ODIERNA SUL BASSO LIVELLO

La domanda che si pone chi inizia a studiare informatica è da dove partire. L’opinione più comune è che si debba partire dall’alto e solo opzionalmente optare per un linguaggio di basso livello: niente di più sbagliato. Non si può decidere di leggere un  libro in lingua straniera ignorando la grammatica di tale lingua,così come non si può pretendere di comprendere da sé l’effetto su una macchina di un’istruzione di alto livello, quindi nata dall’astrazione del linguaggio macchina. Pertanto, chi voglia non programmare, ma saper programmare, deve partire da neofita dal basso, per comprendere come un’istruzione in C per esempio , sia molto vicina al linguaggio macchina e possa essere utile a capire quali calcoli svolge la macchina per riuscire a produrre il risultato che si vuole ottenere da essa.

Mattia Bacigalupo

Nessun medico è veramente esperto prima di aver ucciso uno o due pazienti.
(Proverbio indù)

 

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...