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;2 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]

See also

Related Research Articles

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

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">F Sharp (programming language)</span> Microsoft programming language

F# is a functional-first, general-purpose, strongly typed, multi-paradigm programming language that encompasses functional, imperative, and object-oriented programming methods. It is most often used as a cross-platform Common Language Infrastructure (CLI) language on .NET, but can also generate JavaScript and graphics processing unit (GPU) code.

<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.

TypeScript is a free and open-source high-level programming language developed by Microsoft that adds static typing with optional type annotations to JavaScript. It is designed for the development of large applications and transpiles to JavaScript. Because TypeScript is a superset of JavaScript, all JavaScript programs are syntactically valid TypeScript, but they can fail to type-check for safety reasons.

<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.

Protocol Buffers (Protobuf) is a free and open-source cross-platform data format used to serialize structured data. It is useful in developing programs that communicate with each other over a network or for storing data. The method involves an interface description language that describes the structure of some data and a program that generates source code from that description for generating or parsing a stream of bytes that represents the structured data.

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

GitHub, Inc. is a platform and cloud-based service for software development and version control using Git, allowing developers to store and manage their code. It provides 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.

Mbed TLS is an implementation of the TLS and SSL protocols and the respective cryptographic algorithms and support code required. It is distributed under the Apache License version 2.0. Stated on the website is that Mbed TLS aims to be "easy to understand, use, integrate and expand".

Razor is an ASP.NET programming syntax used to create dynamic web pages with the C# or VB.NET programming languages. Razor was in development in June 2010 and was released for Microsoft Visual Studio 2010 in January 2011. Razor is a simple-syntax view engine and was released as part of MVC 3 and the WebMatrix tool set.

<span class="mw-page-title-main">Roslyn (compiler)</span>

.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">.NET</span> Free and open-source software platform developed by Microsoft

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

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.

Project Verona is an experimental research programming language developed by Microsoft and aimed at dealing with memory situations to make other programming languages safer.

<span class="mw-page-title-main">Cg (programming language)</span> Shading language

Cg and High-Level Shader Language (HLSL) are two names given to a high-level shading language developed by Nvidia and Microsoft for programming shaders. Cg/HLSL is based on the C programming language and although they share the same core syntax, some features of C were modified and new data types were added to make Cg/HLSL more suitable for programming graphics processing units.

Microsoft Power Platform is a line of business intelligence, app development, and app connectivity software applications. Microsoft developed the Power Fx low-code programming language for expressing logic across the Power Platform. It also provides integrations with GitHub and Teams among other apps.

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.