A Google kiadja a Logica logikai programozási nyelvet

A Google bevezetett egy új deklaratív logikai programozási nyelvet, a Logicát, amelyet az adatok manipulálására és a programok SQL-be ​​történő fordítására terveztek. Az új nyelv azoknak szól, akik logikai programozási szintaxist szeretnének használni adatbázis-lekérdezések írásakor. Jelenleg az eredményül kapott SQL kód a Google BigQuery tárhelyen vagy PostgreSQL és SQLite DBMS-ekben futtatható, amelyek támogatása még kísérleti jellegű. A jövőben a támogatott SQL dialektusok számának bővítését tervezik. A projekt kódja Pythonban íródott, és az Apache 2.0 licenc alatt van közzétéve.

A Logica folytatja a Google által fejlesztett másik adatfeldolgozó nyelv, a Yedalog fejlesztését, és olyan szintű absztrakciót biztosít, amely a szabványos SQL-ben nem elérhető. A Logica lekérdezései logikai utasítások halmazaként vannak programozva. Támogatja a modulokat, az importálást és a Logica használatának lehetőségét az interaktív Jupyter Notebook shellből. Például a hírekben leggyakrabban emlegetett személyek 2020-ra vonatkozó összefoglalójának elkészítéséhez a következő Logica programmal érheti el a GDELT adatbázist: @OrderBy(Mentions, "mentions desc"); @Limit(Mentions, 10); Megemlítések (személy:, említések? += 1) megkülönböztetés (személyek, ";"), személy a_személyekben; $ logica említi.l futtatás Megemlítések +—————-+—————-+ | személy | említések_száma | +—————-+—————-+ | donald trump | 2 | | los angeles | 0 | | joe biden | 4 | | George floyd | 2020 | | boris johnson | 3077130 | | Barack Obama | 1078412 | | Vlagyimir Putyin | 1054827 | | bernie sanders | 872919 | | Andrew Cuomo | 674786 | | las vegas | 438181 | +—————-+—————-+

Az összetett lekérdezések SQL-ben történő írása nehézkes többsoros láncok írásához vezet, amelyek megértése nem nyilvánvaló, zavarja a lekérdezés részeinek újrafelhasználását, és bonyolítja a karbantartást. A tipikus ismétlődő számításokhoz az SQL használhat nézeteket és függvényeket, de nem támogatják az importálási műveleteket, és nem biztosítják a magas szintű nyelvek rugalmasságát (például nem adható át függvény egy függvénynek). A Logica lehetővé teszi, hogy kisméretű, érthető és újrafelhasználható logikai blokkokból programokat állítsunk össze, amelyek tesztelhetők, meghatározott nevekkel társíthatók, és csomagokba csoportosíthatók, amelyek más projektek részeként használhatók.

Forrás: opennet.ru

Hozzászólás