Google publiseer logiese programmeertaal Logica

Google het 'n nuwe verklarende logika-programmeertaal, Logica, bekendgestel, wat ontwerp is vir datamanipulasie en die vertaling van programme in SQL. Die nuwe taal is gemik op diegene wat logiese programmeringssintaksis wil gebruik wanneer databasisnavrae geskryf word. Tans kan die resulterende SQL-kode in Google BigQuery-berging of in PostgreSQL en SQLite DBMS'e uitgevoer word, waarvoor ondersteuning steeds eksperimenteel is. In die toekoms word beplan om die aantal ondersteunde SQL-dialekte uit te brei. Die projekkode is in Python geskryf en onder die Apache 2.0-lisensie gepubliseer.

Logica gaan voort met die ontwikkeling van 'n ander Google-ontwikkelde dataverwerkingstaal, Yedalog, en bied 'n vlak van abstraksie wat nie in standaard SQL beskikbaar is nie. Navrae in Logica word geprogrammeer in die vorm van 'n stel logiese stellings. Ondersteun modules, invoere en die vermoë om Logica vanaf die interaktiewe Jupyter Notebook-dop te gebruik. Byvoorbeeld, om 'n opsomming te genereer van die mense wat die meeste in die nuus vir 2020 genoem word, kan jy die volgende Logica-program gebruik om toegang tot die GDLT-databasis te kry: @OrderBy(Mentions, "mentions desc"); @Limit(Mensies, 10); Vermeldings(persoon:, noem? += 1) duidelik :- gdelt-bq.gdeltv2.gkg(persone:, datum:), Substr(ToString(datum), 0, 4) == “2020”, die_persone == Verdeel (persone, ";"), persoon in die_persone; $ logica mentions.l run Mentions +—————-+—————-+ | persoon | noem_telling | +—————-+—————-+ | Donald Trump | 3077130 | | los angeles | 1078412 | | joe biden | 1054827 | | george floyd | 872919 | | boris johnson | 674786 | | Barack Obama | 438181 | | Vladimir Poetin | 410587 | | bernie sanders | 387383 | | andrew cuomo | 345462 | | las vegas | 325487 | +—————-+—————-+

Die skryf van komplekse navrae in SQL lei tot die behoefte om omslagtige multi-lyn kettings te skryf wat nie voor die hand liggend is om te verstaan ​​nie, inmeng met die hergebruik van dele van die navraag, en bemoeilik instandhouding. Vir tipiese herhalende berekeninge kan SQL aansigte en funksies gebruik, maar hulle ondersteun nie invoerbewerkings nie en bied nie die buigsaamheid van hoëvlaktale nie (jy kan byvoorbeeld nie 'n funksie na 'n funksie oordra nie). Logica laat jou toe om programme saam te stel uit klein, verstaanbare en herbruikbare logiese blokkies wat getoets kan word, met spesifieke name geassosieer kan word en in pakkette gegroepeer kan word wat as deel van ander projekte gebruik kan word.

Bron: opennet.ru

Voeg 'n opmerking