Google publie le langage de programmation logique Logica

Google a introduit un nouveau langage de programmation logique déclarative, Logica, conçu pour la manipulation de données et la traduction de programmes en SQL. Le nouveau langage s'adresse à ceux qui souhaitent utiliser la syntaxe de programmation logique lors de l'écriture de requêtes de base de données. Actuellement, le code SQL résultant peut être exécuté dans le stockage Google BigQuery ou dans les SGBD PostgreSQL et SQLite, dont la prise en charge est encore expérimentale. À l'avenir, il est prévu d'augmenter le nombre de dialectes SQL pris en charge. Le code du projet est écrit en Python et publié sous la licence Apache 2.0.

Logica poursuit le développement d'un autre langage de traitement de données développé par Google, Yedalog, et offre un niveau d'abstraction non disponible dans le SQL standard. Les requêtes dans Logica sont programmées sous la forme d'un ensemble d'instructions logiques. Prend en charge les modules, les importations et la possibilité d'utiliser Logica à partir du shell interactif Jupyter Notebook. Par exemple, pour générer une synthèse des personnes les plus fréquemment mentionnées dans l'actualité 2020, vous pouvez utiliser le programme Logica suivant pour accéder à la base de données GDELT : @OrderBy(Mentions, « mentions desc »); @Limit(Mentions, 10); Mentions(personne :, mentions? += 1) distinct :- gdelt-bq.gdeltv2.gkg(persons:, date :), Substr(ToString(date), 0, 4) == « 2020 », the_persons == Split (personnes, ";"), personne dans the_persons ; $ logica mentionne.l run Mentions +—————-+—————-+ | personne | mentions_count | +—————-+—————-+ | Donald Trump | 3077130 | | Los Angeles | 1078412 | | Joe Biden | 1054827 | | George Floyd | 872919 | | Boris Johnson | 674786 | | Barack Obama | 438181 | | Vladimir Poutine | 410587 | | bernie ponceuses | 387383 | | Andrew Cuomo | 345462 | | las vegas | 325487 | +—————-+—————-+

L'écriture de requêtes complexes en SQL conduit à la nécessité d'écrire des chaînes multilignes lourdes qui ne sont pas évidentes à comprendre, interfèrent avec la réutilisation de parties de la requête et compliquent la maintenance. Pour les calculs répétitifs typiques, SQL peut utiliser des vues et des fonctions, mais elles ne prennent pas en charge les opérations d'importation et n'offrent pas la flexibilité des langages de haut niveau (par exemple, vous ne pouvez pas transmettre une fonction à une fonction). Logica vous permet de composer des programmes à partir de petits blocs logiques compréhensibles et réutilisables qui peuvent être testés, associés à des noms spécifiques et regroupés dans des packages pouvant être utilisés dans le cadre d'autres projets.

Source: opennet.ru

Ajouter un commentaire