(Approfondimenti)Cos'è un linguaggio di programmazione |
Linguaggio:
Un linguaggio di programmazione, come qualsiasi altro tipo di linguaggio non è altro che un insieme di regole prestabilite, studiate per rendere possibile la comunicazione tra i diversi interlocutori che sono a conoscienza dello stesso linguaggio (ES: la lingua italiana non è comprensibile a una persona che parla solo inglese). Il programmatore per interloquire con un elaboratore necessita della conoscienza di un linguaggio di programmazione comprensibile anche alla macchina.Insieme di regole:
Qualsiasi linguaggio è composto da un insieme di regole che permettono la comunicazione tra due o più interlocutori, queste regole possiamo suddividerle in tre grandi categorie:Grammatica:
Le regole grammaticali sono quelle che ci impongono , in qualsiasi linguaggio , di utilizzare parole comprensibili, ovvero presenti nel dizionario del linguaggio che stiamo utilizzando.ES: la parola "vecchio" è grammaticalmente corretta, se scrivo "veccio" è grammaticalmente scorretta in quanto non esiste nel vocabolario italiano
NB: ogni linguaggio ha delle regole grammaticali diverse, per esempio la parola "udito" per la lingua italiana è grammaticalmente corretta , perchè esiste nel suo dizionario , ma per la lingua inglese non ha significato in quanto non esiste nel suo dizionario.
Sintassi :
Come per la lingua italiana , ogni linguaggio di programmazione ha le sue regole di sintassi, ovvero quelle regole che ci dicono quale ordine dobbiamo dare alle parole per comporre una frase ,o un instruzione nel caso di un linguaggio di programmazione.ES: se in italiano dico "Il leone mangia la gazzella" è sintatticamente corretta, se invece dico "il leone la gazzella mangia" è sintatticamente scorretta.
NB: come per la grammatica, anche la sintassi ha le sue diversità a seconda del linguaggio che si stà utilizzando, per esempio in inglese è corretto dire "are you happy?" in italiano letteralmente si tradurrebbe "sei tu felice?" , e sintatticamente risualta scorretto.
Semantica:
La semantica è quell'insieme di regole che determina se una frase ha un significato, pur se grammaticalmente e sintatticamente correntta.ES: analiziamo la frase "Il leone scrive un monte."
Soggetto: Il leone.
Predicato: scrive.
Complemento oggetto (cosa?): un monte.
Questa frase è sitatticamente corretta (soggetto predicato complemento), ogni parola scritta al suo interno esite sul dizionario italiano, quindi anche grammaticalmente è corretta, ma non ha un significato logico, in questo caso si parla di errore di semantica, e cosi come per la lingua italiana anche un linguaggio di programmazione ha una sua semantica.
Dizionario:
Il dizionario di un linguaggio non è altro che un insieme di parole formate da simboli contenuti all'interno del suo alfabeto . Il significato di una parola dipende strettamente dalla presenza o meno della stessa all'interno di un dizionario.Alfabeto:
L' alfabeto è l'inisieme di simboli utilizzati per comunicare.
ES: il calcolatore ha un alfabeto di 2 simboli (0,1).
L'uomo per comunicare ha bisogno di almento 127 simboli.
Iproblema della differenza tra la quantità di simboli comprensibili da un calcolatore e il numero di simboli utilizzati dall' uomo per comunicare è stata risolta codificando i simboli utilizzati dall'uomo in un sistema binario comprensibile al calcolatore(codice ASCII).
ES: la sequenza binaria "01000001", equivale alla "A" del nostro alfabeto.
(Clicca sul termine all'interno dell'immagine per visualizzare la definizione)
I linguaggio di programmazione sono molteplici ma si possono suddividere in tre categorie principali:
- Linguaggi macchina: questo tipo di linguaggio non viene propriamente visto come linguaggio di programmazione, ma lo si può classificare comunque come tale.
Senza entrare troppo nel dettaglio di questo linguaggio è bene sapere che:- Il suo alfabeto è composto da solo due simboli (binario): 0, 1
- I simboli sono organizzati in "parole", le parole compongono le istruzioni, le istruzioni sono eseguite direttamente dal processore(senza essere traditte),che è in grado di svolgere solo operazioni elementari, pertanto le istruzioni di questo linguaggio sono istruzioni elementari(Somma , sottrazione, divisione, moltiplicazione).
- Questo tipo di linguaggio è l'unico ad essere comprensibile dal processore.
- Linguaggio di basso livello: è un linguaggio di programmazione studiato per essere più vicino all' hardware, costituito da istruzioni semplici, utilizza un alfabeto più complesso (tabella ASCII), e ogni istruzione viene poi tradotta in linguaggio macchina, ad ogni istruzione di un linguaggio di basso livello ne corrisponde una in linguaggio macchina.
Il vantaggio principale di questo linguaggio è che l'esecuzione del programma è più veloce essendo studiato per una facile comprensione da parte del processore.
Gli svantaggi sono che in questo tipo di linguaggio nulla è dato per scontato , nella scrittura di un programma bisogna specificare ogni minimo dettaglio, e questo oltre ad aumentare il rischio di "errore umano", aumenta notevolmente la lunghezza del codice sorgente.
- Linguaggi di alto livello: orientato all'uomo, ovvero studiato per facilitare il programmatore nella scrittura del codice sorgente, composto da istruzioni complesse, incomprensibili ad un elaboratore (che è in grado di eseguire solo istruzioni semplici) e molto lontane dall'hardware.
Questi programmi per essere eseguibili dalla CPU devono essere tradotti in linguaggio macchina, per tradurre un istruzione di alto livello sono necessarie più istruzioni in linguaggio macchina.
Traduttori >> |
Nessun commento:
Posta un commento