微软的P语言,用于异步事件驱动的编程和物联网,现已开源。
面向嵌入式系统、设备驱动程序和分布式服务,P语言是一个特定领域的编译语言与实现与C语言互操作,这本身已被普遍使用在嵌入式系统和物联网中。“P语言的目标是简洁和精确地提供语言原语捕捉协议,这是通信部件之间与生俱来的性能。” 在微软的一次语言教程上EthanJackson和ShazQadeer说。
P语言,建模和编程被融合成一个单一的活动。“不仅P语言程序可以被编译为可执行的代码,它也可以使用系统的测试验证。”根据GitHub上语言文档。“P语言已被用来验证USB设备的驱动程序栈,并搭载到微软Windows8和Windows手机。”
微软将P语言描述为提供“安全”事件驱动的编程。在教程中,Jackson和Qadeer说P语言程序有一个计算的模型,其特征是状态机通过消息进行通信,一种常用的嵌入式、网络和分布式系统的方法。
每个状态机都有一个输入队列、状态、转换、事件处理程序和变量集合的机器本地存储区。状态机并行运行,每个执行一个事件循环,该事件循环从输入队列进入消息队列。状态机还检查本地存储区,在机器之间发送消息,并可以创建新的机器。“在P语言中,发送操作是不被阻塞的;消息是简单地被执行到目标机器的输入队列中。”一个程序是一个事件和机器声明的集合。
微软还提供了P#,作为C #目标异步编程的一个扩展,并开放源代码。而在六月,微软开源的C语言,一个修改版本的C语言,增加了新的语法和打字到C语言,意图提高C语言的安全性。