Power Fx - czyli formuły Excel'a na sterydach

Kategoria II
Power Fx - czyli formuły Excel'a na sterydach

Power Fx - to nowy, open source'owy (kod języka dostępny jest na GitHubie) język programowania. Został on udostępniony przez Microsoft i wykorzystuje idę programowania low-code. Jego głównymi odbiorcami są citizen developers (czyli ludzi z jednostek biznesowych, bez wykształcenia w obszarze IT). Jednocześnie Microsoft zauważa, że deweloperzy mogą przyspieszyć rozwój swoich aplikacji - wykorzystując Power FX dzięki prostocie jego formuł i kodu, stosując przy tym swoje dotychczasowe (w domyśle - ulubione) narzędzia programistyczne.

Język ten jest wzorowany jest głównie na formułach MS Excela (dlatego w tytule tego wpisu pojawiło się sformułowanie "formuły Excela na sterydach"). Oprócz Excel'a twórcy języka inspirowali się także Pascalem czy Mathematicą (która jest z jednej strony językiem ale i środowiskiem do pisania kodu). W efekcie wyszedł język który jest oparty na formułach, silnie typowany i funkcyjny. Dodatkowo wspiera on imperatywną logikę oraz zarządzanie stanem.

W przypadku Power Fx kompilator jest przyrostowy, co w praktyce oznacza, że jest on używany w sposób ciągły - do utrzymywania spjności programu i danych. Zmiany są automatycznie propagowane na warstwę graficzną (interfejs) budowanego programu, co ma wpływ na wyniki obliczeń zależnych, które mogą powodować zmiany właściwości formantów, takich jak kolor lub pozycja. Kompilator przyrostowy udostępnia także rozbudowane funkcje edycji formuł IntelliSense  - tj. sugestie, auto-uzupełnianie i sprawdzanie typów.

Power Fx wykorzystywany ma być w ramach całej platformy LowCode Microsoftu - tj. Power Platform (myślę, że czytelnikom Robonomiki nie trzeba jej specjalnie przedstawiać). W pierwszej kolejności język został zaimplementowany dla obsługi kanw aplikacji. Obecnie będzie on wdrażany w Power Automate i Power Virtual Agents. 

Na stronie https://github.com/microsoft/Power-Fx/blob/main/docs/overview.md można znaleźć sporą liczbę poglądowych przykładów, jak ten język działa.

Mój komentarz, dlaczego jest to ważne: Pomysł na język przypominający formuły Excela (ale od nich zdecydowanie mocniejszy) jest genialny w swojej prostocie. Dzięki takiemu podejściu osoby, które bały się zacząć swoją przygodę z programowaniem (ale są mistrzami Excela), obecnie wejdą w świat tworzenia kodu praktycznie bez problemu. A to na pewno spopularyzuje ideę citizen developers.

 

Uwaga: Zdjęcie we wpisie pochodzi ze strony: https://github.com/microsoft/Power-Fx.