Ich interessiere mich für das Erlernen der gleichzeitigen Programmierung, wobei ich mich auf die Anwendungs- / Benutzerebene konzentriere (nicht auf die Systemprogrammierung). Ich bin auf der Suche nach einer modernen Programmiersprache auf hohem Niveau, die intuitive Abstraktionen zum Schreiben von gleichzeitigen Anwendungen bietet. Ich möchte mich auf Sprachen konzentrieren, die die Produktivität steigern und die Komplexität der gleichzeitigen Programmierung verbergen.
Um einige Beispiele zu nennen: Ich halte es nicht für eine gute Option, Multithread-Code in C, C ++ oder Java zu schreiben, da meiner Meinung nach meine Produktivität abnimmt und das Programmiermodell nicht intuitiv ist. Andererseits sind Sprachen, die die Produktivität steigern und intuitivere Abstraktionen bieten, wie Python und das Multiprozessormodul, Erlang, Clojure, Scala usw., gute Optionen.
Was würden Sie aufgrund Ihrer Erfahrungen empfehlen und warum?
EDIT: Vielen Dank für Ihre interessanten Antworten. Es ist schwer, eine Schlussfolgerung zu ziehen, ohne es tatsächlich zu versuchen, da es viele gute Kandidaten gibt: Erlang, Clojure, Scala, Groovy und vielleicht Haskell. Ich habe die Antwort mit den überzeugendsten Argumenten gewählt, aber ich werde alle guten Kandidaten ausprobieren, bevor ich mich für einen entschieden habe :)
begin transaction
end transaction
und alles im Inneren sollte ohne Deadlocks funktionieren und entweder erfolgreich sein oder als Ganzes scheitern.
To give an example, I don't consider a good option writing multithreaded code in C, C++, or Java
. Warum?On the other hand, Python and the multiprocessing module, Erlang, Clojure, Scala, etc. are some of my options.
Nochmals, warum? Erweitern Sie Ihre Frage, um besser zu definieren, wonach Sie tatsächlich suchen.