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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

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

На самом деле, 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 предоставляет возможность компоновки программ из небольших, понятных и доступных для повторного использования логических блоков. Они могут быть протестированы и связаны с определенными именами, после чего сгруппированы в пакеты, доступные для использования в составе прочих проектов.

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

Источник: https://habr.com/ru/company/selectel/blog/551576/


Интересные статьи

Интересные статьи

Моё резюме претерпело несколько итераций и сейчас после многих лет работы, сотен просмотренных CV и десятков рекомендаций, я могу рассказать про основные вещи, на которые...
Статья написана на Sony Vaio SVE15 2013 года Эта статья — не то чтобы ответ на пост «Как и почему я перестал покупать новые ноутбуки», а скорее размышления на эту тему. С подробной арг...
Honeywell разместит квантовые компьютеры на пойманных ионах в квантовом облаке Microsoft Уже много лет учёные разрабатывают различные системы, на которых можно было бы выполнять квантовые ал...
Команда исследователей из компании Google представила новую разработку — алгоритм автоматического кадрирования видео. Исходный материал редактируется машиной, пользователю нужно лишь задать о...
Скрытый под слоем кода, томится язык, жаждущий быть выученным. На момент написания этой статьи запрос «программирование какой язык изучать первым» выдаёт 517 миллионов поисковых результатов. К...