Google publikon gjuhën e programimit logjik Logica

Google ka prezantuar një gjuhë të re programimi të logjikës deklarative, Logica, e krijuar për manipulimin e të dhënave dhe përkthimin e programeve në SQL. Gjuha e re u drejtohet atyre që duan të përdorin sintaksën e programimit logjik kur shkruajnë pyetjet e bazës së të dhënave. Aktualisht, kodi SQL që rezulton mund të ekzekutohet në ruajtjen e Google BigQuery ose në DBMS PostgreSQL dhe SQLite, mbështetja për të cilat është ende eksperimentale. Në të ardhmen është planifikuar të zgjerohet numri i dialekteve SQL të mbështetura. Kodi i projektit është shkruar në Python dhe publikohet nën licencën Apache 2.0.

Logica vazhdon zhvillimin e një gjuhe tjetër të përpunimit të të dhënave të zhvilluar nga Google, Yedalog, dhe ofron një nivel abstraksioni që nuk disponohet në SQL standarde. Pyetjet në Logica janë programuar në formën e një grupi deklaratash logjike. Mbështet modulet, importet dhe aftësinë për të përdorur Logica nga guaska interaktive Jupyter Notebook. Për shembull, për të gjeneruar një përmbledhje të njerëzve të përmendur më shpesh në lajmet për vitin 2020, mund të përdorni programin e mëposhtëm Logica për të hyrë në bazën e të dhënave GDELT: @OrderBy(Përmendje, "përmend desc"); @Limit(Përmendje, 10); Përmend (person:, përmend? += 1) të dallueshme :- gdelt-bq.gdeltv2.gkg(persona:, datë:), Substr(ToString(datë), 0, 4) == "2020", the_persons == Ndarje (personat, ";"), personi në_personat; $ logica përmend.l drejtuar Përmend +—————-+—————-+ | person | përmendet_numërimi | +—————-+—————-+ | Donald Trump | 3077130 | | los anxhelos | 1078412 | | joe biden | 1054827 | | George Floyd | 872919 | | boris Johnson | 674786 | | Barack Obama | 438181 | | vlladimir putin | 410587 | | bernie sanders | 387383 | | andrew cuomo | 345462 | | las vegas | 325487 | +—————-+—————-+

Shkrimi i pyetjeve komplekse në SQL çon në nevojën për të shkruar zinxhirë të rëndë me shumë rreshta që nuk janë të qartë për t'u kuptuar, ndërhyjnë në ripërdorimin e pjesëve të pyetjes dhe ndërlikojnë mirëmbajtjen. Për llogaritjet tipike të përsëritura, SQL mund të përdorë pamje dhe funksione, por ato nuk mbështesin operacionet e importit dhe nuk ofrojnë fleksibilitetin e gjuhëve të nivelit të lartë (për shembull, nuk mund t'i kaloni një funksion një funksioni). Logica ju lejon të kompozoni programe nga blloqe logjike të vogla, të kuptueshme dhe të ripërdorshme që mund të testohen, të lidhen me emra specifikë dhe të grupohen në paketa që mund të përdoren si pjesë e projekteve të tjera.

Burimi: opennet.ru

Shto një koment