P Language

Some exciting news recently. Microsoft Research has announced more information about the P Programming language . Also, it is open source!

In case you are not familiar with P, this is a language for asynchronous event-driven programming. It allows you, the programmer, to specify the system as a collection of interacting state machines. Each of these state machines communicate with each other using events.

The really cool thing is that a P program can not only be compiled into executable code, but it can also be validated using systematic testing.

P was actually used to write and ship the USB 3.0 drivers in Windows 8.1 and Windows Phone. The design of P enables the detection and debugging of race conditions and Heisenbugs.  Especially in driver development. As it turns out Microsoft has been extensively using P for driver development in Windows for quite some time now.

Microsoft have open sourced this language and is available on GitHub: https://github.com/p-org/P

I have also uploaded a quick news video about P here.