我想认真开始现实世界中的多线程/并行/并发编程。我的意思是喜欢尝试并行和并发地解决实际问题,而不仅仅是学习pthread
or MPI
、锁、竞争等或学术教科书示例的低级细节。关于并行编程的低级机制,实际上我宁愿对它们一无所知,而只是坚持使用更像 Actor 模型的东西:)。
我听说一些编程语言本质上就像我正在寻找的那样,它们的范式是以并行(并发、多线程、多处理)的方式看待手头的问题,并提供语言级别的工具和结构来实现并行任务(例如,Erlang 有process
一个语言结构的概念?)。
我喜欢一种具有像 Scala 这样的类型系统的语言……我非常了解 PHP,并且我曾经用 C/C++ 编写过很多代码。我有 Scala 和 Java 的工作知识,我可以阅读 Haskell,但我不是特别精通它。我对函数式范式非常熟悉,我愿意学习更多。我也对有关并行/并发性的高级理论讨论感兴趣。