Stavo pianificando le feature per la versione 2 di SEPY, l'editor per ActionScript ideato da Alessandro Crugnola che ci stiamo accingendo a rinnovare completamente, ed ho dovuto scaricare i sorgenti di MTASC per controllare se una di queste feature fosse implementabile o meno con il sistema che stiamo studiando. Con dispiacere ho notato che il compilatore è scritto in OCaml, un linguaggio funzionale che deriva, più o meno direttamente, da ML. Mi ero già imbattuto in sorgenti scritti con questa tipologia di programmazione, ed avevo sempre tralasciato l'argomento dato che lo ritenevo poco utile per i miei interessi. Fortunatamente per me questa volta ho deciso di recuperare un manuale di OCaml e cominciare a studiarlo.
Non c'è che dire: la programmazione funzionale, per quanto logicamente e sintatticamente differente da quella a cui la maggior parte degli sviluppatori è abiutata, risulta veramente interessante. Il concetto di base è abbastanza semplice: esprimere il problema non come un insieme di istruzioni da eseguire successivamente ma come un insieme di espressioni da valutare in base al contesto. Per fare questo vengono utilizzate funzioni più o meno complesse che hanno il compito di elaborare e valutare i dati al fine di risolvere il problema proposto. Ho dato un occhiata ad un po' di problemi risolti con diversi stili di programmazione e devo dire che l'approccio funzionale risulta spesso più compatto e di facile apprendimento.
Se avrà un po' di tempo spero di riuscirlo a dedicare allo studio di questo stile di programmazione, in modo da potervi tenere aggiornati ed invogliarvi all'avvicinamento verso i linguaggi funzionali.