Թողարկվել է 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
