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

3
1142

Google представи новия декларативен език за логическо програмиране Logica, предназначен за работа с данни и за преобразуване на програмите в програмния език SQL. Новият език за програмиране е предназначен предимно за тези, които искат да използват синтаксиса на логическото програмиране при създаването на заявки към базите данни. Към днешен ден полученият по този начин SQL код може да се изпълнява в хранилището Google BigQuery и СУБД PostgreSQL и SQLite. В бъдеще броят на поддържаните SQL диалекти ще бъде увеличен. Кодът на този проект е написан на програмния език Python и е публикуван под Apache 2.0 лиценза.

Logica продължава развитието на другия разработен от Google език за програмиране Yedalog, който също се използва за обработка на данни, и предоставя ниво на абстракции, което е недостъпно в стандартния SQL. Новият език за програмиране поддържа модули, операции за импорт и възможност за използване на интерактивната среда 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 води до написването на тромави многоредови програми, които са твърде трудни за възприемане и почти не могат да се използват повторно. Logica дава възможност за създаването на програми от неголеми, разбираеми и лесно достъпни за повторно използване логически блокове.

5 3 гласа
Оценете статията
Абонирай се
Извести ме за
guest
3 Коментара
стари
нови оценка
Отзиви
Всички коментари