Google publica lenguaje de programación lógica Logica

Google ha introducido un nuevo lenguaje de programación de lógica declarativa, Logica, diseñado para la manipulación de datos y la traducción de programas a SQL. El nuevo lenguaje está dirigido a aquellos que desean utilizar la sintaxis de programación lógica al escribir consultas de bases de datos. Actualmente, el código SQL resultante se puede ejecutar en el almacenamiento de Google BigQuery o en DBMS PostgreSQL y SQLite, cuyo soporte aún es experimental. En el futuro está previsto ampliar el número de dialectos SQL soportados. El código del proyecto está escrito en Python y publicado bajo la licencia Apache 2.0.

Logica continúa el desarrollo de otro lenguaje de procesamiento de datos desarrollado por Google, Yedalog, y proporciona un nivel de abstracción que no está disponible en SQL estándar. Las consultas en Logica se programan en forma de un conjunto de declaraciones lógicas. Admite módulos, importaciones y la capacidad de usar Logica desde el shell interactivo de Jupyter Notebook. Por ejemplo, para generar un resumen de las personas mencionadas con más frecuencia en las noticias de 2020, puedes utilizar el siguiente programa de Logica para acceder a la base de datos GDELT: @OrderBy(Mentions, “mentions desc”); @Limit(Menciones, 10); Menciones(persona:, ¿menciones? += 1) distinto :- gdelt-bq.gdeltv2.gkg(personas:, fecha:), Substr(ToString(fecha), 0, 4) == “2020”, the_persons == Split (personas, ";"), persona en the_persons; $ logica menciona.l ejecuto Menciones +—————--+—————-+ | persona | menciones_count | +—————-+—————-+ | donald triunfo | 3077130 | | los ángeles | 1078412 | | joe biden | 1054827 | | george floyd | 872919 | | boris johnson | 674786 | | Barack Obama | 438181 | | Vladimir Putin | 410587 | | lijadoras de bernie | 387383 | | andres cuomo | 345462 | | las vegas | 325487 | +—————-+—————-+

Escribir consultas complejas en SQL conlleva la necesidad de escribir engorrosas cadenas de varias líneas que no son fáciles de entender, interfieren con la reutilización de partes de la consulta y complican el mantenimiento. Para cálculos repetitivos típicos, SQL puede usar vistas y funciones, pero no admiten operaciones de importación y no brindan la flexibilidad de los lenguajes de alto nivel (por ejemplo, no se puede pasar una función a otra). Logica le permite componer programas a partir de bloques lógicos pequeños, comprensibles y reutilizables que pueden probarse, asociarse con nombres específicos y agruparse en paquetes que pueden usarse como parte de otros proyectos.

Fuente: opennet.ru

Añadir un comentario