Google publicó el lenguaje de programación lógica Logica

La compañía Google ha presentado un nuevo lenguaje declarativo de programación lógica llamado Logica, diseñado para manipular datos y traducir programas al lenguaje SQL. Este nuevo lenguaje está orientado a aquellos que desean utilizar la sintaxis de programación lógica al escribir consultas a bases de datos. Actualmente, el código SQL resultante puede ser ejecutado en el almacenamiento Google BigQuery o en las bases de datos PostgreSQL y SQLite, cuyo soporte sigue siendo experimental. Se planea ampliar el número de dialectos SQL compatibles en el futuro. El código del proyecto está escrito en Python y se publica bajo la licencia Apache 2.0.

Logica sigue el desarrollo de otro lenguaje de procesamiento de datos creado en Google, Yedalog, y ofrece un nivel de abstracción no disponible en el SQL estándar. Las consultas en Logica se programan en forma de un conjunto de afirmaciones lógicas. Se soportan módulos, operaciones de importación y la posibilidad de utilizar Logica desde el entorno interactivo Jupyter Notebook. Por ejemplo, para generar un resumen de las personas más mencionadas en las noticias del año 2020, se puede usar el siguiente programa en Logica para consultar la base de datos 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 | +—————-+—————-+

Escribir consultas complejas en SQL lleva a la necesidad de redactar cadenas voluminosas y multilínea, que no son evidentes para su comprensión, dificultando la reutilización de partes de la consulta y complicando el mantenimiento. Para cálculos repetitivos típicos en SQL, se pueden usar vistas y funciones, pero no admiten operaciones de importación y no ofrecen la flexibilidad inherente a los lenguajes de alto nivel (por ejemplo, no se puede pasar una función a otra función). Logica permite componer programas a partir de pequeños bloques lógicos, comprensibles y reutilizables, que pueden ser probados, relacionados con nombres específicos y agrupados en paquetes disponibles para su uso en otros proyectos.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster