Che cos’è un linguaggio di programmazione

di Lorenzo Neri
0 commento 167 visualizzazioni

Un linguaggio di programmazione è quell’insieme di parole e simboli strani che trasformano i tasti che pigi sulla tastiera in applicazioni, siti web, videogiochi e altre diavolerie del computer.

Scusa, non ho resistito: non potevo di certo metterti una definizione in #tecnichese su cos’è un linguaggio di programmazione 😀

Cerchiamo però di capire che cos’è veramente un linguaggio di programmazione.

In realtà la definizione classica non si discosta tanto da quello che ho messo come mia definizione personale:

Un linguaggio di programmazione non è nient’altro che un linguaggio formale in grado di essere letto da una macchina di Turing e permette tramite un insieme di istruzioni di produrre un output

Scommetto che la tua faccia è più o meno questa: 

Del resto lo sai, in questo blog mi prefiggo sempre in ogni articolo di spiegarti le cose in modo semplice e chiaro.

Macchina di Turing: se non sai chi sia, beh… Scoprilo immediatamente qui e poi torna a leggere l’articolo!

Per macchina di Turing intendiamo un computer per quello che è: ovvero, una macchina in grado di leggere e scrivere dati di grandezza (quasi) infinita secondo regole ben specifiche.

… Un po’ come le fashion blogger quando ci ammorbano con un milione di storie su Instagram al giorno!

Per linguaggio formale invece, si intende un insieme di simboli ben definito con il quale si possono realizzare testi di lunghezza definita.

Cosa mai vorrà dire questa frase spacca-cervelli? 

Pensiamo all’alfabeto: sono 26 se consideriamo quello base. Quindi è un insieme di simboli ben definito: non sono 24, non 98237423 elevato alla potenza di ambarabàcicicòcò, non sono 42 e forse mezza pertica.

NO. Sono 26: fine.

E testi di lunghezza definita? Beh quando cerchi di scrivere un’e-mail prima o poi arriverai al punto in cui metterai la tua firma e la invierai giusto?

Ha una lunghezza: non è infinita come il tessuto che cercava di tessere Penelope nell’Odissea.

Ecco, questo definisce un linguaggio di programmazione.

Spesso però, chi cerca “cos’è un linguaggio di programmazione” non si ferma qui.

Di solito quello che si chiede è:

  • Quale imparare?
  • Qual è il migliore?
  • Come funzionano?

Quale linguaggio imparare è una domanda da un milione di dollari: una risposta la trovi qui 😀

Torniamo a noi: Come funzionano i linguaggi di programmazione?

Devi sapere che i computer sono veramente, ma veramente tanto stupidi.

Così stupidi che sono in grado di capire solamente questo:

01010001 01110101 01100001 01101100 01100011 01110101 01101110 01101111 00100000 01101000 01100001 00100000 01110110 01101001 01101110 01110100 01101111 00100000 01110101 01101110 00100000 01110000 01110010 01100101 01101101 01101001 01101111 00100001 00001010 00001010 01010100 01110101 00100000 01110000 01100101 01110010 11110010 00100000 01101110 01101111 01101110 00100000 01110100 01101001 00100000 01100011 01101000 01101001 01100001 01101101 01101001 00100000 00100010 01010001 01110101 01100001 01101100 01100011 01110101 01101110

Sarò onesto: non ci capisco una mazza nemmeno io, ma forse questo sito potrà aiutarti.

Bene, ovviamente convieni con me che scrivere codice binario tutto il giorno sarebbe un casino incredibile e a quest’ora non sarebbero così evoluti i nostri computer?

Esattamente.

Fortuna vuole, che nell’evoluzione di questo mondo, qualcuno ha ben pensato di creare i linguaggi di programmazione di alto livello.

Linguaggio di programmazione di alto livello

Un linguaggio di programmazione di alto livello è quella cosa con tante lettere ma pochi simboli che ti permette di creare roba con il computer, ma potrebbe capirlo anche tuo nonno

Per intenderci:

SELECT Nome,Cognome FROM Utenti

È molto leggibile, o meglio: molto umanamente leggibile vero?

Ecco, un linguaggio di programmazione di alto livello, è ovviamente un linguaggio di programmazione, ma molto simile a quello parlato dagli umani.

Per nostra fortuna e sfortuna, non tutti i linguaggi di programmazione sono così.

Linguaggio di programmazione di medio livello

Un linguaggio di programmazione di medio livello è quella cosa che tuo nonno non la capirebbe mica, a malapena la capisci tu, è fatta di tanti simboli strani, qualche parola nota che ti permette di creare tanti programmi diversi tra loro

Qua siamo a metà strada:

int isOdd(int numb){
    return numb%2==0;
}

Sì, il C è la rappresentazione perfetta di quello che è un linguaggio di programmazione di medio livello.

Per medio livello, intendiamo qualcosa di simile al linguaggio umano, ma simile anche al linguaggio macchina.

In termini di tempo che ci vuole per eseguirlo, è molto più veloce del precedente.

Perchè ricordiamoci: il computer è stupido e deve tradurre questa roba in linguaggio macchina, per poi tradurla in codice binario.

Siamo anche noi stupidi a nostro modo: abbiamo creato i linguaggi di programmazione per questo! Cooomunque…

Linguaggio di programmazione di basso livello

Un linguaggio di programmazione di basso livello è quella cosa che sembra di leggere la stele di Rosetta, ma permette alla fotocamera del tuo smartphone di trasmettere una live su YouTube

Per intenderci:

MOV AL,4C
SUB AH,0F

Sta roba ha fatto paura anche a me durante la mia prima lezione di informatica al terzo anno di scuole superiori.

Questo è il linguaggio macchina: ogni linguaggio di programmazione di livello superiore viene tradotto in linguaggio macchina, poi in codice binario.

Questo, sono i linguaggi di programmazione: un insieme di parole e simboli quanto più semplici da capire che permette a noi esseri umani di creare codice.

Potrebbero interessarti

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più