LINGUAGGI DI PROGRAMMAZIONE

Transcript

LINGUAGGI DI PROGRAMMAZIONE
Cos’è
Un linguaggio di programmazione è un linguaggio dotato di un insieme di regole per
scrivere programmi per computer, ovvero un insieme di istruzioni che a partire da un
insieme di dati di input, applicando una funzione di trasformazione descritta, appunto,
dalle istruzioni, produca un insieme di dati di output.
In un linguaggio di programmazione si possono distinguere:

L'insieme delle parole chiavi: un insieme di parole che hanno un significato
particolare per chi deve tradurle in istruzioni eseguibili o deve eseguirle e a ciascuna
delle quali corrisponde una azione ben definita. Le parole chiavi non possono essere
usate se non per indicare le azioni ad esse associate

I caratteri speciali: un insieme di caratteri con significati particolari. Per esempio,
in C++, sono caratteri speciali: il carattere punto e virgola (;) che chiude una
istruzione o il carattere virgola (,) che delimita i componenti di un elenco o il
carattere spazio che distingue un componente (una parola) dall'altro. Anche in
questo caso, tali caratteri, non possono essere utilizzati se non con quel significato
particolare.

Un insieme di regole sintattiche: un modo di mettere assieme le parole così da
formare frasi per indicare le azioni che devono essere compiute.
Una volta note le caratteristiche di un linguaggio di programmazione, si può tradurre un
algoritmo in frasi (affermazioni, statement) di quel linguaggio.
GENERAZIONI
I GENERAZIONE (anni ’50)
 BINARIO
II GENERAZIONE (anni ’60)
 ASSEMBLY
III GENERAZIONE (a partire dagli anni ’70)





FORTRAN
COBOL
PASCAL
BASIC
RPG
IV GENERAZIONE (a partire dagli anni ’80)




C
C++
JAVA
PHP
V GENERAZIONE (a partire dagli anni ’90)
 LISP
 PROLOG
 SMALT TALK
