Coming to grips with Microsoft’s P#

Posted on 10-09-2019 , by: admin , in , 0 Comments

It’s often worth keeping an eye on job ads, as they can be pointers to new or popular development tools that you might not have come across before. One recent Microsoft ad was from a team working on a new language for building reliable distributed applications.

Building reliable software at scale has become increasingly important with the growth of public clouds such as Azure. They’re forcing us to rethink many of our assumptions around how we build and operate software, moving us from a world of large, monolithic applications on a single server to one where code is composed of collections of microservices that run when and where they’re needed, and we don’t need to know how many of those services are running. Observability is more important than manageability.

Introducing P

A while back Microsoft announced and open sourced a new C-like language for event-based asynchronous programming. P was intended to be a superset of C, offering domain-specific structures that would compile to C code, which you could then use as components or libraries in your C applications. Building on C ensured that P was fast and compact, ideal for real-time systems and IoT devices.