Ծրագրավորման լեզվի թարգմանիչ Vala 0.56.0-ի թողարկում

Թողարկվել է Vala ծրագրավորման լեզվի թարգմանիչ 0.56.0 նոր տարբերակը։ Vala-ն օբյեկտի վրա հիմնված ծրագրավորման լեզու է, որն ապահովում է C#-ի կամ Java-ի նման շարահյուսություն: Vala կոդը թարգմանվում է C ծրագրի, որն իր հերթին կոմպիլացվում է ստանդարտ C կոմպիլյատորի կողմից երկուական ֆայլի մեջ և գործարկվում թիրախային հարթակի օբյեկտի կոդում կազմված հավելվածի արագությամբ։ Հնարավոր է ծրագրեր գործարկել սցենարի ռեժիմում։ Լեզուն մշակվել է GNOME նախագծի հովանու ներքո: Gobject (Glib Object System) օգտագործվում է որպես օբյեկտի մոդել։ Կազմողի կոդը տարածվում է LGPLv2.1 լիցենզիայի ներքո:

Լեզուն ունի ներդաշնակություն, լամբդա ֆունկցիաներ, միջերեսներ, պատվիրակներ և փակումներ, ազդանշաններ և սլոտներ, բացառություններ, հատկություններ, ոչ զրոյական տիպեր, տեղական փոփոխականների տիպի եզրակացություն (var): Հիշողության կառավարումը հիմնված է տեղեկանքների հաշվարկի վրա: Լեզուն ունի ընդհանուր ծրագրավորման գրադարան՝ libgee, որն ապահովում է անհատական ​​տվյալների տեսակների համար հավաքածուներ ստեղծելու հնարավորություն: Աջակցվում է հավաքագրման տարրերի թվարկումը, օգտագործելով foreach օպերատորը: Գրաֆիկական ծրագրերի ծրագրավորումն իրականացվում է GTK գրաֆիկական գրադարանի միջոցով:

Փաթեթը գալիս է C գրադարանների հետ մեծ թվով կապերով։ Vala թարգմանիչը աջակցում է Genie լեզվին, որն ապահովում է նմանատիպ հնարավորություններ, բայց Python ծրագրավորման լեզվից ոգեշնչված շարահյուսությամբ։ Vala լեզուն օգտագործվում է այնպիսի ծրագրեր գրելու համար, ինչպիսիք են Geary փոստային հաճախորդը, Budgie գրաֆիկական կեղևը, Shotwell լուսանկարների և տեսանյութերի կազմակերպման ծրագիրը և այլն։ Լեզուն ակտիվորեն օգտագործվում է Elementary OS բաշխման մշակման մեջ։

Հիմնական նորամուծությունները.

  • Ավելացվել է ասինխրոն main() ֆունկցիայի աջակցությունը։
  • Ավելացված է աջակցություն ներդրված ֆունկցիաների համար;
  • Կոմպիլյացիայի ընթացքում նախազգուշացումների և սխալների ելքային ձևաչափը փոխվել է։
  • Տրամադրվում է դինամիկ կերպով ազդանշաններ կանչելու հնարավորություն։
  • Ավելացվել է մասնակի դասերի աջակցություն՝ դասեր, որոնց պարունակությունը գտնվում է մի քանի սկզբնաղբյուր ֆայլերում։
  • Ավելացվել է կապումների համար զանգվածի երկարության տեսակները նշելու հնարավորությունը։ Նախկինում թույլատրվում էր միայն 32-բիթանոց ամբողջ թվերի տեսակը։
  • Ավելացվել է foreach օպերատորի աջակցություն Glib.Sequence և Glib.Array տեսակների համար։
  • Ավելացվել են նոր կապեր՝ libsoup, linux-media;
  • Տեղափոխման գործընթացի ընթացքում gnome-desktop գրադարանը բաժանվեց gnome-desktop-4, gnome-rr-4 և gnome-bg-4 գրադարանների։
  • GNOME ծրագրավորման ուղեցույցները ընդլայնվել են՝ ներառելով Vala-ի օրինակներ։
  • Markdown-ում ավելացվել են թողարկման նշումներ։
  • Թարմացված կապեր՝
    • gtk4 մինչև 4.6.0+06ec4ec1 տարբերակը;
    • gstreamer-ը մինչև 1.21.0+ տարբերակը՝ git master;
    • gio-2.0-ից մինչև 2.72 տարբերակ;
    • glib-2.0-ից մինչև 2.72 տարբերակ;
    • gobject-2.0-ը 2.72 տարբերակից առաջ;
    • webkit2gtk-*.0 մինչև 2.35.1 տարբերակը։

Source: opennet.ru

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster