Nmedia - Fotolia

Power Fx informs Microsoft's low-code strategy

In a Q&A, Microsoft corporate vice president Charles Lamanna delves into the company's Power Fx, a new low-code tool that non-programmers can use to build applications.

Creating programming languages is in Microsoft's DNA -- from Visual Basic to C# to F# to TypeScript. When Microsoft wants to move developers in a particular direction, it does so with its own programming languages.

Now the company has developed a new language for low-code development and has big plans for its place in the overall strategy for application development on the Microsoft platform. Charles Lamanna, Microsoft's corporate vice president of the low-code application platform, gets into the details in this Q&A.

Are you looking at Power Fx to become a type of standard for programmers to adopt?

Charles LamannaCharles Lamanna

Charles Lamanna: Yeah. I would say that 'standard' kind of implies heavy-handed boards and standards and all that stuff. I don't want to go that route. But I hope it will become a common concept.

If you look at it, there is pure drag-and-drop, pure visual authoring. That's important as no-code, but even Excel is low-code, right? We think these languages have been historically underserved and historically not gotten the same level of treatment, attention and community that we see for professional developer programming languages.

OK, would you say that low-code is now mainstream? Or would this be a step toward taking it mainstream?

Lamanna: I would say low-code is in mainstream awareness, not mainstream adoption yet. We now have over four million monthly active low-code developers on the Power Platform alone, which is pretty amazing. If you go and look at some of the stats for individual programming languages, that makes low-code, just on the Power Platform, just with Microsoft's offering, start to be more [popular] than most programming languages people have probably heard of or programming environments people have heard of. That has grown about 95% year over year.

COVID-19 put the pressure on companies to update their business processes in a pandemic world, and do it without incurring a bunch of cost. As it turns out, one of the best ways to realize that objective is to empower and enable non-coders and non-technical folks to leverage low-code tools. I'd say that COVID-19 has definitely contributed to the mainstreaming of low-code, without a doubt, and actually accelerated, to a degree, what our ambitions were.

Why does Power Platform need its own language if it's supposed to be so easy to use?

Lamanna: The thing I would say is, we're visual first and interactive first, but at some point, the sophistication reaches a level where it's just easier to write formulas. We chose Fx as the name to kind of highlight that. Yeah, you shouldn't be running like a 5,000-line code file in this thing. This is to go write a couple of lines in a formula bar, in the context of a broader no-code environment. It is modeled after that. It does have characteristics like you would want in that environment. That's things like automatically recalculating values. It's very much like a REPL for other programming languages. You write your formula, and it just computes it. There's no compile. You see the output right away in the app. It's modeled after a lot of data operations, or I think, like reference operations that people know from Excel.

I'd say, absolutely, we don't want a Power Apps or Power Platform user to be writing formulas in the first hour of using the product. But in the first week, or the first month, absolutely, because that's how you can start to really get things done, even very quickly.

Can you get into exactly what it draws from Excel, and how is it different?

Lamanna: So, I would say for data manipulation and data calculation, which is what the Excel language is focused on, it's just the Excel language. That's the design principle. But in the case of Excel, there are some things you don't have to do, or that you can't do, things like, I'd say, making an HTTP call or calling out to data connectors, or some imperative concepts like setting a variable.

A good way to think about it would be it's a strict superset of what Excel offers, where Excel brings all the data manipulation, data calculation and computation, that type of thing. And then we just only layered on, as needed, around some object-oriented concepts, some data connector concepts, as well as some basically imperative programming concepts as needed.

Is Power Fx the language that already exists in Power Apps?

Lamanna: Yeah. So, it's basically the Power Apps language and we're bringing that to the rest of the Power Platform, and also putting it on GitHub.

We have this mantra internally that development is a team sport.
Charles LamannaCorporate vice president, Microsoft

How does Power Fx play into Microsoft's overall strategy for developers in terms of connecting pro devs with Visual Studio on one end and low-code/no-coders on another?

Lamanna: We think the story should come together over time. We have this mantra internally that development is a team sport. It's this idea that we imagine a future where business users and low-code developers, IT and ProDev coder people would all collaborate and work together on a single solution. That's kind of like the next stage of what internal application development looks like.

That has a lot of benefits because business users understand the business process the best and have the ability to tweak it and customize as needed. ProDevs may understand the more sophisticated components the best, and they can build them, platformize them and layer them right, so that they could be used by business users. It's kind of this play, back and forth, between these different types of users, on the same platform.

Low-code to just enable all business users is awesome, but that's step one. Step two is actually making it be collaborative to do this development effort in a way that's never been before.

That really kind of came to what I think was the grand finale, which was around our Ignite conference, where we announced the GitHub actions for Power Platform, as well as the Visual Studio integration for microservices and APS. But for the ProDevs and coders, we tell them to use whatever programming language they want. They can use JavaScript, they can use TypeScript, they can use C#, they can use Python, that's fine. But those programming languages will never be accessible to those business users. That's where Power Fx comes in.

What about the other way around? Will Power Fx get business users maybe more interested in pro development?

Lamanna: Yeah. I think that would be the hope. Not everyone will want to go that far, from a skilling perspective, but yes, Power Fx is great. If you start with Power Fx and you become a real expert on it, and then maybe you start dabbling in TypeScript and JavaScript. You go a little bit longer, and then you maybe would start dabbling in Kubernetes, or something, right? It's this idea of really having a spectrum of sophistication and a spectrum of skills, which is at the heart of the low-code movement, because it really makes it available and accessible to everyone, business users, IT, developers, they can all participate.

There are no gatekeepers. There are no adversarial relationships, none of that. Power Fx is a great bridge to make that easier, to make that transition more straightforward. Power Fx is also part of the bigger movement to bring more programming structure to these no-code/low-code concepts. We learned all these great lessons on programming languages, over the last 30 years, like be open, be portable, and so let's go apply those same things for no-code/low-code concepts as well.

When would you say this whole thing, or this story, would come together -- in five years?

Lamanna: Obviously, there are companies today, there are Fortune 500 companies today that are doing this story right now. I talk to my team, and I say, in three to five years, our goal is that the supermajority of enterprise application development will be done in these low-code platforms.

Dig Deeper on Software design and development

Cloud Computing
App Architecture