Google vydáva logický programovací jazyk Logica

Google predstavil nový programovací jazyk deklaratívnej logiky, Logica, určený na manipuláciu s údajmi a preklad programov do SQL. Nový jazyk je zameraný na tých, ktorí chcú pri písaní databázových dotazov používať syntax logického programovania. V súčasnosti je možné výsledný kód SQL spustiť v úložisku Google BigQuery alebo v DBMS PostgreSQL a SQLite, ktorých podpora je stále experimentálna. V budúcnosti sa plánuje rozšírenie počtu podporovaných SQL dialektov. Kód projektu je napísaný v jazyku Python a publikovaný pod licenciou Apache 2.0.

Logica pokračuje vo vývoji ďalšieho jazyka na spracovanie údajov, ktorý vyvinula spoločnosť Google, Yedalog, a poskytuje úroveň abstrakcie, ktorá nie je dostupná v štandardnom SQL. Dotazy v Logica sú naprogramované vo forme sady logických príkazov. Podporuje moduly, importy a možnosť používať Logica z interaktívneho prostredia Jupyter Notebook. Ak chcete napríklad vygenerovať súhrn ľudí najčastejšie spomínaných v správach na rok 2020, môžete na prístup k databáze GDELT použiť nasledujúci program Logica: @OrderBy(Mentions, “menions desc”); @Limit(Zmienky, 10); Zmienky(osoba:, zmienky? += 1) odlišné :- gdelt-bq.gdeltv2.gkg(osoby:, dátum:), Substr(ToString(dátum), 0, 4) == “2020”, the_persons == Rozdelenie (osoby, ";"), osoba v_osobách; $ logica spomína.l spustiť Mentions +—————-+—————-+ | osoba | spomína_počet | +—————-+—————-+ | donald Trump | 3077130 | | los angeles | 1078412 | | joe biden | 1054827 | | George Floyd | 872919 | | boris johnson | 674786 | | Barack Obama | 438181 | | vladimir putin | 410587 | | bernie sanders | 387383 | | andrew cuomo | 345462 | | las vegas | 325487 | +—————-+—————-+

Písanie zložitých dotazov v SQL vedie k potrebe písať ťažkopádne viacriadkové reťazce, ktorým nie je zrejmé porozumenie, narúšajú opätovné použitie častí dotazu a komplikujú údržbu. Pre typické opakujúce sa výpočty môže SQL používať zobrazenia a funkcie, ale nepodporujú operácie importu a neposkytujú flexibilitu jazykov na vysokej úrovni (napríklad nemôžete odovzdať funkciu funkcii). Logica vám umožňuje skladať programy z malých, zrozumiteľných a opakovane použiteľných logických blokov, ktoré možno testovať, spájať s konkrétnymi názvami a zoskupovať do balíkov, ktoré možno použiť ako súčasť iných projektov.

Zdroj: opennet.ru

Pridať komentár