我读 今天,slashdot 上的故事宣布了 Microsoft 推出的一种新的并行编程语言。

这种新的编程语言是关于什么的?它说并行编程。但它会成为 MPI、PVM、OpenMP 和类似并行库/框架的替代品/替代品吗?

有什么想法吗?

有帮助吗?

解决方案

Axum 是一种旨在使安全且高性能的并发编程变得更简单的语言。该语言建模的概念避免了通过使用显式线程同步的需要 lock (在 C# 中), Monitor, ReaderWriterLockSlim, , ETC...

可以说,阿克苏姆的许多想法都已经存在于 Erlang编程语言 自 1986 年以来,瑞典的研究人员为爱立信设计了一种在电话交换机上运行的语言,因此对高并发负载下的大规模吞吐量的支持非常重要,因此被设计到该语言中。虽然 Axum 中的许多想法并不新鲜,但它们对于 .NET 和 CLR 来说无疑是新鲜的(至少在语言级别)。

包含其中一些想法的现有 .NET 库有:

与 Erlang 一样,消息传递是 Axum 的核心概念。与 Erlang 一样,Axum 对于消息的接收者是位于进程内还是远程并不关心。Axum 目前提供与 WCF 的集成。

Axum 与上述库的不同之处在于,它在语言级别包含对这些概念的支持,而不仅仅是通过使用库。Axum 编译器不仅处理 Axum 语言,还处理 C# 语言本身的一些实验性扩展;即 isolatedreadonly 关键词。

向语言添加新功能并不是一件可以掉以轻心的事情。 规格# 是另一种 C# 超集语言,开发于 MSR (与并发无关)。正如所见,支持 代码合约 在 .NET 4.0 中,微软决定倾向于添加新的 API,而不是新的语言扩展(这对 CLR 上所有语言的用户都有好处)。但是就 Axum 而言,C# 3.0 语言没有足够的丰富性来表达真正安全的并发编程所需的类型及其成员的不变性约束类型。

在涉足 Erlang 并喜欢我所看到的内容之后,我对 Axum 可能带我们去往的地方感到非常兴奋。该团队提出的一些 C# 语言扩展对于常规 C# 项目也很有用。

最后我想指出,Erlang 不仅仅是一个好的并发模型。Erlang 是一种严格的函数式编程语言。它支持热插拔代码,这意味着系统可以在不停止的情况下升级(电话交换机或任何其他 24x7 系统的理想功能)。我听到英国一家大型电信组织的一份报告,该组织运行了一年的交换机,但在这段时间内仅未能路由四个呼叫。Erlang 还有其他特性,例如远程异常处理。

其他提示

在我看来像你击中了要害你的问题。貌似Microsoft.NET替代一些你所提到的语言/框架。看看程序员手册这里:

阿克森姆程序员指南

看起来应该与.NET Framework的其余部分发挥很好。这可能开辟一些有趣的C#/ F#/阿克苏姆相互作用...

Axum 是微软“Maestro”语言的新名称,该语言最初是并行编程的研究语言,但最近才被“提升”为一流语言。

有关第 9 频道的更多信息,请参见此处:

大师:用于并发编程的托管域特定语言

...并在 Axum 团队官方博客.

这是有关状态的更新 阿克苏姆. 。显然,某些并发功能将不再是 C#/VB.Net 的一部分。

...许多围绕安全并行性和基于代理的编程的概念被许多人视为在主流之外,现在以C#和VB等语言采用。Axum的想法是不要将这些概念强加于通用语言,因此我们这些在Axum上工作的人并不感到惊讶。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top