Guglo eldonas logikan programlingvon Logica

Guglo lanĉis novan deklaran logikan programlingvon, Logica, dizajnitan por datummanipulado kaj tradukado de programoj en SQL. La nova lingvo celas tiujn, kiuj volas uzi logikan programan sintakson dum verkado de datumbazaj demandoj. Nuntempe, la rezulta SQL-kodo povas esti ekzekutita en Google BigQuery-stokado aŭ en PostgreSQL kaj SQLite DBMS-oj, por kiu subteno estas ankoraŭ eksperimenta. En la estonteco estas planite vastigi la nombron da subtenataj SQL-dialektoj. La projektkodo estas skribita en Python kaj publikigita sub la licenco Apache 2.0.

Logica daŭrigas la evoluon de alia Guglo-evoluinta datumpretiglingvo, Yedalog, kaj disponigas nivelon de abstraktado ne havebla en norma SQL. Demandoj en Logica estas programitaj en la formo de aro de logikaj deklaroj. Subtenas modulojn, importadojn kaj la kapablon uzi Logica de la interaga Jupyter Notebook-ŝelo. Ekzemple, por generi resumon de la homoj plej ofte menciitaj en la novaĵoj por 2020, vi povas uzi la sekvan Logica-programon por aliri la GDELT-datumbazon: @OrderBy(Mencioj, "mencioj desc"); @Limo(Mencioj, 10); Mencioj(persono:, mencioj? += 1) distingaj :- gdelt-bq.gdeltv2.gkg(personoj:, dato:), Substr(ToString(dato), 0, 4) == “2020”, la_personoj == Split (persons, ";"), person in the_persons; $ logika mencioj.l run Mencioj +—————-+—————-+ | persono | mencioj_kalkulo | +—————-+—————-+ | 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 | | la vegas | 325487 | +—————-+—————-+

Skribi kompleksajn demandojn en SQL kondukas al la bezono skribi maloportunajn plurliniajn ĉenojn, kiuj ne estas evidente kompreneblaj, malhelpas la reuzon de partoj de la demando kaj malfaciligas prizorgadon. Por tipaj ripetaj kalkuloj, SQL povas uzi vidojn kaj funkciojn, sed ili ne subtenas importajn operaciojn kaj ne provizas la flekseblecon de altnivelaj lingvoj (ekzemple, vi ne povas transdoni funkcion al funkcio). Logica permesas verki programojn el malgrandaj, kompreneblaj kaj reuzeblaj logikaj blokoj, kiuj povas esti testitaj, asociitaj kun specifaj nomoj kaj grupigitaj en pakaĵojn, kiuj povas esti uzataj kiel parto de aliaj projektoj.

fonto: opennet.ru

Aldoni komenton