Google-ը հրապարակել է տրամաբանական ծրագրավորման լեզու, որը կոչվում է Logica

Google-ը ներկայացրել է Logica-ի նոր դեկլարատիվ տրամաբանական ծրագրավորման լեզուն, որը նախատեսված է տվյալների մանիպուլյացիայի և ծրագրերը SQL թարգմանելու համար։ Նոր լեզուն նախատեսված է նրանց համար, ովքեր ցանկանում են օգտագործել տրամաբանական ծրագրավորման սինտաքս՝ տվյալների բազայի հարցումներ գրելիս։ Ներկայումս ստացված SQL կոդը կարող է կատարվել Google BigQuery պահեստում կամ PostgreSQL և SQLite տվյալների բազաների համակարգում, որոնց աջակցությունը դեռևս փորձարարական փուլում է։ Ապագայում նախատեսվում է ընդլայնել աջակցվող SQL բարբառների քանակը։ Նախագծի կոդը գրված է Python լեզվով և հրապարակված է Apache 2.0 լիցենզիայով։

Logica-ն հիմնված է Google-ի մյուս տվյալների մշակման լեզվի՝ Yedalog-ի վրա և ապահովում է աբստրակցիայի այնպիսի մակարդակ, որը հասանելի չէ բնիկ SQL-ում։ Logica-ում հարցումները ծրագրավորվում են տրամաբանական հայտարարությունների հավաքածուի տեսքով։ Աջակցություն է տրամադրվում մոդուլների, ներմուծումների և Jupyter Notebook ինտերակտիվ shell-ից Logica-ն օգտագործելու հնարավորության համար։ Օրինակ, 2020 թվականին լուրերում ամենահաճախ հիշատակված անձանց ամփոփում կազմելու համար կարող եք օգտագործել հետևյալ Logica ծրագիրը՝ GDELT տվյալների բազային մուտք գործելու համար. @OrderBy(Mentions, "mentions desc"); @Limit(հիշատակումներ, 10); Հիշատակումներ(անձ:, հիշատակումներ՞ += 1) տարբեր :- gdelt-bq.gdeltv2.gkg(անձինք:, ամսաթիվ:), Substr(ToString(ամսաթիվ), 0, 4) == “2020”, the_persons == Բաժին(անձինք, “;”), անձը the_persons-ում; $ logica mentions.l-ը գործարկում է Mentions +—————-+—————-+ | անձ | հիշատակումների_քանակ | +—————-+—————-+ | Դոնալդ Թրամփ | 3077130 | | Լոս Անջելես | 1078412 | | Ջո Բայդեն | 1054827 | | Ջորջ Ֆլոյդ | 872919 | | Բորիս Ջոնսոն | 674786 | | Բարաք Օբամա | 438181 | | Վլադիմիր Պուտին | 410587 | | Բերնի Սանդերս | 387383 | | Էնդրյու Կուոմո | 345462 | | Լաս Վեգաս | 325487 | +—————-+—————-+

Բարդ SQL հարցումներ գրելը պահանջում է գրել բարդ բազմատող շղթաներ, որոնք ակնհայտ չեն հասկանալու համար, խանգարում են հարցման մասերի վերօգտագործմանը և դժվարացնում են սպասարկումը։ SQL-ում տարածված, կրկնվող հաշվարկների համար կարող եք օգտագործել views և functions, սակայն դրանք չեն աջակցում ներմուծման գործողություններին և չեն ապահովում բարձր մակարդակի լեզուների ճկունությունը (օրինակ՝ չեք կարող ֆունկցիա փոխանցել ֆունկցիային): Logica-ն թույլ է տալիս կազմել ծրագրեր փոքր, հասկանալի և վերաօգտագործելի տրամաբանական բլոկներից, որոնք կարող են փորձարկվել, կապվել որոշակի անունների հետ և խմբավորվել փաթեթների մեջ, որոնք կարող են օգտագործվել այլ նախագծերում։

Source: opennet.ru