(Digitalis) | Esta semana, Google presentó nuevo lenguaje de código abierto llamado Logica. Se trata de un sucesor de Yedalog que, a su vez, derivó de Datalog. El código de Logica se compila en SQL, se ejecuta en Google BigQuery y cuenta con soporte –aún experimental- para PostgreSQL y SQLite, por lo que es especialmente útil para manejar bases de datos.
Últimamente, la compañía del motor de búsquedas está generando una gran cantidad de noticias tecnológicas. A su victoria en el juicio con Oracle o el soporte de Rust para Android, ahora se suma Logica, un lenguaje muy prometedor, pero que aún debe hacerse hueco entre la comunidad de desarrolladores.
El nuevo lenguaje facilita la vida de los programadores a la hora de enfrentarse a las bases de datos. Elimina la necesidad de tener que recurrir a declaraciones largas y confusas para realizar consultas SQL. Para ello, sustituye la sintaxis clásica basada en la lengua inglesa natural por otra inspirada por la lógica proposicional matemática.
En su comunicado, Google reconoce la importancia de SQL para los desarrolladores, pero también sus defectos: “a pesar de la adopción generalizada, SQL no es perfecto. La construcción de declaraciones a partir de largas cadenas de palabras en inglés (que a menudo se escriben con mayúscula para mantener vivo el espíritu COBOL anticuado de los años 70) puede ser muy detallado: una sola consulta que abarque cientos de líneas es algo rutinario. Sin embargo, el principal defecto de SQL radica en su muy limitado soporte para la abstracción.” Por ello, plantean el uso de Logica como una alternativa más completa y fácil de utilizar.
Logica simplifica el código SQL y agrega nuevas funcionalidades
Según el gigante tecnológico, el lenguaje por excelencia de las bases de datos no permite descomponer la lógica en pedazos más pequeños y manejables, por lo que esto obliga a escribir consultas largas, artificiales y, en muchas ocasiones, confusas.
Así lo afirman Konstantin Tretyakov y Evgeny Skvortsoy, dos de los creadores del nuevo lenguaje: “Logica extiende la sintaxis de programación de la lógica clásica, sobre todo con agregación. La buena programación va de crear piezas de lógica reutilizables, pequeñas y comprensibles que puedan probarse, recibir nombres y organizarse en paquetes que puedan utilizarse más adelante para construir piezas de lógica más útiles”, algo de lo que, según ellos, carece SQL.
Logica nace para llenar las deficiencias inherentes de SQL e incluso agrega otras funcionalidades como la capacidad de importar y el soporte para módulos. Además, permite leer, probar consultas y reutilizar un fragmento de código previamente definido sin necesidad de copiar nada. Por tanto, ahora se podrán realizar las mismas funciones que en SQL, pero con mayor rapidez y eficacia.
Mientras que SQL basa su funcionamiento en “relaciones” o conjuntos de filas, Logica opera con “predicados”. A pesar de que estos se refieren también a un conjunto de filas, lo consideran una condición lógica, ya que describe las filas de una relación. En su blog, presentan algunos ejemplos que demuestran cómo se reduce el código con el nuevo lenguaje en comparación con SQL.
En definitiva, Logica mejora la legibilidad del código, simplifica la sintaxis de las consultas, admite mecanismos de abstracción limpios y reutilizables de los que carece SQL y soporta lenguajes como Python, C ++, Java, etc. Tal y como dice Google, “aprender un nuevo idioma es una inversión”. Así que podría ser una buena oportunidad para echarle un vistazo.