Език на Microsoft с отворен код за IoT

Езикът на Microsoft за асинхронно програмиране, управлявано от събития, и IoT (интернет на нещата) е с отворен код.

Предназначен за вградени системи, драйвери на устройства и разпределени услуги, P е специфичен за домейна език, който компилира и си взаимодейства с C, който сам по себе си често се използва във вградени системи и IoT. „Целта на P е да осигури езикови примитиви за лаконично и точно улавяне на протоколи, които са присъщи на комуникацията между компонентите“, казаха Итън Джаксън и Шаз Кадер от Microsoft, в урок за езика.

С P моделирането и програмирането се обединяват в една дейност. „Не само, че програма P може да бъде компилирана в изпълним код, но може да бъде проверена и чрез систематично тестване“, според документацията на езика на GitHub „P е използван за внедряване и валидиране на стека драйвери за USB устройство, който се доставя с Microsoft Windows 8 и Windows Phone.“

Microsoft описа P като предлагащ "безопасно" програмиране, управлявано от събития. В своя урок Jackson и Qadeer казват, че програмите P имат изчислителен модел, който включва държавни машини, комуникиращи чрез съобщения, подход, често използван във вградени, мрежови и разпределени системи.

Всеки автомат на състоянието има опашка за въвеждане, състояния, преходи, обработчици на събития и локално съхранение на машина за колекция от променливи. Държавните машини се изпълняват едновременно, като всеки изпълнява цикъл на събития, който де-опашка съобщение от въведената опашка. Държавната машина също изследва локалния магазин, изпраща съобщения между машините и може да създава нови машини. „В P операцията за изпращане не е блокираща; съобщението просто се изпълнява във входната опашка на целевата машина.“ Програма включва колекция от декларации за събития и машини.

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