Domanda

Sono interessato ad apprendere la programmazione simultanea, concentrandomi sul livello di applicazione/utente (non programmazione di sistema). Sto cercando un moderno linguaggio di programmazione di alto livello che fornisca astrazioni intuitive per la scrittura di applicazioni simultanee. Voglio concentrarmi su linguaggi che aumentano la produttività e nascondono la complessità della programmazione simultanea.

Per dare alcuni esempi, non considero una buona opzione di scrivere codice multithread in C, C ++ o Java perché IMHO la mia produttività è ridotta e il loro modello di programmazione non è intuitivo. D'altra parte, le lingue che aumentano la produttività e offrono astrazioni più intuitive come Python e il modulo multiprocessing, Erlang, Clojure, Scala, ecc. Sarebbero buone opzioni.

Cosa consiglieresti in base alla tua esperienza e perché?

EDIT: grazie a tutti per le tue risposte interessanti. È difficile fare una conclusione senza provare effettivamente poiché ci sono molti buoni candidati: Erlang, Clojure, Scala, Groovy e forse Haskell. Ho votato la risposta con gli argomenti più convincenti, ma proverò tutti i buoni candidati prima di decidere quale scegliere :)

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top