Google pubblica il linguaggio di programmazione logica Logica

Google ha introdotto un nuovo linguaggio di programmazione logica dichiarativa, Logica, progettato per la manipolazione dei dati e la traduzione dei programmi in SQL. Il nuovo linguaggio è rivolto a coloro che desiderano utilizzare la sintassi della programmazione logica durante la scrittura di query sul database. Attualmente, il codice SQL risultante può essere eseguito nello spazio di archiviazione di Google BigQuery o nei DBMS PostgreSQL e SQLite, il cui supporto è ancora sperimentale. In futuro è previsto l'ampliamento del numero dei dialetti SQL supportati. Il codice del progetto è scritto in Python e pubblicato sotto la licenza Apache 2.0.

Logica continua lo sviluppo di un altro linguaggio di elaborazione dati sviluppato da Google, Yedalog, e fornisce un livello di astrazione non disponibile nell'SQL standard. Le query in Logica sono programmate sotto forma di un insieme di istruzioni logiche. Supporta moduli, importazioni e la possibilità di utilizzare Logica dalla shell interattiva Jupyter Notebook. Ad esempio, per generare un riepilogo delle persone citate più frequentemente nelle notizie del 2020, è possibile utilizzare il seguente programma Logica per accedere al database GDELT: @OrderBy(Mentions, “mentions desc”); @Limite(Menzioni, 10); Menzioni(persona:, menzioni? += 1) distinte :- gdelt-bq.gdeltv2.gkg(persone:, data:), Substr(ToString(data), 0, 4) == “2020”, the_persons == Dividi (persone, ";"), persona nelle_persone; $ logica menziona.l run Menzioni +—————-+—————-+ | persona | menzioni_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| | andrea cuomo | 345462| | Las Vegas | 325487| +—————-+—————-+

Scrivere query complesse in SQL porta alla necessità di scrivere catene multilinea ingombranti che non sono ovvie da comprendere, interferiscono con il riutilizzo di parti della query e complicano la manutenzione. Per i calcoli ripetitivi tipici, SQL può utilizzare viste e funzioni, ma queste non supportano le operazioni di importazione e non forniscono la flessibilità dei linguaggi di alto livello (ad esempio, non è possibile passare una funzione a una funzione). Logica ti consente di comporre programmi partendo da blocchi logici piccoli, comprensibili e riutilizzabili che possono essere testati, associati a nomi specifici e raggruppati in pacchetti che possono essere utilizzati come parte di altri progetti.

Fonte: opennet.ru

Aggiungi un commento