Google a publié un langage de programmation logique Logica

La société Google a présenté un nouveau langage déclaratif de programmation logique, Logica, conçu pour manipuler des données et traduisant des programmes en SQL. Ce nouveau langage s'adresse à ceux qui souhaitent utiliser la syntaxe de la programmation logique lors de l'écriture de requêtes à une base de données. Actuellement, le code SQL généré peut être exécuté dans l'entrepôt Google BigQuery ou dans les bases de données PostgreSQL et SQLite, dont le support est encore expérimental. À l'avenir, il est prévu d'élargir 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 continue le développement d'un autre langage de traitement de données créé par Google, Yedalog, et offre un niveau d'abstraction qui n'est pas disponible dans le SQL classique. Les requêtes en Logica sont programmées sous la forme d'un ensemble d'assertions logiques. Des modules, des opérations d'importation et la possibilité d'utiliser Logica depuis un environnement interactif Jupyter Notebook sont pris en charge. Par exemple, pour générer un résumé des personnes les plus souvent mentionnées dans les nouvelles de l'année 2020, on peut utiliser le programme suivant en Logica pour interroger la base de données 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 | +—————-+—————-+

L'écriture de requêtes SQL complexes conduit à la nécessité d'écrire des chaînes multiline encombrantes, peu évidentes à percevoir, qui nuisent à la réutilisation des parties de la requête et compliquent la maintenance. Pour des calculs répétés typiques en SQL, on peut utiliser des vues et des fonctions, mais ils ne prennent pas en charge les opérations d'importation et ne fournissent pas la flexibilité caractéristique des langages de haut niveau (par exemple, il est impossible de passer une fonction à une autre). Logica permet de composer des programmes à partir de petits blocs logiques, compréhensibles et accessibles à la réutilisation, qui peuvent être testés, liés à des noms spécifiques et regroupés en paquets disponibles pour une utilisation dans d'autres projets.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster