I linguaggi di programmazione di tipo procedurale sono quelli in cui
le istruzioni per il computer vengono espresse indicando la sequenza di operazioni che devono essere svolte passo per passo.
Di fatto la stragrande maggioranza dei linguaggi comunemente
usati per la programmazione sono di tipo procedurale; fra i più noti:
C, Java, FORTRAN, perl, Python, ecc., ecc..
Fra i linguagi di tipo diverso possiamo citare quelli per la
programmazione funzionale in cui le azioni da compiere vengono
specificate sotto forma di espressioni o funzioni. Per utilizzare un
immagine del linguaggio comune si potrebbe dire che i linguaggi procedurali
specificano “come” il programma deve funzionare, i linguaggi funzionali
specificano “che cosa” il programma deve fare. Alcuni esempi di
linguaggi funzionali sono Haskell, Scheme, SML;
altri linguaggi (ad esempio Python) contengono alcuni construtti che
consentono uno stile di programmazione di tipo funzionale.
Una spiegazione più dettagliata sarebbe di lunghezza eccessiva per
queste pagine, altre informazioni sulla programmazione funzionale
possono essere trovate in rete:
Imparare a Programmare di A. Gauld,
una introduzione alla programmazione in linguaggio Python che contiene
un capitolo sulla programmazione funzionale (traduzione italiana).- www.haskell.org, Il sito ufficiale
del linguaggio Haskell. - Esiste un gruppo di discussione sull’argomento: comp.lang.functional,
che cura anche una FAQ che
contiene una gran quanità di ulteriori riferimenti.
Altri linguaggi di tipo non procedurale possono essere considerati i sistemi
di programmazione grafica in cui l’utilizzatore specifica il “programma”
assemblando icone che rappresentano blocchi funzionali che vengono poi
collegati con linee
che rappresentano scambi di dati.
Esempi di ambienti di questo tipo sono Khoros, LabView, Simulink, LogoBlocks ed altri.
Per approfondimenti si consiglia:
- Khoros, il sito ufficiale. Khoros
è un prodotto commerciale della Khoral. - Una
introduzione a LabView ed un
gruppo di interesse italiano. LabView è un prodotto commerciale
della National Instruments. - Simulink.
È un prodotto commerciale della MathWorks. - LogoBlocks
è un linguaggio di programmazione grafica sviluppato al MIT per
programmare applicazioni robotiche.