Google julkaisee logiikkaohjelmointikieltä Logica

Google on ottanut käyttöön uuden deklaratiivisen logiikan ohjelmointikielen, Logican, joka on suunniteltu tietojen käsittelyyn ja ohjelmien kääntämiseen SQL:ksi. Uusi kieli on suunnattu niille, jotka haluavat käyttää logiikkaohjelmoinnin syntaksia tietokantakyselyjen kirjoittamisessa. Tällä hetkellä tuloksena oleva SQL-koodi voidaan suorittaa Google BigQuery -tallennustilassa tai PostgreSQL- ja SQLite-tietokantajärjestelmissä, joiden tuki on vielä kokeellista. Tulevaisuudessa on tarkoitus laajentaa tuettujen SQL-murteiden määrää. Projektikoodi on kirjoitettu Pythonilla ja julkaistu Apache 2.0 -lisenssillä.

Logica jatkaa toisen Googlen kehittämän tietojenkäsittelykielen, Yedalogin, kehitystä ja tarjoaa abstraktiotason, joka ei ole käytettävissä tavallisessa SQL:ssä. Logican kyselyt ohjelmoidaan loogisten lauseiden joukkoon. Tukee moduuleja, tuontia ja kykyä käyttää Logicaa interaktiivisesta Jupyter Notebook -kuoresta. Voit esimerkiksi luoda yhteenvedon vuoden 2020 uutisissa useimmin mainituista henkilöistä käyttämällä seuraavaa Logica-ohjelmaa päästäksesi GDELT-tietokantaan: @OrderBy(Mentions, "mainintoja desc"); @Limit(maininnat, 10); Mainitsee(henkilö:, mainitsee? += 1) erillinen :- gdelt-bq.gdeltv2.gkg(henkilöt:, päivämäärä:), Substr(ToString(päivämäärä), 0, 4) == “2020”, the_persons == Split (henkilöt, ";"), henkilö ryhmässä_persons; $ logica mainitsee.l run Mainitsee +—————-+—————-+ | henkilö | mainintojen_määrä | +—————-+—————-+ | donald trump | 3077130 | | los angeles | 1078412 | | joe biden | 1054827 | | George floyd | 872919 | | boris johnson | 674786 | | Barack Obama | 438181 | | Vladimir putin | 410587 | | bernie sanders | 387383 | | Andrew Cuomo | 345462 | | las vegas | 325487 | +—————-+—————-+

Monimutkaisten kyselyiden kirjoittaminen SQL:llä johtaa tarpeeseen kirjoittaa hankalia monirivisiä ketjuja, jotka eivät ole ilmeisiä ymmärtää, häiritsevät kyselyn osien uudelleenkäyttöä ja vaikeuttavat ylläpitoa. Tyypillisissä toistuvissa laskelmissa SQL voi käyttää näkymiä ja toimintoja, mutta ne eivät tue tuontitoimintoja eivätkä tarjoa korkean tason kielten joustavuutta (esimerkiksi funktiota ei voi siirtää funktiolle). Logican avulla voit koota ohjelmia pienistä, ymmärrettävistä ja uudelleenkäytettävistä loogisista lohkoista, jotka voidaan testata, liittää tiettyihin nimiin ja ryhmitellä paketeiksi, joita voidaan käyttää osana muita projekteja.

Lähde: opennet.ru

Lisää kommentti