Attualmente sto cercando un nuovo linguaggio di programmazione da apprendere (attualmente sto lavorando con alcuni C ++, conosco alcuni C e Python), in particolare uno che ha un supporto di concorrenza incorporato? Voglio provare a costruire una grande libreria di grafi che può fare l'elaborazione tra cluster o core multipli. So che la libreria Boost di C ++ ha il supporto per la concorrenza, ma voglio anche imparare una nuova lingua e sto indovinando un linguaggio che è stato progettato con la concomitanza in mente sarebbe anche più piacevole fare una programmazione concorrente. In generale, considero questa una possibilità di apprendere una nuova lingua, di apprendere la programmazione concorrente e di affrontare un grande progetto.
Dal guardarsi intorno, Clojure e Scala sembrano essere i due candidati popolari quando cercano un supporto di programmazione simultaneo ... anche se non sono sicuro di come questi due si confrontino in termini di
- Velocità (in particolare per l'elaborazione simultanea di grafici di grandi dimensioni)
- Community (pensando di spingere questo progetto su un posto come GitHub)
- Facilità di programmazione simultaneamente
O ci sono altre lingue che dovrei considerare oltre a Clojure o Scala?
Non ho mai programmato in un linguaggio funzionale prima, ma sono aperto ad apprenderlo .. Ho visto uno dei miei amici programma in Haskell e Clojure e sembra scoraggiante, ma ho sentito cose buone sulla programmazione funzionale , esp. per l'elaborazione dei dati.
Grazie!