并行编程语言看起来确定性?

时间:2010-12-03 06:21:48

标签: programming-languages

是否存在系统并行化程序的编程语言,程序员没有明显的差异?

也就是说,程序员编写一个线性的,确定性的程序,没有任何额外的标签或元数据,底层系统将所有工作并行化。

3 个答案:

答案 0 :(得分:4)

haskell有一个parallelism and concurrency features的主持人。 STM自从被哈斯克尔实施以来已经得到了普及和讨论。你可能也喜欢Go,它有一个可能感兴趣的channel feature

答案 1 :(得分:2)

我认为

Fortress有点这样做。

答案 2 :(得分:1)

我认为你的意思是程序性的,而不是确定性的。在C#中,正在进行一些工作以启用异步编程模型,该模型更接近我们习惯的过程编程方法的模型。请参阅Jeffrey Richter的IAsyncResult和Microsoft的新Async CTP

F#和其他函数语言已经有了一段时间的综合异步模型。最终,您仍然必须遵守并发的基本原则:隔离,不变性和同步(通常按照度假的顺序)。我推荐上面几个白皮书,以便在不久的将来看到并发应该如何更容易访问 - 至少在C#中。