Google avaldas loogilise programmeerimise keele Logica

Google esitles uue loogilise programmeerimise deklareeritava keele Logica, mis on mĂ”eldud andmete manipuleerimiseks ning programmeerimisprogrammide tĂ”lgendamiseks SQL-keelde. Uus keel on suunatud neile, kes soovivad andmebaasi pĂ€ringute kirjutamisel kasutada loogilise programmeerimise sĂŒntaksit. Praegu saab genereeritud SQL-koodi kĂ€ivitada Google BigQuery salvestuses vĂ”i andmebaasides PostgreSQL ja SQLite, mille tugi on hetkel katsetamisfaasis. Tulevikus plaanitakse toetatavate SQL-dialektide arvu laiendada. Projekti kood on kirjutatud Pythonis ja avaldatud litsentsi Apache 2.0 alusel.

Logica jĂ€tkab Google'is arendatud andmetöötluskeele Yedalog arendamist ning pakub abstraktsioonitaset, mis pole saadaval tavapĂ€rases SQL-is. Logica pĂ€ringud programmeeritakse loogiliste vĂ€idete kogumina. Toetatakse mooduleid, importimisoperatsioone ja vĂ”imalust kasutada Logicat interaktiivsest Jupyter Notebooki keskkonnast. NĂ€iteks, et luua koondus isikutest, keda kĂ”ige enam mainiti uudistes 2020. aastal, saab kasutada jĂ€rgmist programmi Logica keeles GDELT andmebaasi kĂŒsimiseks: @OrderBy(Mentions, "mentions desc"); @Limit(Mentions, 10); Mentions(person:, mentions? += 1) distinct :- gdelt-bq.gdeltv2.gkg(persons:, date:), Substr(ToString(date), 0, 4) == "2020", the_persons == Split(persons, ";"), person in the_persons; $ logica mentions.l run Mentions +—————-+—————-+ | person | mentions_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 | | andrew cuomo | 345462 | | las vegas | 325487 | +—————-+—————-+

Karmide SQL-pĂ€ringute kirjutamine toob kaasa mahukate mitmerealiste ahelate koostamise, mis ei ole silmaga nĂ€htavad, takistades pĂ€ringu osade taaskasutamist ja raskendades hooldamist. TĂŒĂŒpiliste korduvate arvutuste jaoks SQL-is saab kasutada vaateid ja funktsioone, kuid need ei toeta importimise operatsioone ning ei paku paindlikkust, mis on iseloomulik kĂ”rgema taseme keeltele (nĂ€iteks ei ole vĂ”imalik funktsiooni edastada funktsiooni sisse). Logica vĂ”imaldab programme koostada vĂ€ikestest, arusaadavatest ja taaskasutatavatest loogilistest plokkidest, mida saab testida, seotud kindlate nimedega ja grupeerida pakettidesse, mis on saadaval teiste projektide kasutamiseks.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster