{{Short description|General purpose programming language}} {{distinguish|PowerFX}} {{Infobox programming language | name = Microsoft Power Fx | title = Microsoft Power Fx | logo = Power Fx logo.png | logo size = 115px | paradigm = Low-code, general-purpose, imperative, strongly typed, declarative, functional | designer = Vijay Mital, Robin Abraham, Shon Katzenberger, Darryl Rubin, Greg Lindhorst, Mike Stall | developer = Microsoft | released = {{Start date and age|2021}} | latest release version = | latest release date = | latest preview version = | latest preview date = | typing = strong | license = MIT License | file ext = | website = {{url|https://docs.microsoft.com/en-us/power-platform/power-fx/overview}} | influenced by = Excel functions, Excel macros, Pascal, Mathematica, Miranda }}

'''Microsoft Power Fx''' is a free and open source low-code, general-purpose programming language for expressing logic across the Microsoft Power Platform.<ref>{{Cite web|url=https://www.theregister.com/2021/03/02/microsoft_debuts_lowcode_power_fx/ |title=Excel-lent: Microsoft debuts low-code Power Fx language... but it is not really new |last1=Anderson|first1=Tim |work=The Register |date=2021-03-02 |access-date=2021-03-14 }}</ref><ref>{{Cite web|url=https://thenewstack.io/this-week-in-programming-microsofts-power-fx-low-code-language/ |title=This Week in Programming: Microsoft's Power Fx 'Low Code' Language |last1=Melanson|first1=Mike |work=The New Stack |date=2021-03-06 |access-date=2021-03-14 }}</ref><ref>{{Cite web |last=Moorhead |first=Patrick |title=Microsoft Build And Power Platform - Navigating Change, And The Role Power Technology Can Play |url=https://www.forbes.com/sites/patrickmoorhead/2021/05/25/microsoft-build-and-power-platformnavigating-change-and-the-role-power-technology-can-play/ |access-date=2023-02-25 |website=Forbes |language=en}}</ref>

It was first announced at Ignite 2021 and the specification was released in March 2021.<ref>{{Cite web|url=https://www.neowin.net/news/microsoft-confirms-the-launch-of-power-fx-its-new-low-code-language/ |title=Microsoft confirms the launch of Power Fx, its new low-code language |last1=Jawad|first1=Hamza |work=Neowin |date=2021-03-02 |access-date=2021-03-14 }}</ref><ref>{{Cite web|url=https://www.developer.com/net/microsoft-open-sources-low-code-power-fx-language.html |title=Microsoft Open Sources Low-Code Power Fx Language |last1=Vizard|first1=Mike |work=developer.com |date=2021-03-08 |access-date=2021-03-14 }}</ref> It is based on spreadsheet-like formulas to make it accessible to large numbers of people.<ref>{{Cite web|url=https://betanews.com/2021/03/03/microsoft-power-fx-open-source-low-code-programming-language/ |title=Microsoft Power Fx is an open source, low-code programming language |last1=Wyciślik-Wilson|first1=Sofia |work=BetaNews |date=2021-03-03 |access-date=2021-03-14 }}</ref> It was also influenced by programming languages and tools like Pascal, Mathematica, and Miranda.<ref name="techcrunch">{{Cite web|url=https://techcrunch.com/2021/03/02/microsoft-launches-power-fx-a-new-open-source-low-code-language-for-its-power-platform/ |title=Microsoft launches Power Fx, a new open source low-code language |last1=Lardinois|first1=Frederic |work=TechCrunch |date=2021-03-02 |access-date=2021-03-14 }}</ref>

As Microsoft describes the language, it heavily borrows from the spreadsheet paradigm. In a spreadsheet, cells can contain formulas referring to the contents of other cells; if the user changes the content of a cell, the values of all its dependent cells are automatically updated. In a similar fashion, the properties of components in a Power Fx program are connected by formulas (whose syntax is very reminiscent of Excel) and their values are automatically updated if changes occur. For instance, a simple formula may connect a component's color property to the value of a slider component; if the user moves the slider, the color changes.<ref name="overview">{{Cite web|date=2021-02-26|title=Microsoft Power Fx overview - Power Platform|url=https://docs.microsoft.com/en-us/power-platform/power-fx/overview|access-date=2021-05-10|website=docs.microsoft.com|language=en-us}}</ref>

The initial formula language was created by a Microsoft team led by Vijay Mital, Robin Abraham, Shon Katzenberger and Darryl Rubin as part of the Tangram and Siena projects.<ref name="overview"/><ref name="techcrunch" /> Later, as part of Power Apps, Greg Lindhorst and Mike Stall led the effort to enhance the language to what is now become Power Fx. Power Fx is available as Open-source software.<ref>{{cite web|url=https://github.com/microsoft/Power-Fx|title=GitHub - Microsoft/Power-Fx: Power Fx low-code programming language|website=GitHub}}</ref> The source code was shared under MIT license by Microsoft on November 2. 2021.<ref>{{Cite web|date=2021-11-02|title=Greg Lindhorst: Power Fx: Open source now available|url=https://powerapps.microsoft.com/en-us/blog/power-fx-open-source-now-available/}}</ref> Only the documentation was originally open source.<ref>{{cite web |title=Microsoft Power Fx overview - Power Platform |url=https://learn.microsoft.com/en-us/power-platform/power-fx/overview |website=learn.microsoft.com |language=en-us}}</ref>

In the April 2024 feature update, Microsoft introduced two new Copilot features for Power Fx: Explaining a Formula and Generating Power Fx from Natural Language. These features aim to simplify the use of Power Fx by providing natural language explanations and generating formulas from user input.<ref>{{Cite web |date=2024-05-01 |title=What's new: Power Apps April 2024 Feature Update |url=https://www.microsoft.com/en-us/power-platform/blog/power-apps/whats-new-power-apps-april-2024-feature-update/ |access-date=2024-07-09 |website=Microsoft Power Platform Blog |language=en-US}}</ref>

==See also== {{Portal|Free and open-source software}} *Visual Basic for Applications *List of low-code development platforms *List of programming languages *Timeline of programming languages

==References== {{Reflist}}

==External links== *{{Official website|https://docs.microsoft.com/en-us/power-platform/power-fx/overview|Microsoft Power Fx overview}} *{{GitHub|https://github.com/microsoft/Power-Fx}} *[https://powerapps.microsoft.com/en-us/blog/introducing-microsoft-power-fx-the-low-code-programming-language-for-everyone/ Introducing Microsoft Power Fx: the low-code programming language for everyone] *[https://powerapps.microsoft.com/en-us/blog/what-is-microsoft-power-fx/ What is Microsoft Power Fx?]

{{Microsoft development tools}} {{Microsoft FOSS}}

Power Fx Power Fx Power Fx Category:Declarative programming languages Category:Functional languages Category:Multi-paradigm programming languages Category:Programming languages created in 2021 Category:Software using the MIT license Category:2021 software