这个新的 Axum 编程语言是什么?

问题描述 投票:0回答:4

我今天在slashdot上读到了this故事,他们宣布了微软的一种新的并行编程语言。

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

有什么想法吗?

.net concurrency programming-languages axum-lang
4个回答
9
投票

Axum 是一种旨在使安全且高性能的并发编程变得更简单的语言。 该语言建模的概念避免了通过使用

lock
(在 C# 中)、
Monitor
ReaderWriterLockSlim
等来明确线程同步的需要...

可以说,Axum 中的许多想法自 1986 年以来一直采用“Erlang 编程语言”——一种由瑞典研究人员为爱立信设计的语言,可在电话交换机上运行,因此支持高并发下的海量吞吐量负载是如此重要,因此被设计到语言中。 虽然 Axum 中的许多想法并不新鲜,但它们对于 .NET 和 CLR 来说无疑是新的(至少在语言级别)。 包含其中一些想法的现有 .NET 库是:

    雷特兰
  • 并发和协调运行时(CCR)
  • 与 Erlang 一样,消息传递是 Axum 的核心概念。 与 Erlang 一样,Axum 对于消息的接收者是位于进程内还是远程并不关心。 Axum 目前提供与 WCF 的集成。

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

isolated

readonly
关键字。

向语言添加新功能并不是一件可以掉以轻心的事情。

Spec#

是在 MSR 开发的另一种 C# 超集语言(与并发性无关)。 从 .NET 4.0 中对Code Contracts的支持可以看出,Microsoft 决定倾向于添加新的 API 而不是新的语言扩展(这有利于 CLR 上所有语言的用户。)但是就 Axum 而言,有C# 3.0 语言不够丰富,无法表达真正安全的并发编程所需的类型及其成员的不变性约束。 涉足 Erlang 并喜欢我所看到的,我对 Axum 可能带我们去往的地方感到非常兴奋。 该团队提出的一些 C# 语言扩展对于常规 C# 项目也很有用。

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


5
投票

Axum 程序员指南

看起来它应该能够与 .NET Framework 的其余部分很好地配合。它可能会开启一些有趣的 C#/F#/Axum 交互...


4
投票

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

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

...以及

Axum 团队官方博客


1
投票
Axum

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

...安全并行性的概念和 许多人认为基于代理的编程太过于超出范围 现在已在 C# 和 VB 等语言中成为主流。的想法 Axum 不会将这些概念强加于通用语言,因此 我们这些在阿克苏姆工作过的人并不感到惊讶。

© www.soinside.com 2019 - 2024. All rights reserved.