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

Π’Ρ‹ΡˆΠ»Π° новая вСрсия компилятора для языка программирования Vala 0.50.0. Код Π½Π° Vala транслируСтся Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° языкС C, которая, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, компилируСтся Π² Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ выполняСтся со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ прилоТСния, ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Vala являСтся самым ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ языком Π² GNOME послС C (C, Vala, Python, C++), Π° Ρ‚Π°ΠΊΠΆΠ΅ основным языком Π² Elementary OS.

Π―Π·Ρ‹ΠΊ Vala ΠΏΠΎ своСму синтаксису ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° C# ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ интроспСкция, Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ², сборка мусора Π·Π° счСт автоматичСской подстановки Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² дСструкторов Π½Π° этапС компиляции (ARC ΠΊΠ°ΠΊ Π² Swift), лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, концСпция сигналов ΠΈ слотов, подобная ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π² Qt, Π½ΠΎ рСализованная Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ языка, строковыС Ρ‚ΠΈΠΏΡ‹, ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, срСзы массивов, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ пСрСчислСния элСмСнтов ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ foreach, Π΄Π΅Π»Π΅Π³Π°Ρ‚Ρ‹, замыкания, интСрфСйсы, свойства ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Π‘Π°ΠΌΡ‹Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Π΅ измСнСния:

  • НовоС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово with для синтаксиса каскадных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π’Π½ΡƒΡ‚Ρ€ΠΈ with поддСрТиваСтся созданиС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

    with (var x = y ())

    Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

    with (y ())

    ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ сигналов, строгий non null Ρ€Π΅ΠΆΠΈΠΌ ΠΈ Π²Ρ‹Π·ΠΎΠ² Π½ΠΎΠ²Ρ‹Ρ… «with» рСкурсивно.

  • Новый синтаксис срСзов — Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ пустота ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π·Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ»ΠΈ послСдний элСмСнт ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

    array[begin:] => array[begin:array.length-1] array[:end] => array[0:end] array[:] => array[0:array.length-1]

  • Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΎ пСрСписываниС C-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Vala ΠΏΠΎ частям (ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ мноТСство Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Vala ΠΊΠΎΠ΄Π° ΠΈΠ· C ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚).
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ сигналы с Ρ‚Π΅Π»ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ наслСдованиС пространства ΠΈΠΌΡ‘Π½ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°.

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