我对学习并发编程感兴趣,重点是应用程序/用户级别(而不是系统编程)。我正在寻找一种现代的高级编程语言,该语言提供用于编写并发应用程序的直观抽象。我想专注于提高生产率并隐藏并发编程复杂性的语言。
举个例子,我不认为用C,C ++或Java编写多线程代码是一个好选择,因为恕我直言,我的工作效率降低了,而且它们的编程模型也不直观。另一方面,提高生产率并提供更直观抽象的语言(例如Python和多处理模块,Erlang,Clojure,Scala等)将是不错的选择。
根据您的经验,您会推荐什么?为什么?
编辑:谢谢大家的有趣的回答。很难尝试得出结论,因为有很多不错的候选人:Erlang,Clojure,Scala,Groovy以及Haskell。我以最有说服力的论据对答案进行了投票,但是在决定选择哪个候选人之前,我将尝试所有好的候选人:)
begin transaction
end transaction
和这样的简单语句,并且内部的所有内容都应无死锁,并且整体上成功或失败。
To give an example, I don't consider a good option writing multithreaded code in C, C++, or Java
。为什么?On the other hand, Python and the multiprocessing module, Erlang, Clojure, Scala, etc. are some of my options.
同样,为什么呢?扩展您的问题以更好地定义您实际要寻找的内容。