微软发布并行编程语言Axum

开发
Axum是微软开发的并行编程语言,目前还处在试验阶段。现在,Axum的一个初期版本(v0.1)已经发布并提供下载。

Axum目前仍然是一个试验性的项目,微软DevLabs表示此次发布的版本,其主要目的是希望收集来自社区的反馈:

无论Axum最终是否会成为一个产品,是否能使并行编程变得更安全、更易于扩展和更高效,(社区的)反馈都是它成功的最大因素。

Axum曾经叫做Maestro,它的目标是提供一个.NET环境下的并行编程模型,支持隔离、actor和消息传递。此语言借鉴了很多Erlang语言的元素,不过拥有类似C#的语法。

Axum是一个拥有类似C#语法的命令式语言,它面向actor和域(domain),而不是面向对象的,因此它拥有对象的概念,但是不能自定义类。Axum主要用途是解决并发处理问题,它基于微软机器人实验室的CCR,其他.NET平台的编程语言可以通过调用Axum来实现并发处理。

并行安全的最大障碍是共享数据。在Axum中使用共享数据之前需要进行声明,这样运行时就会控制数据访问的过程。语言中已经内建了并发控制机制。

Axum的主要元素是域。域是一个资源仓库,它是数据、代理和函数的集合。域与域之间是相互隔离的,以此保护它们各自独立或共享的数据。域中的所有代理可以共享域中的数据,代理之间通过信道(Channel)来交换消息,而域中的函数都是无状态的。不同域的代理之间在通信时需要某种元数据来进行协调,这些元数据便是“架构(Schema)”。

基本上,一个代理就是可以和其他代理进行通信的线程,它们通过添加reader或writer的声明来访问共享数据:

domain A {
    int i;
    
int func(int k){}
    writer agent X: Channel1 {}
    reader agent Y: Channel2{}
}

domain B {
    
int j;
    agent Z: Channel1 {}
}

域与域之间通过代理进行通信可以用下图来表示:
 

  您需要安装Visual Studio 2008才能使用Axum。

【编辑推荐】

  1. Erlang面向分布与并发的编程语言
  2. 程序员如何选择合适的编程语言
  3. 整合XAML 微软新编程语言"M"
责任编辑:彭凡 来源: infoQ
相关推荐

2021-05-20 10:17:59

编程语言javaPython

2009-08-04 11:15:57

编程语言排行榜微软

2015-08-21 09:46:44

GitHub编程语言

2011-07-15 15:32:20

Small Basic

2013-11-11 11:00:39

编程语言排行榜

2021-11-02 15:49:46

低代码编程Power Fx微软

2012-04-23 14:35:29

JVMJavaClojure

2012-03-15 14:25:22

Go

2014-04-04 10:02:34

RustMozilla

2014-03-21 10:45:33

FacebookHack

2011-11-24 17:11:13

2024-08-22 18:58:27

英伟达微软小语言模型

2010-01-11 09:38:28

编程语言排行榜Google Go

2012-04-06 10:31:44

Java

2013-11-15 17:15:52

2021-03-04 08:41:02

微软Powr Fx低代码

2014-03-26 14:19:00

ClojureJVM

2021-04-23 14:30:26

谷歌SQL开发者

2011-12-20 09:45:47

Lua 5.2Lua

2013-04-11 09:23:36

.NET编程Haskell
点赞
收藏

51CTO技术栈公众号