Google tippubblika l-lingwa tal-programmazzjoni loġika Logica

Google introduċiet lingwa ta' programmar loġika dikjarattiva ġdida, Logica, iddisinjata għall-manipulazzjoni tad-dejta u t-traduzzjoni ta' programmi f'SQL. Il-lingwa l-ġdida hija mmirata għal dawk li jixtiequ jużaw is-sintassi tal-ipprogrammar loġiku meta jiktbu mistoqsijiet tad-database. Bħalissa, il-kodiċi SQL li jirriżulta jista 'jiġi eżegwit fil-ħażna ta' Google BigQuery jew f'DBMSs PostgreSQL u SQLite, li l-appoġġ għalihom għadu sperimentali. Fil-futur huwa ppjanat li jespandi n-numru ta 'djaletti SQL appoġġjati. Il-kodiċi tal-proġett huwa miktub f'Python u ppubblikat taħt il-liċenzja Apache 2.0.

Logica tkompli l-iżvilupp ta' lingwa oħra għall-ipproċessar tad-dejta żviluppata minn Google, Yedalog, u tipprovdi livell ta' astrazzjoni mhux disponibbli fl-SQL standard. Mistoqsijiet f'Logica huma pprogrammati fil-forma ta' sett ta' dikjarazzjonijiet loġiċi. Jappoġġja moduli, importazzjonijiet, u l-abbiltà li tuża Logica mill-qoxra interattiva Jupyter Notebook. Pereżempju, biex tiġġenera sommarju tan-nies li jissemmew l-aktar ta’ spiss fl-aħbarijiet għall-2020, tista’ tuża l-programm Logica li ġej biex taċċessa d-database GDELT: @OrderBy(Mentions, “jsemmi desc”); @Limit(Isemmi, 10); Issemmi(persuna:, issemmi? += 1) distint :- gdelt-bq.gdeltv2.gkg(persuni:, data:), Substr(ToString(data), 0, 4) == “2020”, the_persons == Split (persuni, ";"), persuna fil-_persuni; $ logica ssemmi.l run Isemmi +—————-+—————-+ | persuna | isemmi_għadd | +—————-+—————-+ | 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 | +—————-+—————-+

Il-kitba ta 'mistoqsijiet kumplessi fl-SQL twassal għall-ħtieġa li tikteb ktajjen ingombranti b'ħafna linji li mhumiex ovvji li jifhmu, jinterferixxu mal-użu mill-ġdid ta' partijiet tal-mistoqsija, u jikkomplikaw il-manutenzjoni. Għal kalkoli ripetittivi tipiċi, SQL jista 'juża fehmiet u funzjonijiet, iżda ma jappoġġjawx operazzjonijiet ta' importazzjoni u ma jipprovdux il-flessibbiltà ta 'lingwi ta' livell għoli (per eżempju, ma tistax tgħaddi funzjoni lil funzjoni). Logica jippermettilek tikkomponi programmi minn blokki loġiċi żgħar, li jinftiehmu u li jistgħu jerġgħu jintużaw li jistgħu jiġu ttestjati, assoċjati ma 'ismijiet speċifiċi, u miġbura f'pakketti li jistgħu jintużaw bħala parti minn proġetti oħra.

Sors: opennet.ru

Żid kumment