Google publikuje język programowania logicznego Logica

Firma Google wprowadziła nowy język programowania w logice deklaratywnej Logica, przeznaczony do manipulacji danymi i tłumaczenia programów na język SQL. Nowy język jest skierowany do tych, którzy chcą używać składni programowania logicznego podczas pisania zapytań do baz danych. Obecnie powstały kod SQL można wykonać w pamięci Google BigQuery lub w systemach DBMS PostgreSQL i SQLite, których obsługa jest wciąż w fazie eksperymentalnej. W przyszłości planowane jest zwiększenie 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 przez Google, Yedalog, i zapewnia poziom abstrakcji niedostępny w standardowym języku SQL. Zapytania w Logice programuje się w formie zbioru instrukcji logicznych. Obsługuje moduły, import i możliwość korzystania z Logiki z interaktywnej powłoki Jupyter Notebook. Na przykład, aby wygenerować zestawienie osób najczęściej wymienianych w wiadomościach na rok 2020, możesz użyć następującego programu Logica, aby uzyskać dostęp do bazy danych GDELT: @OrderBy(Mentions, „mentions desc”); @Limit(Wzmianki, 10); Wzmianki(osoba:, wzmianki? += 1) odrębne :- gdelt-bq.gdeltv2.gkg(osoby:, data:), Substr(ToString(data), 0, 4) == „2020”, the_persons == Split (osoby, ";"), osoba w the_persons; $ logica wspomina.l uruchom Wzmianki +—————-+—————--+ | osoba | liczba_wspomnień | +—————-+—————-+ | Donald Trump | 3077130 | | Los Angeles | 1078412 | | joe biden | 1054827 | | George Floyd | 872919 | | Boris Johnson | 674786 | | Barack Obama | 438181 | | Władimir Putin | 410587 | | Bernie Sanders | 387383 | | Andrzej Cuomo | 345462 | | Las Vegas | 325487 | +—————-+—————--+

Pisanie złożonych zapytań w języku SQL prowadzi do konieczności pisania uciążliwych, wielowierszowych łańcuchów, których zrozumienie nie jest oczywiste, utrudnia ponowne wykorzystanie części zapytania i komplikuje konserwację. Do typowych, powtarzalnych obliczeń SQL może wykorzystywać widoki i funkcje, jednak nie obsługują one operacji importu i nie zapewniają elastyczności języków wysokiego poziomu (nie da się np. przekazać funkcji do funkcji). Logica pozwala na komponowanie programów z małych, zrozumiałych i wielokrotnego użytku bloków logicznych, które można przetestować, powiązać z konkretnymi nazwami i pogrupować w pakiety, które można wykorzystać w ramach innych projektów.

Źródło: opennet.ru

Dodaj komentarz