BINARIO
LINGUAGGIO MACCHINA=LIVELLO PIU’ BASSO DI DESCRIZIONE DI UN
PROGRAMMA
Il sistema numerico binario è considerato tra le più grandi invenzioni del matematico
tedesco Gottfried Wilhelm Leibniz; benchè caddè ben presto nel dimenticatoio e
solo nel 1847 verrà riscoperto, grazie al matematico inglese G. Boole, che aprirà
l’orizzonte alle grandi scuole di logica matematica del ‘900 e soprattutto alla nascita
del calcolatore elettronico.
ASSEMBLY
Il linguaggio Assembly è tra tutti i linguaggi di programmazione, il più vicino
all'hardware, più vicino al linguaggio macchina vero e proprio.
Tale linguaggio è detto mnemonico proprio perché ogni istruzione è formata da una
sequenza di caratteri che ricordano il tipo di operazione da eseguire ed è necessario
un programma (assemblatore o ASSEMBLER) che lo traduca nel linguaggio
comprensibile da una calcolatore (codice esadecimale decodificato all’interno della
specifica CPU).
FORTRAN
Fortran nacque nel 1953 da un'idea di John Backus. L'informatico statunitense, in
quel momento impegnato nel laboratorio di ricerca e sviluppo IBM di San Josè,
presentò ai suoi superiori un progetto per lo sviluppo di un linguaggio di
programmazione che andasse al di là del linguaggio macchina e fosse più vicino alla
sintassi e alla semantica del linguaggio naturale. In questo modo, sosteneva Backus,
la programmazione sarebbe stata più semplice e intuitiva e il tempo di realizzazione
dei programmi sarebbe drasticamente calato.
Il linguaggio resta indipendente dall'ambiente operativo della macchina utilizzata.
COBOL
In informatica il COBOL (acronimo di COmmon Business-Oriented Language, ossia,
letteralmente, "linguaggio comune orientato alle applicazioni commerciali") è uno
dei primi linguaggi di programmazione ad essere stato sviluppato. Nonostante sia un
linguaggio datato il COBOL è tuttora presente in molte applicazioni software
commerciali di tipo bancario, specie lato mainframe (es. CICS).
PASCAL
Il Pascal è un linguaggio di programmazione inizialmente basato sul concetto di
programmazione strutturata, caratterizzato da una estrema rigidità, poi esteso
anche alla programmazione orientata agli oggetti. Le sue peculiarità sono date
dall'intenzione del suo creatore, Niklaus Wirth, di creare un linguaggio che, a
differenza del BASIC, forzasse da parte del programmatore uno studio accurato
dell'algoritmo e che fosse dotato di funzionalità e strutture dati avanzate. Questi
elementi lo rendono uno dei linguaggio più usati a livello didattico, soprattutto nelle
scuole.
BASIC
Il BASIC, almeno nelle versioni di Kemeny e Kurtz che costituiscono il cosiddetto
"Dartmouth BASIC", fu progettato per essere un linguaggio semplice da imparare.
Le istruzioni erano poche e non complesse. Il BASIC offriva inoltre pochi costrutti
strutturati, quindi orientati alla creazione di programmi chiari e comprensibili. Fu
pensato inoltre come un linguaggio algoritmico, adatto cioè a programmare
algoritmi.
RPG
RPG oppure RPG IV è un linguaggio di programmazione nativo per minicomputer
IBM della serie iSeries, denominata anche, più comunemente, AS/400. La sua
versione più recente comprende l'uso di prototipi di funzioni e procedure, binding
statico e dinamico dei dati, accesso a librerie di routine scritte in C, uso di funzioni
contenute in DLL compilate a partire da altri linguaggi, e supporta totalmente codice
dotato di sintassi ricorsiva e rientrante.
C
Il C è un linguaggio di programmazione compilato. Ciò vuol dire che è necessario
utilizzare un "compilatore" per trasformare il codice sorgente in un programma
eseguibile dal sistema operativo. Il livello di programmazione offerto dal C è
relativamente basso, pertanto è possibile creare programmi molto performanti e
per questo motivo viene utilizzato in molte applicazioni che necessitano di
prestazioni elevate (sistemi operativi, giochi per PC, applicazioni embedded, ecc.). La
sintassi è molto semplice, ma per diventare esperti programmatori, è necessaria
moltissima pratica. Uno dei punti forti del C è sicuramente la gestione della
memoria: è il programmatore stesso infatti che alloca determinati blocchi di
memoria e si occupa della loro deallocazione. Inoltre è un linguaggio molto
flessibile, con tipi di dati che permettono di costruire strutture dati anche molto
complesse. Il C è un linguaggio procedurale. Ciò vuol dire che non esistono classi,
oggetti, eventi, ecc. come per esempio nel C++, Java e molti altri linguaggi di più alto
livello. L'elemento "portante" dei programmi C è costituito infatti dalle funzioni o
procedure.
C++
Il C++ è un linguaggio di programmazione orientato agli oggetti, con tipizzazione
statica. È stato sviluppato (in origine col nome di "C con classi") da Bjarne Stroustrup
ai Bell Labs nel 1983 come un miglioramento del linguaggio C. Tra i miglioramenti
principali troviamo: l'introduzione del paradigma di programmazione a oggetti,
funzioni virtuali, overloading degli operatori, ereditarietà multipla, template e
gestione delle eccezioni.
JAVA
In informatica Java è un linguaggio di programmazione orientato agli oggetti,
specificatamente progettato per essere il più possibile indipendente dalla
piattaforma di esecuzione.
PHP
PHP (acronimo ricorsivo di "PHP: Hypertext Preprocessor", preprocessore di
ipertesti; originariamente acronimo di "Personal Home Page") è un linguaggio di
programmazione interpretato, originariamente concepito per la programmazione di
pagine web dinamiche. L'interprete PHP è un software libero distribuito sotto la PHP
License. Attualmente è principalmente utilizzato per sviluppare applicazioni web
lato server, ma può essere usato anche per scrivere script a riga di comando o
applicazioni stand-alone con interfaccia grafica.
LISP e PROLOG
Sono linguaggi sviluppati in progetti di Intelligenza Artificiale (già predecessori
linguaggi funzionali quale il Lisp nel ‘58, linguaggi logici quali il Prolog nel 70) in cui si
sono incorporate alcune tecniche di ragionamento deduttivo ed appartengono ad
un livello gerarchicamente ancora più elevato di descrizione di programmi sempre
più distante dall’hardware.
A cura di BORIOTTI FRANCESCA, 3E