Google выпустил новый язык программирования: зачем он нужен?
Компания Google разработала новый язык логического программирования с открытым исходным кодом Logica. Это преемник существующего логического языка Google Yedalog. Он предназначен для манипулирования данными и транслирования программ в язык SQL.
Новый язык компилирует логическую программу в выражение SQL, чтобы ее можно было выполнять в усовершенствованном SQL-механизме в хранилище Google BigQuery. По заявлению создателей языка, Logica также включает экспериментальную поддержку PostgreSQL и SQLite.
Особенности языка:
- Поддерживает чистые и многократно используемые механизмы абстракции, которых нет в SQL;
- Можно использовать из интерактивной записной книжки Python;
- Способен производить тестирование запросов;
- Поддерживает модули и импорт;
- Может работать прямо из интерактивной оболочки Jupyter Notebook.
Обычно языки логического программирования используют синтаксис математической логики высказываний, а не естественный (английский) язык. Logica расширяет классический синтаксис программированию с помощью агрегаций, отсюда и название языка:
Logica = Logic + Aggregation
Инженеры-программисты Google Константин Третьяков и Евгений Скворцов объясняют, что Logica более лаконичен и поддерживает чистые и многократно используемые абстракции, которых нет в SQL. Например, базовый запрос в коде Logica выглядит следующим образом:
MagicComment(comment_text:) :- `comments`(user_id:, comment_text:), user_id == 5;
А вот его эквивалент в SQL:
SELECT comment_text FROM comments WHERE user_id = 5;
Разработчики говорят, что Logica привносит удобочитаемость и передовые инженерные практики в запросы к базе данных, что упрощает их чтение. Также по их словам, Logica позволяет определять и повторно использовать подзапросы и функции.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: