21 ms·
Power Fx: open-source now available
- unsignedint 5y agoIn case you want to play around with it, here's a Blazor version. https://fx.hidekisaito.com/ https://fx.hidekisaito.com/
- semicolon_storm 5y agoA bit disappointing that it's only the C# interpreter that has been released and not also the JS version used in Power Apps. Still neat to play with though.
- orionblastar 5y agoIt doesn't have semicolons at the end of the lines, it looks more like VBScript or VBA to me.
- imachine1980_ 5y agoI think if low code should take of this is the tool for it, the biggest "low code" tool is excel whit hundreds more excel users than programmers, if not I think probably we over estimate how much people care about develop apps
- logosmonkey 5y agoI would say an overwhelming majority of corporate users don't care about creating their own apps or work flows or whatever else. They care about the PowerPoint or excel sheet they are actively working on for their next meeting. Where this stuff is helpful is in the business side analyst jobs, the folks who produce the data for the aforementioned persons PowerPoint. That's where most advanced excel is happening and a subset of those folks will go further and use some of these new tools. It's the folks who have built access databases to do some of their work. And future state it will probably end up like all those orphaned access databases that are all over corporate America running some small but important reporting for some business unit who could never get hours with IT to actually get a real production solution.
- fragmede 5y agoGiven how fiddly Excel is, which leads to extremely frustrated formula-writers and depressed advanced users, I wouldn't call Excel low-code. A rite of passage of learning programming pre-Internet, Google, and Stack Overflow (and Clang/llvm) is spending hours pouring over code, just to find out it was a missing semicolon or errant " symbol. Excel programmers go through similar shit with some regularity still (owing to the fact that it's not considered "real" programming and proper tools are elusive). (You don't have to go through that be a programmer, but there's comradery from having gone through similar rites of passage.)
- dgudkov 5y agoGood point. Excel is no more low-code than SQL.
- encryptluks2 5y agoWhen will they open source something meaningful, like Windows, Office or Edge? Prob don't want you to see the telemetry and government spying source code.
- sanxiyn 5y agoI'd say .NET is pretty meaningful.
- derefr 5y agoYou can see the source code of Windows whenever you like. Pay for a Shared Source Initiative license and Microsoft will show you. Or just look at any of the old leaked versions. In neither case is there anything untoward going on in the codebase. Mostly what you’ll find is just integrated proprietary upstream-vendor source code that Microsoft licensed themselves for use in Windows, but does not have an unlimited right to redistribute in source-code form.
- rand12341117 5y agoEdge sources are at https://3rdpartysource.microsoft.com/ https://3rdpartysource.microsoft.com/
- tonyedgecombe 5y agoWhen it is in their commercial interest to do so. Which in the case of Windows and Office is probably never.
- pid-1 5y agoMy non tech users are still catching up with Power Query. I sort of gave up forwarding news related to low code from MS, as every week there's something changing or being deprecated. Moreover, every time I tried to use anything related to the Power Platform (so I could teach to others) I ended up in a world of pain. Is anyone actually using Power Apps, etc... Successfully?
- cardosof 5y agoI too quit playing catch up with MS no code stuff - they change so much it's definitely not "fast iteration", it's "throw everything and see what sticks".
- cable2600 5y agoSigh another language to learn. Just released but I will see recruiters asking for five years experience in it for job openings. It is like they took the macro language of Excel into its own app.
- TuringTest 5y ago> I too quit playing catch up with MS no code stuff - they change so much That might be different this time, though. Afaik it's the first time Microsoft releases a user-friendly reactive language as open source; all their previous tools in this field have been strictly proprietary. Being open source, it can be maintained by its community of users without becoming abandoned, even if Microsoft loses interest in it.
- mathnmusic 5y agoOpen source != Open governance. Consider Signal as an example. It's open-source but there's no developer "community".
- 2Gkashmiri 5y agoSOURCE OPEN. sigh
- chris_wot 5y agoMost of the functions I see in Excel are just old BASIC functions. Have they reinvented BASIC?
- tomcooks 5y agoThe core of their audience for this could very well be people who learned COBOL and BASIC for work 40 years ago and want to go back to programming, minus the "pick python will you? Or go, or js, or PHP, or anything reliable and useful and open" part.
- galaxyLogic 5y agoOr Cobol?
- tofflos 5y agoSigh. I'm trying but it's impossible to decipher anything regarding Microsoft's low-code platform. Does anyone know if it's possible to run Microsoft's low-code platform on premises? Otherwise I don't really see the point in having an open-source language. Don't get me wrong. I do see the point in having an easily accessible business programming language. I just don't see the point in that language being open-source if it's tied to a proprietary service which I can't host myself.
- m0zg 5y agoWho's the user for this? It looks too "dumb" for a "real" programmer, and way too "smart" for everyone else. There's no way a real user will be able to navigate that "formula bar". Source: have observed dozens of regular users through one-way mirror _while at MS_ ~18 years ago. The product later became Dynamics. Users would struggle to find the extremely prominent "OK" button sometimes, or press whichever button was highlighted by default even when they didn't mean to. Anything more complicated than that, it' completely hopeless. Their own user testing probably shows the same thing, and that's probably why it's open source.
- dvdkon 5y agoIt's for advanced Excel users, they basically deal with the complexity of programming, just in their strange way, and I think it's a good way to reduce "Excel abuse".
- usrusr 5y agoKind of like “what would you do for the excel abuse case in an environment not tied down by decades of legacy compat?" That was my first impression (seeing this for the first time today). In an "all built on top of js" world you might just make a snapshot of the entire stack (except for the "browser substitute") part of the document. Make "open new document" essentially the equivalent of github fork from an ever evolving "the empty document" template. You might see quite an impressive reward from moving fast and breaking things instead of sticking to the paradigm of eternal 20th century compatibility.
- m0zg 5y agoMy wife is a goddess of "Excel abuse". She (a financial analyst) unearths and uses the kinds of features in Excel I didn't know existed. But she can't code and isn't interested in learning how to do so. It's a different mindset entirely. I think MS is blindsided by having so many programmers around that 99% of the people out there aren't anything like engineers in terms of their mindset, let alone programmers. To those folks all this "accessing of properties" might as well be some inscrutable alien language.
- 5y ago
- p2t2p 5y agoDarn it, every time MS does something like it I feel an urge to get myself a Windows laptop. Gotta control myself.
- sneeeeeed 5y agoJust run it in a VM, no random reboots to hold you hostage.
- vxNsr 5y agoOH but each time you boot it up, it's slow as molasses as it force runs those updates, ask me how I know.
- qayxc 5y agoWhat are these "random reboots" people keep mentioning? My Windows boxes usually run about 12 to 14 days between (manual!) reboots, and those reboots are normally done to switch between operating systems. It's been literally years since Microsoft removed automatic reboots and even updates can be be postponed for several weeks and scheduled at the user's convenience. There are plenty of bad things about Windows, but tired old stories about "random reboots" or bluescreens just aren't part of it anymore.
- zigzag312 5y agoWindows update will under specific circumstances automatically reboot the system. Any unsaved work will be lost. This, to my knowledge, has not been fixed yet.
- tomcooks 5y agoAre function names going to be translated as you did with Excel, so that there are a billion macros written in completely different languages?
- spaceisballer 5y agoIt’s interesting reading the comments here as I assume everyone here has more coding experience than myself. We have all the Power Apps at my agency and I have yet to find a use case for them. They seem really interesting but until there are good use cases I don’t see this catching on for most users. I’m trying to find some way for this to fit into my work and my employees but even the Microsoft training that I’ve attended doesn’t give much info. I’m sorry but automating notifications isn’t interesting and feels like new ways to micromanage. I feel like for this to thrive is to have good use cases put forth for regular users, then you will get buy in.
- TuringTest 5y agoThe most relevant use case I can think for reactive programming is data transformation between formats. Say you have two departments that need to share data, but their data stores are structured in different ways. You can build an automated process that reads data from the first data pool and converts it into the format needed at the second pool, where the other department can use it. This is a quite common use case in machine learning for example, where data from numerous different sources need to be stored in a centralized pool ('data lake') where the ML process can analyze it to build predictions.
- Hjfrf 5y agoMicrosoft already offers several tools for that. It feels like they're just throwing out new programming languages for no reason sometimes.
- spaceisballer 5y agoOk that’s pretty interesting. Some of my employees and coworkers have been complaining about taking things from SharePoint lists and making them in a more “screen friendly” format and removing the manual work. We are pretty locked down into what software we use so maybe we could adapt this.
- dr_kiszonka 5y agoPL question: Power FX follows the spreadsheet model where a change in one variable propagates and updates all variables that depend on it. I am curious why this model isn't more popular. Is it more computationally intensive?
- hermitcrab 5y agoHave you ever looked at a complex Excel spreadsheet written by someone else and tried to work out that the hell is going on? It is really hard to work which sheets/rows/columns/cells are dependent of which other which sheets/rows/columns/cells. And that is before we even get to stuff like: =FLOOR("5/"&DAY(MINUTE(YYYY/38)/2+56)&"/"&YYYY,7)-34 (and much worse)
- maxpert 5y agoComplexity, humans are not good at complexity beyond certain levels. One good example of such model is in React + Redux story. Based on single variable your view might have 10/20 changes and to this day I see people debating what is the right way to do it (React hooks vs Redux is latest episode).
- nyanpasu64 5y agoIn my experience/opinion as a programmer, property-bound state tracking (where you say C = A + B, and changing A or B changes C) is easier to understand than push-based updating of C when you change either A or B. Property binding (FRP?) causes the exact set of values dependent on an input to change when the input changes, with no chance to forget (though you can still forget to register a change callback on C). But it's not a complete solution for when you want to take different actions based on what changed (eg. pushing a button to send an email).
- TuringTest 5y agoWhen you want to take different actions, you can use the Stream metaphor (a.k.a. Observables) instead of variable bindings. Streams maintain the same functional reactive execution paradigm of spreadsheets and property bindings, but you can compose several of them into a new stream with complex conditional logic. You can use the streams as event propagators, and understand the program state as a series of successive updates every time a new event appears on the stream. https://www.didierboelens.com/2018/08/reactive-programming-streams-bloc/ https://www.didierboelens.com/2018/08/reactive-programming-s...
- sneeeeeed 5y agoThis is neat but how is it low-code?
- dgudkov 5y agoApparently, a programming language itself can't be low-code. I suppose PowerFX is designated as "low-code" because it's intended for use in low-code apps, basically, becoming the "code" part of "low-code".
- maxpert 5y agoReading the comments here I wonder if there can be an opensource project doing the spec implementation, or define a spec for implementation. I can see people frustrated with Power Query or constant changes everywhere.
- KarlKemp 5y agoGreat, I installed the Visual Studio for Mac (that I didn't know existed) and it immediately froze my Macbook, something that hasn't happened to me in recent history. So I guess they really do support the full Microsoft experience on Mac.
- wiradikusuma 5y agoSo is this like embeddable engine? Or standalone server (like Elasticsearch)? Or UI SDK? How about the widgets (e.g for auto-complete)?
- teruakohatu 5y ago> Natural language support with GPT-3 and no code builders that create Power Fx formulas can lower the bar even further. GPT-3 is not mentioned again in the announcement. What is exactly is it being used for?
- cormacrelf 5y agoIt’s being used to generate announcements of open source no-code solutions
- marcodiego 5y agoGives the same feeling I had when I was a teenager and saw Prolog. I instantly had the idea: "Cool! You can even manage a hotel with that and with a few simple queries find which rooms are available and who is where!". Of course, nobody manages hotels with Prolog.
- foxbee 5y agoI am the cofounder of Budibase, and I agree with the many comments here around Microsoft throwing tools at the low-code space and seeing what sticks. The most popular source of users we get are PowerApps users who are fed up with the constant change and moving states. If you are looking for an open source alternative to Powerapps - check out Budibase [1][2] [1] https://github.com/Budibase/budibase https://github.com/Budibase/budibase [2] https://budibase.com https://budibase.com I am happy to remove this post, as it is slightly promotional, but I do feel it is very relevant.
- ModernMech 5y agoCould you provide a comparison of Budibase vs. Power Apps? What are the pros and cons?
- foxbee 5y agoAt the highest level: Budibase - open source + self-host via docker, K8s, DO Budibase - use handlebars and JavaScript for data binding Budibase - desktop, tablet, mobile apps Budibase - public and private apps Budibase - built in automation interface Powerapps - very reliant on microsoft ecosystem (sharepoint, excel) Powerapps - uses Power fx Powerapps - mostly made for tablet and mobile apps Powerapps - private apps + portal Powerapps - i think powerapps makes use of another Microsoft tool for automation I feel the components and outputted apps are better within Budibase. PowerApps is more mature than Budibase so it has an ecosystem of consultants
- ModernMech 5y agoCool, thanks!
- sprash 5y agoThis looks amazing. This app would make half of my current job more or less redundant.
- foxbee 5y ago
- tombert 5y agoI am surprised I have never heard of this...this looks awesome! For anyone who has used this, how does the performance of Power FX compare to a comparably-difficult formula calculation in Excel?
- eggy 5y agoI realize it's "low code", I code, but I cannot see how to play with it locally other than the console/REPL example towards the bottom. Will this be available in Excel? Access? Or do I need 'Dataverse'? I will try the console/REPL example. I work at an engineering firm, and we are stuck with Excel forever. I've tried bringing in Pluto notebooks and Julia (compare with Matlab, etc.), SMath Studio (vs. MathCAD), RStudio, Python, WxMaxima, but to no avail. If Power FX is integrated with Excel and Access, I could see it being useful for us.