Microsoft Power Fx

Last updated
Microsoft Power Fx
Power Fx logo.png
Paradigm Low-code, general-purpose, imperative, strongly typed, declarative, functional
Designed by Vijay Mital, Robin Abraham, Shon Katzenberger, Darryl Rubin, Greg Lindhorst, Mike Stall
Developer Microsoft
First appeared2021;3 years ago (2021)
Typing discipline strong
License MIT License
Website 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. [1] [2] [3]

Contents

It was first announced at Ignite 2021 and the specification was released in March 2021. [4] [5] It is based on spreadsheet-like formulas to make it accessible to large numbers of people. [6] It was also influenced by programming languages and tools like Pascal, Mathematica, and Miranda. [7]

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. [8]

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. [8] [7] 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. [9] The source code was shared under MIT license by Microsoft on November 2. 2021. [10] Only the documentation was originally open source. [11]

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. [12]

See also

Related Research Articles

<span class="mw-page-title-main">Java (programming language)</span> Object-oriented programming language

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages.

<span class="mw-page-title-main">Microsoft Excel</span> Spreadsheet editor, part of Microsoft 365

Microsoft Excel is a spreadsheet editor developed by Microsoft for Windows, macOS, Android, iOS and iPadOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications (VBA). Excel forms part of the Microsoft 365 suite of software.

<span class="mw-page-title-main">Spreadsheet</span> Computer application for organization, analysis, and storage of data in tabular form

A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in cells of a table. Each cell may contain either numeric or text data, or the results of formulas that automatically calculate and display a value based on the contents of other cells. The term spreadsheet may also refer to one such electronic document.

<span class="mw-page-title-main">NeoOffice</span> macOS office suite

NeoOffice was an office suite for the macOS operating system developed by Planamesa Inc. It was a commercial fork of the free and open source LibreOffice office suite, including a word processor, spreadsheet, presentation program, and graphics program. It added some features not present in the macOS versions of LibreOffice and Apache OpenOffice. The last few versions were based on LibreOffice 4.4, which was released mid-2014.

<span class="mw-page-title-main">SharpDevelop</span>

SharpDevelop is a discontinued free and open source integrated development environment (IDE) for the .NET Framework, Mono, Gtk# and Glade# platforms. It supports development in C#, Visual Basic .NET, Boo, F#, IronPython and IronRuby programming languages.

Windows Presentation Foundation (WPF) is a free and open-source user interface framework for Windows-based desktop applications. WPF applications are based in .NET, and are primarily developed using C# and XAML.

<span class="mw-page-title-main">JavaFX</span> Java software platform for GUI

JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications that can run across a wide variety of devices. JavaFX has support for desktop computers and web browsers on Microsoft Windows, Linux, and macOS, as well as mobile devices running iOS and Android, through Gluon Mobile.

Azure DevOps Server, formerly known as Team Foundation Server (TFS) and Visual Studio Team System (VSTS), is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

<span class="mw-page-title-main">GitHub</span> Hosting service for software projects

GitHub is a developer platform that allows developers to create, store, manage and share their code. It uses Git software, providing the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.

<span class="mw-page-title-main">Roslyn (compiler)</span> Set of open-source compilers

.NET Compiler Platform, also known by its codename Roslyn, is a set of open-source compilers and code analysis APIs for C# and Visual Basic (VB.NET) languages from Microsoft.

<span class="mw-page-title-main">OpenRefine</span> Application for data cleanup and data transformation

OpenRefine is an open-source desktop application for data cleanup and transformation to other formats, an activity commonly known as data wrangling. It is similar to spreadsheet applications, and can handle spreadsheet file formats such as CSV, but it behaves more like a database.

<span class="mw-page-title-main">Chromium Embedded Framework</span> Free and open-source software framework

The Chromium Embedded Framework (CEF) is an open-source software framework for embedding a Chromium web browser within another application. This enables developers to add web browsing functionality to their application, as well as the ability to use HTML, CSS, and JavaScript to create the application's user interface.

Windows UI Library is a user interface API that is part of the Windows Runtime programming model that forms the backbone of Universal Windows Platform apps for the Windows 8, Windows 8.1, Windows 10 and Windows Phone 8.1 operating systems. It enables declaring user interfaces using Extensible Application Markup Language (XAML) technology.

<span class="mw-page-title-main">Atom (text editor)</span> Free and open-source text and source code editor

Atom is a free and open-source text and source-code editor for macOS, Linux, and Windows with support for plug-ins written in JavaScript, and embedded Git control. Developed by GitHub, Atom was released on June 25, 2015.

<span class="mw-page-title-main">.NET</span> Software platform developed by Microsoft

The .NET platform is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft employees by way of the .NET Foundation and is released under an MIT License.

<span class="mw-page-title-main">Visual Studio Code</span> Source code editor developed by Microsoft

Visual Studio Code, also commonly referred to as VS Code, is a source-code editor developed by Microsoft for Windows, Linux, macOS and web browsers. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded version control with Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add functionality.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

<span class="mw-page-title-main">Collabora Online</span> Online office suite based on LibreOffice

Collabora Online is an open source online office suite built on LibreOffice technology, enabling web-based collaborative real-time editing of word processing documents, spreadsheets, presentations, and vector graphics. Optional apps are available for desktops, laptops, tablets, smartphones, and Chromebooks.

<span class="mw-page-title-main">Microsoft Power Platform</span> Family of business software products

Microsoft Power Platform is a collection of low-code development tools that allows users to build custom business applications, automate workflows, and analyze data. It also offers integration with GitHub,Microsoft Azure,Microsoft Dynamics 365, and Microsoft Teams, among other Microsoft and third-party applications.

References

  1. Anderson, Tim (2021-03-02). "Excel-lent: Microsoft debuts low-code Power Fx language... but it is not really new". The Register . Retrieved 2021-03-14.
  2. Melanson, Mike (2021-03-06). "This Week in Programming: Microsoft's Power Fx 'Low Code' Language". The New Stack. Retrieved 2021-03-14.
  3. Moorhead, Patrick. "Microsoft Build And Power Platform - Navigating Change, And The Role Power Technology Can Play". Forbes. Retrieved 2023-02-25.
  4. Jawad, Hamza (2021-03-02). "Microsoft confirms the launch of Power Fx, its new low-code language". Neowin . Retrieved 2021-03-14.
  5. Vizard, Mike (2021-03-08). "Microsoft Open Sources Low-Code Power Fx Language". developer.com. Retrieved 2021-03-14.
  6. Wyciślik-Wilson, Sofia (2021-03-03). "Microsoft Power Fx is an open source, low-code programming language". BetaNews . Retrieved 2021-03-14.
  7. 1 2 Lardinois, Frederic (2021-03-02). "Microsoft launches Power Fx, a new open source low-code language". TechCrunch . Retrieved 2021-03-14.
  8. 1 2 "Microsoft Power Fx overview - Power Platform". docs.microsoft.com. 2021-02-26. Retrieved 2021-05-10.
  9. "GitHub - Microsoft/Power-Fx: Power Fx low-code programming language". GitHub.
  10. "Greg Lindhorst: Power Fx: Open source now available". 2021-11-02.
  11. "Microsoft Power Fx overview - Power Platform". learn.microsoft.com.
  12. "What's new: Power Apps April 2024 Feature Update". Microsoft Power Platform Blog. 2024-05-01. Retrieved 2024-07-09.