# Google announces Logica, a reusable language for data queries

DevFeed: [Google announces Logica, a reusable language for data queries](<https://devfeed.tech/articles/google-announces-logica-organizing-your-data-queries-making-them-universally-reusable-and-fun-29477.md>)

Original publisher: [Read original article](<http://lambda-the-ultimate.org/google-announces-logica>)

Published: 2021-04-29T14:50:27Z

Content type: article

Language: en

Sources: [Lambda the Ultimate](<https://devfeed.tech/sources/lambda-the-ultimate.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Google](<https://devfeed.tech/topics/google.md>), [data](<https://devfeed.tech/topics/data.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [fun](<https://devfeed.tech/tags/fun.md>), [google](<https://devfeed.tech/tags/google.md>), [logic](<https://devfeed.tech/tags/logic.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [programming](<https://devfeed.tech/tags/programming.md>), [sql](<https://devfeed.tech/tags/sql.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

## AI overview

The article discusses Logica, a Datalog-like language developed internally at Google for organizing data queries into small, understandable, reusable pieces of logic. It contrasts Logica's workflow with SQL, which has limited support for packages, imports, and higher-level function composition.

## Source excerpt

You can read more about it at the Google Open Source blog post, Logica: organizing your data queries, making them universally reusable and fun. They advocate for datalog-like language they developed internally at Google. The reason? Good programming is about creating small, understandable, reusable pieces of logic that can be tested, given names, and organized into packages which can later be used to construct more useful pieces of logic. SQL resists this workflow. Although you can encapsulate certain repeated computations into views and functions, the syntax and support for these can vary among implementations, the notions of packages and imports are generally nonexistent, and higher-level constructions (e.g. passing a function to a function) are impossible.