A cosa servono maggiormente le lingue funzionali?

7

Mi sono chiesto a cosa servono principalmente i linguaggi funzionali? Ho letto di loro e ho letto di Haskell e di altri. Alcuni sembrano solo linguaggi "accademici", che per me hanno poco senso, sperando così di avere un'idea migliore dei loro usi nelle applicazioni del mondo reale.

    
posta Jonnny 27.07.2013 - 06:16
fonte

1 risposta

13
  • I linguaggi di programmazione funzionale sono adatti ai Big Data perché, se ci pensi, la maggior parte dei Big Data riguarda l'elaborazione, il filtraggio e l'aggregazione dei dati (a.k.a Data Flow).

    Idiomi di programmazione funzionale come "Funzioni ordine superiore", composizione funzioni, funzioni parziali, mappatura / riduzione, filtraggio, astrazione sequenze (in Clojure) sono una corrispondenza naturale con il campo Big Data.

  • I linguaggi di programmazione funzionale semplificano la scrittura di "linguaggio specifico di dominio".
  • I linguaggi di programmazione funzionale semplificano notevolmente la codifica e l'architettura di sistemi multithreaded e paralleli (Erlang Actors, Elixir, Scala / Akka, Clojure / Pulsar).
  • I linguaggi di programmazione funzionale sono adatti per codificare i sistemi di "Natural Language Processing", "Information Retrieval" e "Machine learning". Ciò è anche dovuto alle "Funzioni di ordine superiore".

La capacità di creare e restituire funzioni dinamicamente in fase di esecuzione è il motivo principale per cui Lisp viene utilizzato per creare sistemi di apprendimento automatico e di apprendimento automatico.

Dean Wampler ha tenuto un'intervista interessante alla conferenza Lambda Jam sul perché Copious Data è l'app Killer per il funzionamento Programmazione .

Un campo su cui non penso si adatti la programmazione funzionale sta costruendo delle GUI. Questo è dove OOP brilla. Basta dare un'occhiata a Cocoa e Cocoa Touch; entrambi sono quadri ben realizzati.

Personalmente mi piace creare applicazioni web con linguaggi di programmazione funzionali. Il mio stack preferito in questo momento è Clojure / Pedestal / ClojureScript.

    
risposta data 27.07.2013 - 12:00
fonte

Leggi altre domande sui tag