Introducing Microsoft Power Fx: the low-code programming language for everyone

Today we’re introducing the newest member of the Microsoft Power Platform family: Microsoft Power Fx, an open source formula language for low code that’s based on Microsoft Excel.

Power Fx is exciting for three key reasons:

  1. Power Fx is open source. The future of programming is open. Microsoft has embraced the pace of open innovation that has accelerated the adoption of languages like C# and Typescript. With Power Fx, we’re now bringing that same open approach to the low code world. Microsoft will open-source Power Fx, making the language available for open contribution by the broader community on GitHub.
  2. Power Fx is based on Microsoft Excel. Using formulas that are already familiar to hundreds of millions of users, Power Fx allows a broad range of people to bring skills they already know to low code solutions. Power Fx becomes a common ground for business users and professional developers alike to express logic and solve problems.
  3. Power Fx is built for low code. Power Fx is already the foundation of the Microsoft Power Apps canvas. We’ll soon extend its use across Power Platform to Microsoft Dataverse, Microsoft Power Automate, Microsoft Power Virtual Agents, and beyond, making it even easier for everyone to get started with low code tools.

Low code logic for everyone  

Why does a low-code platform need a language? The truth is, point-and-click tools are great for quickly assembling experiences and workflows, but many real-world solutions need a layer of logic that goes beyond what is practical to drag and drop, for example:

  • Show a list of customers who signed up in the last 7 days within 15 miles of this location.
  • Highlight the newest entries in green.
  • When a user clicks for more details, if the record has outstanding action items associated with it, pop those to the top of the screen.

This type of custom logic is where many low-code platforms have classically “hit a cliff” the requires traditional code, often in proprietary formats with limited extensibility and a niche set of specialists.

Power Fx, by contrast, is rooted in Excel—built on the exact syntax that hundreds of millions of people are already using to solve everyday problems of logic and computation.

To put the magnitude of Excel users in perspective, analysts at IDC estimate that the most popular coding language, JavaScript, is used moderately or heavily by 11.7 million software developers today. The same report forecasts that the total population of full-time professional developers will grow 32 percent to 19.4 million by the year 20241.

From citizens to professionals

With Power Fx, we can amplify the impact of developers by many multiples over the same time horizon. By offering citizen developers a familiar and approachable way to express logic, we’re dramatically expanding who can build sophisticated solutions. By delivering Power Fx with the tools a professional expects, including the ability to directly edit apps in text editors like Visual Studio Code and use source control, we’re making it possible for developers to go faster and find common ground with millions of makers.

Power Fx doesn’t just share the same syntax and functions as Excel, it also behaves in a familiar way. Like Excel, formulas are declarative and recalculate instantly just as a spreadsheet does. Makers have the advantage of telling the app what they want it to do without having to describe the how or whenPower Fx does that for you, freeing developers from the tedious task of keeping variables and data tables up to date manually. With traditional programming languages, it can be challenging to understand all the pieces of code that impact a variable, but with formulas, there is only one way a value is calculated, ensuring everyone is working from the same source of truth.

The next chapter for low-code innovation is open 

Today we’re embarking on a journey to bring this familiarity and productivity to more places. Over the next 24 months, we’ll extend Power Fx as a singular consistent language across the breadth of Power Platform. This will make it even easier for makers to transfer their skills from being an app maker to being an intelligent bot builder to an automation expert seamlessly.

This next chapter is an exciting step in a software project that has a rich history at Microsoft. The origins of Power Fx run deeper than the platform itself. With investment spanning seven years across two project code names, Tangram and Siena, the language was originally brought to life by a team of architects and engineers led by Vijay Mital, Robin Abraham, Shon Katzenberger and Darryl Rubin. With a PhD in functional languages, extensive experience in AI, expression syntax, and Excel and programming, the team took inspiration from linear solvers, Miranda, Mathematica, and Pascal, and collectively leveraged the best of Microsoft to create a low-code language.

The founding team’s original aspiration was to craft a language that achieved three things:

  1. Already familiar to the many millions of Excel users
  2. Content-centric, not program-centric, generalizing not just numbers but all information with friendly naming conventions
  3. Instantly calculated, recompiling in real time as edits are made, just like a spreadsheet, instead of requiring multiple steps to compile and publish.

Emerging at the epicenter of the low-code movement, Power Fx has achieved all this and more,  extending the language to work over hundreds of external data sources, across mobile device capabilities, and through advanced application scenarios. And we’re just getting started. Inviting the community to create with us through an open source strategy will be crucial to taking low code to the next level.

To learn more and get hands on with the details, Greg Lindhorst, who has been driving the Power Fx language forward since 2015, has an excellent deep dive blog post, “What is Microsoft Power Fx?”

We can’t wait to see what you’ll do with Power Fx!

1Source : IDC, PaaSView and the Developer 2020: Focus Topic Pivot Table — Worldwide, Doc # US46800820, September 2020