Ho notato di recente che i linguaggi di programmazione funzionale stanno guadagnando popolarità . Di recente ho visto come l' indice Tiobe mostra un aumento della loro popolarità rispetto allo scorso anno, anche se la maggior parte di loro non raggiunge nemmeno le prime 50 lingue più popolari secondo questo indice.
E questo è successo da un po 'di tempo. La programmazione funzionale semplicemente non è diventata così popolare come altri modelli (ovvero la programmazione orientata agli oggetti).
Ho visto un interesse rinato nel potere della programmazione funzionale, tuttavia, e ora che i multicore sono sempre più popolari, gli sviluppatori hanno iniziato a mostrare interesse per altri modelli di concorrenza già esplorati in passato da linguaggi come Haskell ed Erlang.
Vedo con grande interesse il fatto che nonostante la loro mancanza di significativa accettazione da parte della comunità, sempre più lingue di questo tipo continuano ad emergere. Clojure (2007), Scala (2003), F # (2002) sono solo tre esempi dell'ultimo decennio.
Anch'io ho investito un po 'di tempo ad imparare Haskell e Scala. E trovo un grande potenziale nel paradigma che per me era nuovo nonostante fosse là fuori da così tanto tempo.
E, naturalmente, la mia più grande domanda è se qualcuno di questi diventerà abbastanza popolare da prendere in considerazione la possibilità di sforzarli, ma questa è una domanda a cui nemmeno Mandrake potrebbe rispondere, nonostante tutto il clamore che la gente sta facendo su di loro.
Quello che voglio chiedere è:
- In quali scenari dovrei considerare un linguaggio di programmazione funzionale più adatto a svolgere un determinato compito? Oltre al recente problema multicore della programmazione parallela.
- Se decidessi di passare a un linguaggio di programmazione funzionale quale considereresti le più grandi insidie che dovrei affrontare? (Oltre al cambio di paradigma e alla difficoltà di valutare le prestazioni a causa di una valutazione pigra).
- Con così tanti linguaggi di programmazione funzionale, come sceglieresti quello più adatto alle tue esigenze?
Eventuali raccomandazioni per ulteriori ricerche saranno più che benvenute.
Ho cercato sul web opinioni, e sembra che tutta questa rinnovata popolarità provenga dall'idea che ora stiamo per colpire il muro della Legge di Moore e che i linguaggi di programmazione funzionale verranno e ci salveranno eroicamente. Ma se fosse così, direi che ci sono più probabilità che le lingue popolari esistenti si adattino al paradigma.
Alcuni di voi, forse con più esperienza lavorativa ogni giorno con queste lingue, possono offrire maggiori informazioni sull'argomento. Tutte le tue opinioni saranno meglio apprezzate e attentamente considerate.
Grazie in anticipo!