Ho notato recentemente che i linguaggi di programmazione funzionale stanno guadagnando popolarità . Di recente ho notato che l' indice Tiobe mostra un aumento della loro popolarità rispetto a l'anno scorso sebbene la maggior parte di loro non raggiunga nemmeno le 50 lingue più popolari secondo questo indice.
E questo è avvenuto da parecchio tempo. La programmazione funzionale non è diventata così popolare come altri modelli (cioè la programmazione orientata agli oggetti).
Ho visto tuttavia un interesse rinato nel potere della programmazione funzionale 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 mancanza di una grande accettazione da parte della comunità, sempre più lingue di questo genere continuano ad emergere. Clojure (2007), Scala (2003), F # (2002) sono solo tre esempi degli ultimi dieci anni.
Sono stato, io stesso, investendo un po 'di tempo nell'apprendimento di Haskell e Scala. E trovo un grande potenziale nel paradigma che per me è stato totalmente nuovo nonostante sia stato là fuori per così tanto tempo.
E naturalmente, la mia più grande domanda è se qualcuno di questi diventerà abbastanza popolare da considerare di mettere in atto qualsiasi sforzo in loro, ma questa è una domanda che nemmeno Mandrake potrebbe rispondere, nonostante tutto il clamore è 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 problema multicore recentemente popolare della programmazione parallela.
- Se ho deciso di passare a un linguaggio di programmazione funzionale che consideri le maggiori insidie che dovrò affrontare? (Oltre al cambio di paradigma e alla difficoltà di valutare le prestazioni a causa di una valutazione lenta).
- Con così tanti linguaggi di programmazione funzionale là fuori, come sceglieresti quello più adatto alle tue esigenze?
Qualsiasi raccomandazione per ulteriori ricerche sarà più che gradita.
Ho cercato sul Web opinioni e sembra che tutta questa rinnovata popolarità venga dall'idea che ora stavano per colpire il muro di La legge di Moore e i linguaggi di programmazione funzionale verranno ed eroicamente salvati da noi. Ma se questo è il caso, direi che ci sono più probabilità che le lingue popolari esistenti si adattino al paradigma.
Alcuni di voi, con più esperienza di lavoro ogni giorno con queste lingue, possono forse offrire maggiori informazioni sull'argomento. Tutte le tue opinioni saranno meglio apprezzate e attentamente considerate.
Grazie in anticipo!