Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
DA COSA È COMPOSTO?
Un linguaggio di programmazione è composto da un alfabeto (insieme di simboli).
Nella lingua italiana vi sono insieme di lettere che compongono parole con un senso e non, in informatica con
l’alfabeto vengono costruite le configurazioni lecite.
Una configurazione lecita è per esempio un nome di una variabile, dove posso comporre questo nome con le lettere
che voglio ma ci sono delle regole da rispettare (esempio non posso chiamare la variabile cout o farla iniziare con un
numero).
L’insieme di regole da rispettare per scrivere correttamente è la sintassi.
INTERPRETAZIONE DALLA MACCHINA
I linguaggi di programmazione possono essere classificati, questa classifica si base sull’interpretazione della macchina
con l’uomo.
Le macchine non hanno un interpretazione umana, non possiamo sotto intendere nulla.
Si chiama polisimia quando abbiamo parole che possono avere più significati contemporaneamente.
Un interprete umano riuscirebbe a capire dal contesto che significato stiamo dando alla parola, una macchina invece
non può.
Esempio: “la maglia costa venti”, un interprete umano capisce che parliamo di soldi, una macchina potrebbe
confonderlo con il vento.
LINGUAGGIO MACCHINA
L’unico linguaggio che una macchina può capire ed eseguire è il linguaggio macchina.
Questo linguaggi è basato su una codifica estremamente compatta e poco intiutiva e richiede una conoscenza
approfondita del funzionamento di un particolare calcolatore.
Il linguaggio macchina:
livello di complessità
per paradigmi (o modelli) di programmazione
program domain
per formato del codice
Come livello di complessità si intende la difficoltà per la macchina di capire ed eseguire il codice.
LINGUAGGI DI PROGRAMMAZIONE A BASSO LIVELLO
Più il livello è basso e più si avvicina al linguaggio macchina.
I vantaggi dei codici a basso livello sono: l’ottimizzazione delle risorse e la massima efficienza con il codice meno
pesante.
Gli svantaggi dei codici a basso livello sono: necessaria una conoscenza perfetta dei dispositivi e del compilatore
tipico del microprocessore in uso.
Alcuni esempi sono Fortran(serve per creare calcoli matematici molto complicati), Assembly e Cobol(usato anche in
alcune banche, serve principalmente per applicazioni gestionali).
LINGUAGGI DI PROGRAMMAZIONE AD ALTO LIVELLO
La programmazione ad alto livello è nata per gestire strutture dati astratte e teoriche permettendo al programmatore di
concentrarsi solo sugli aspetti algoritmici senza gestire fisicamente i dispositivi.
I vantaggi dei codici ad alto livello sono: programmazione orientata all’uso di moduli che consentono riuso e
portabilità del codice e maggiore vicinanza al linguaggio naturale.
Gli svantaggi sono una gestione flessibile ma non ottimizzata delle risorse ed efficienza che dipende
dall’implementazione della libreria standard.
Alcuni esempi sono Limp e Prolog (principalmente utilizzati nel campo dell’intelligenza artificiale.
LINGUAGGI DI PROGRAMMAZIONE A MEDIO LIVELLO
C’è una terza categorie oltre alle due sopra elencate, è quella del medio livello, comprende linguaggi che possiedono
caratteristiche di entrambi i livelli, con questi linguaggi si può scrivere procedure complesse con un codice
decisamente ottimizzato.
I più conosciuti sono C, C++ e Javascript.
CLASSIFICAZIONE PER PARADIGMI DI PROGRAMMAZIONE
A seconda del linguaggio ci sono diversi approcci da eseguire.
Il modello computazionale è basato sui cambiamenti di stato della memoria della macchina.
È centrale il concetto di assegnazione di un valore ad una locazione di memoria.
Il compito del programmatore è costruire una sequenza di assegnazioni che producano lo stato finale.
Quindi un programma scritto in un linguaggio imperativo prescrive le operazione che il processore deve compiere, e le
istruzioni vengono eseguite nell’ordine in cui appaiono nel programma.
Linguaggi logici, combinati con le regole della logica per arrivare al risultato.
Linguaggi funzionali dove il problema viene risolto valutando le funzioni degli elementi base.
Linguaggi per la funzione dei database in cui si utilizzano appositi costrutti per gestire i dati.
Paradigma funzionale, usato nei linguaggi funzionali dove l’unica operazione utilizzata è l’applicazione di funzioni
combinate tra loro.
La struttura del programma consiste nella definizione di una funzione e l’esecuzione del programma consiste nella
valutazione di tale funzione.
Un esempio di linguaggio funzionale è il LISP.
Il concetto primitivo è la deduzione logica.
La base è la logica formale e l’obbiettivo è formalizzare il ragionamento.
Questi studi hanno aperto la strada alla possibilità di usare la logica come linguaggio di programmazione.
//mancano un po’’’’’’’’’’’’ di appunti