Выпуск транслятора языка программирования Vala 0.56.0

Π’Ρ‹ΡˆΠ»Π° новая вСрсия транслятора языка программирования Vala 0.56.0. Π―Π·Ρ‹ΠΊ Vala являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком программирования, прСдоставляСт синтаксис, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ языкам C# ΠΈΠ»ΠΈ Java. Код Π½Π° Vala транслируСтся Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° языкС C, которая, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, компилируСтся ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΌ Π‘ΠΈ-компилятором Π² Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ выполняСтся со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ прилоТСния, ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ сцСнария. Π―Π·Ρ‹ΠΊ развиваСтся ΠΏΠΎΠ΄ эгидой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GNOME. Π’ качСствС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Gobject (Glib Object System). Код компилятора распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ LGPLv2.1.

Π’ языкС имССтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° интроспСкции, лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, интСрфСйсов, Π΄Π΅Π»Π΅Π³Π°Ρ‚ΠΎΠ² ΠΈ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΉ, сигналов ΠΈ слотов, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, свойств, Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², вывСдСния Ρ‚ΠΈΠΏΠΎΠ² для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (var). Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ осущСствляСтся Π½Π° основании подсчёта ссылок. Для языка Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ программирования libgee, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ пСрСчислСниС элСмСнтов ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° foreach. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ графичСских ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ осущСствляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ графичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ GTK.

Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ поставляСтся большоС количСство Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠ² ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ Π½Π° языкС C. Вранслятором Vala осущСствляСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языка Genie, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ возмоТности, Π½ΠΎ с синтаксисом, Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΌ языком программирования Python. На языкС Vala написаны Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Geary, графичСская ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Budgie, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ- ΠΈ Π²ΠΈΠ΄Π΅ΠΎΡ„Π°ΠΉΠ»ΠΎΠ² Shotwell ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π―Π·Ρ‹ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ дистрибутива Elementary OS.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° асинхронной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main();
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;
  • Π˜Π·ΠΌΠ΅Π½Ρ‘Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ ошибок ΠΏΡ€ΠΈ компиляции;
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ динамичСского Π²Ρ‹Π·ΠΎΠ²Π° сигналов;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° частичных (partial) классов — классов содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… находится Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… исходных Ρ„Π°ΠΉΠ»Π°Ρ…;
  • Для Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ задания Ρ‚ΠΈΠΏΠΎΠ² Π΄Π»ΠΈΠ½ массивов. Π Π°Π½Π½Π΅Π΅ Π±Ρ‹Π» допустим Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 32-Ρ… разрядный цСлочислСнный Ρ‚ΠΈΠΏ;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° foreach для Ρ‚ΠΈΠΏΠΎΠ² Glib.Sequence ΠΈ Glib.Array;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ libsoup, linux-media;
  • Π’ процСссС портирования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° gnome-desktop Π±Ρ‹Π»Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° gnome-desktop-4, gnome-rr-4 ΠΈ gnome-bg-4.
  • Руководства ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ GNOME Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π½Π° Vala.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Release Notes Π½Π° языкС Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ 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.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru