Aperta una nuova sezione dedicata ad OCaml

All’uni, nel corso di “Metodi formali dell’informatica I”, abbiamo iniziato a vedere un nuovo (per me) linguaggio di programmazione, OCaml. Quindi visto che parto praticamente da zero nello studio di questo linguaggio ho deciso di creare una categoria dedicata ad esso qui sul blog, dove postare man mano i nuovi argomenti affrontati, i nuovi aspetti del linguaggio visti, gli esempi e le prove che faccio, in modo da ottenere una sorta di guida, anche se probabilmente solo introduttiva, ad OCaml.
Partiamo con una breve introduzione per capire di cosa stiamo parlando. OCaml è un linguaggio funzionale a differenza di altri linguaggi, come il C, che invece sono linguaggi imperativi.
Le principali caratteristiche di un linguaggio funzionale sono:

  • Strutture dati immutabili: cioè persistenti, una volta che sono state definite non possono più essere modificate. Se definisco una lista e poi voglio eliminare un elemento, la lista che ottengo come risultato è una nuova lista a tutti gli effetti e non quella iniziale modificata.
  • La struttura di controllo principale è la ricorsione.
  • Vengono utilizzate funzioni di ordine superiore: le funzioni di ordine superiore (chiamate anche “functionals”) sono quelle funzioni che prendono come parametri (argomenti) delle altre funzioni e in alcuni casi ritornano a loro volta una funzione.

Nei linguaggi imperativi, prendiamo sempre a riferimento il C, abbiamo invece:

  • Strutture dati mutabili.
  • Iterazione (quindi loop, cicli) come struttura di controllo principale: da notare il “principale”, infatti anche nel C la ricorsione viene molto utilizzata per diversi tipi di problemi ma i cicli rapprensentano una parte basilare e compaiono praticamente in ogni programma.
  • Uso di funzioni del primo ordine: cioè di funzioni che prendono in input e restituiscono in output dei dati semplici (int, char) o delle strutture (array).

Ok, è stato presentato il discorso ad un livello più generale possibile. Dal prossimo post, di categoria ovviamente, si parlerà nello specifico di OCaml.

This entry was posted in $1$s. Bookmark the permalink.

4 thoughts on “Aperta una nuova sezione dedicata ad OCaml

  1. scusate una curiosit?† chi mi spiega una funzione ocaml dove si sommano due interi dati da tastiera con read_int()????

  2. Io passo. Il discorso OCaml, da queste parti, ?® morto e sepolto: fate finta che questo post non sia mai stato scritto. :D
    Se poi arriva qualcuno che la sa, ben venga.

Leave a Reply

Your email address will not be published. Required fields are marked *