Google opublikował język programowania logicznego Logica.

Firma Google zaprezentowała nowy deklaratywny język programowania logicznego Logica, zaprojektowany do manipulacji danymi i tłumaczący programy na język SQL. Nowy język jest skierowany do tych, którzy chcą korzystać z składni programowania logicznego przy pisaniu zapytań do baz danych. Obecnie wynikowy kod SQL może być wykonywany w magazynie Google BigQuery lub w systemach zarządzania bazami danych PostgreSQL i SQLite, których wsparcie jest na razie eksperymentalne. W przyszłości planowane jest rozszerzenie liczby obsługiwanych dialektów SQL. Kod projektu napisany jest w języku Python i opublikowany na licencji Apache 2.0.

Logica kontynuuje rozwój innego języka przetwarzania danych opracowanego w Google, Yedalog, i oferuje poziom abstrakcji, który nie jest dostępny w standardowym SQL. Zapytania w Logica są programowane w formie zbioru logicznych stwierdzeń. Obsługiwane są moduły, operacje importu oraz możliwość korzystania z Logica z interaktywnej powłoki Jupyter Notebook. Na przykład, aby wygenerować zestawienie osób, które najczęściej pojawiały się w wiadomościach w 2020 roku, można użyć następującego programu w języku Logica do zapytania do bazy danych GDELT: @OrderBy(Mentions, „mentions desc”); @Limit(Mentions, 10); Mentions(person:, mentions? += 1) distinct :- gdelt-bq.gdeltv2.gkg(persons:, date:), Substr(ToString(date), 0, 4) == „2020”, the_persons == Split(persons, „;”), person in the_persons; $ logica mentions.l run Mentions +—————-+—————-+ | person | mentions_count | +—————-+—————-+ | 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 | +—————-+—————-+

Pisanie złożonych zapytań SQL prowadzi do potrzeby tworzenia nieczytelnych, rozbudowanych wieloliniowych łańcuchów, które utrudniają ponowne wykorzystanie części zapytania i sprawiają, że ich utrzymanie jest trudniejsze. W przypadku typowych, powtarzających się obliczeń w SQL można używać widoków i funkcji, ale nie obsługują one operacji importu i nie zapewniają elastyczności charakterystycznej dla języków wysokiego poziomu (na przykład nie można przekazać funkcji do innej funkcji). Logica pozwala na komponowanie programów z małych, zrozumiałych i dostępnych do ponownego wykorzystania bloków logicznych, które mogą być testowane, powiązane z określonymi nazwami i grupowane w pakiety, które mogą być używane w innych projektach.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster