Разработка
Selectel

Google представил новый язык программирования Logica

Корпорация Google часто удивляет новыми проектами. То операционная система Fuchsia, теперь — новый декларативный язык логического программирования Logica. По словам разработчиков, он предназначен для манипулирования данными и транслирования программ в язык SQL. Подробности — в материале Selectel.

Logica будет нужна разработчикам, планирующим использовать синтаксис логического программирования для написания запросов к БД. Сейчас есть экспериментальная поддержка выполнения результирующего SQL-кода в хранилище Google BigQuery или в СУБД PostgreSQL и SQLite.

Чем еще может порадовать новый язык?

Здесь вас поймут.

Selectel

На самом деле, Logica — продолжение развития еще одного языка обработки данных, который называется Yedalog. Разработан он еще и для того, чтобы предоставить уровень абстракции, недоступный в штатном SQL. Логическим же язык назван потому, что запросы в Logica программируются в форме набора логических утверждений.

Язык поддерживает модули, операции импорта и возможность работы Logica прямо из интерактивной оболочки Jupyter Notebook. Практический пример — формирование выборки персон и названий, которые чаще других упоминались в 2020 году. Программа на Logica для обращения к БД 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 | +----------------+----------------+

Разработчики языка говорят, что решились на его создание для облегчения жизни всем, кто работает с SQL. Проблема в том, что сложные запросы для SQL могут быть очень длинными и многострочными. При этом содержимое таких запросов неочевидно для восприятия.

Для типовых повторяющихся вычислений в SQL есть возможность работать с представлениями и функциями, но, к сожалению, они не поддерживают операции импорта, не предоставляя также гибкости, которая свойственна высокоуровневым языкам. Функцию в функцию здесь передать, например, невозможно.

А вот Logica предоставляет возможность компоновки программ из небольших, понятных и доступных для повторного использования логических блоков. Они могут быть протестированы и связаны с определенными именами, после чего сгруппированы в пакеты, доступные для использования в составе прочих проектов.

Разработчики уже оформили туториал для ознакомления с основными функциями и преимуществами нового языка программирования.

Не пропускайте последние новости из мира IT, подписывайтесь на блог Selectel.

{ "author_name": "Selectel", "author_type": "editor", "tags": ["\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","selectel"], "comments": 0, "likes": 10, "favorites": 8, "is_advertisement": false, "subsite_label": "dev", "id": 233904, "is_wide": true, "is_ugc": false, "date": "Tue, 20 Apr 2021 10:13:59 +0300", "is_special": false }
0
0 комментариев
Популярные
По порядку

Комментарии

null