Язык P с открытым исходным кодом Microsoft для Интернета вещей

Язык P от Microsoft для асинхронного программирования, управляемого событиями, и IoT (Интернет вещей) имеет открытый исходный код.

Предназначенный для встроенных систем, драйверов устройств и распределенных сервисов, P - это предметно-ориентированный язык, который компилируется и взаимодействует с C, который сам по себе широко используется во встроенных системах и IoT. «Цель P - предоставить языковые примитивы для краткого и точного захвата протоколов, которые необходимы для взаимодействия между компонентами», - сказали Итан Джексон и Шаз Кадир из Microsoft в учебном пособии по языку.

С P моделирование и программирование объединены в одно действие. «Программа P не только может быть скомпилирована в исполняемый код, но также может быть проверена с помощью систематического тестирования», - говорится в документации по языку на GitHub. «P был использован для реализации и проверки стека драйверов USB-устройств, поставляемых с Microsoft Windows 8 и Windows Phone».

Microsoft описала P как предложение «безопасного» программирования, управляемого событиями. В своем руководстве Джексон и Кадир говорят, что программы P имеют вычислительную модель, которая включает конечные автоматы, обменивающиеся сообщениями, подход, обычно используемый во встроенных, сетевых и распределенных системах.

У каждого конечного автомата есть входная очередь, состояния, переходы, обработчики событий и локальное хранилище для коллекции переменных. Конечные автоматы работают одновременно, каждый из которых выполняет цикл обработки событий, который извлекает сообщение из очереди ввода. Конечный автомат также проверяет локальное хранилище, отправляет сообщения между машинами и может создавать новые машины. «В P операция отправки не блокируется; сообщение просто выполняется во входной очереди целевой машины». Программа содержит набор событий и машинных объявлений.

Microsoft также предлагает P #, расширение C #, предназначенное для асинхронного программирования, в качестве открытого исходного кода. А в июне Microsoft выпустила Checked C с открытым исходным кодом, модифицированную версию C, которая добавляет новый синтаксис и набор текста в язык C с целью повышения безопасности в C.