LINUX.ORG.RU

Релиз Vala 0.8

 , , ,


0

0

Вышла новая версия Vala, компилятора для системы GObject. Изменения по сравнению с версией 0.7.10:

  • Указание аргументов типизации при вызове методов типизируемого (generic) класса
  • Поддержка оператора «in» для массивов.
  • Добавлена экспериментальная поддержка литералов регулярных выражений (описание)
  • Добавлена экспериментальная поддержка сцепления выражений сравнения. Например, теперь можно писать if (1 < a < 2) {...} вместо if (1 < a && a < 2) {...}
  • Добавлена поддержка va_list.
  • Добавлены новые биндинги: clutter-gtk-0.10, gdl-1.0, gstreamer-app-0.10, gstreamer-cdda-0.10, gudev-1.0, libgda-report-4.0, libgvc (graphviz), purple.
  • Исправлено множество ошибок.

Vala - это новый язык программирования, задача которого предоставить возможности современных языков программирования для разработчиков GNOME без наложения дополнительных требований к среде выполнения и без использования различных ABI по отношению к приложениям и библиотекам, написанным на C.

Синтаксис Vala схож с C#, но изменён для лучшей интеграции с GObject. Компилятор valac транслирует код на Vala в код и заголовки на C, который использует GObject для создания классов и интерфейсов.

>>> Подробности

★★★★★

Проверено: maxcom ()
Ответ на: комментарий от White_Mouse

>Добавлена экспериментальная поддержка сцепления выражений сравнения. Например, теперь можно писать if (1 < a < 2) {...} вместо if (1 < a && a < 2) {...}

лучше бы было поменьше лишнего синтаксического сахара, ИМХО.

И когда же релиз?

mono ★★★★★
()

Хватит уже петросянить.

anonymous
()

оставили бы нормальную новость до завтра, а сегодня постили только сплошное трололо

Keloraen
()

Хорошая шутка :)

anonymous
()

с таким языком gtk захватит планету.

boo32
()

Что только гномеры не придумают , лишь бы на нормальном С++ не писать.

anonymous
()
Ответ на: комментарий от White_Mouse

да, в ближайшем будущем, думаю.
курить в сторону опции --profile у valac, значения: dove и posix. Dove - новая рантаймлиб, пишется на vala. 0.7.8 не знает пока про dove, posix генерит пустой код на C.
но движение есть, что радует.

k0l0b0k ★★
()
Ответ на: комментарий от k0l0b0k

Что такое Dova? Профайлер? Пытаюсь найти какую-нибудь информацию по нему, но пока находятся только исходники и мэйл листы Vala :(

snizovtsev ★★★★★
() автор топика
Ответ на: комментарий от winlogon

>Рекурсия?

JCL на java написана, и до сих пор стек не сорван)

k0l0b0k ★★
()
Ответ на: комментарий от snizovtsev

dova живет здесь http://gitorious.com/dova/vala
проект в зачаточной стадии (даже README пустой), но его профиль уже светится в транке исходников valac

k0l0b0k ★★
()
Ответ на: комментарий от White_Mouse

>Интересно а Валя как отдельный язык без GObject может/будет существовать?

можно, все связи с gobject задаются явно путем наследования объектов от gobject, но смысл? не будет гарбаж-коллектора и еще кучи вещей, которые построены на использсовании gobject. Практически, это будет С с небольшими улучшениями в синтаксисе и вагоном неявных косяков в коде.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

>не будет гарбаж-коллектора

его там и так нету. из GObject идут исключения, сигналы, свойства и подборка классов общего назначения. Это такие дела что можно и самому сделать, при большом желании велосипедить.

k0l0b0k ★★
()

В репе нашёл на vala только какой-то твиттер-клиент. Есть ещё что?

Понимаю, что должно быть, не первый год существует.

krege
()
Ответ на: комментарий от hexenlord

Дальнейшего ему развития! :) Если GNOME на Vala начнут писать, то пожалуй в каждом релизе будет больше нового, чем сейчас.

Shalakhin
()
Ответ на: комментарий от k0l0b0k

>его там и так нету.

есть. он считает ссылки на объекты и автоматом их удаляет.

из GObject идут исключения, сигналы, свойства и подборка классов общего назначения. Это такие дела что можно и самому сделать, при большом желании велосипедить.

и нафига, если это 99% gobject и есть. Я об том говорю, что вилосипедить придется, а зачем, непонятно.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

>есть. он считает ссылки на объекты и автоматом их удаляет.

Vala's memory management is based on automatic reference counting instead of garbage collection.

вала не гарантирует сбор зацикленного на себе мусора.

и нафига, если это 99% gobject и есть. Я об том говорю, что вилосипедить придется, а зачем, непонятно.


собственно я согласен. только вот можно было не прибивать GObject гвоздями намертво.

k0l0b0k ★★
()
Ответ на: комментарий от k0l0b0k

> только вот можно было не прибивать GObject гвоздями намертво.
А ЗАЧЕМ?? Это не академический язык. Он создавался именно для облегчения программирования над гобжект.

svu ★★★★★
()
Ответ на: комментарий от svu

Язык именно тем и силен, что у него есть конкретная цель. А еще один язык программирования общего назначения не нужен.

Zulcmulger
()
Ответ на: комментарий от svu

И тем не менее в транке идут работы по добавлению гибкости в плане базовой библиотеки. Скажем так - если есть возможность сделать более эластичный подход к базовой библиотеки - почему этого не сделать? Не все фанаты GObject, а язык, как таковой от этого только выиграет.

k0l0b0k ★★
()
Ответ на: комментарий от k0l0b0k

>вала не гарантирует сбор зацикленного на себе мусора.

это факт. Но это имхо хороший баланс между удобством и оверхедом.

собственно я согласен. только вот можно было не прибивать GObject гвоздями намертво.

повторяю, его никто там и не прибивал. По крайней мере пару версий назад. В программе ручками каждый свой класс наследуешь от gobject.

Не унаследовал и нет никакой привязки.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

это факт. Но это имхо хороший баланс между удобством и оверхедом.

никто и не говорит что это плохо) просто называть его GC - громковато.

повторяю, его никто там и не прибивал. По крайней мере пару версий назад. В программе ручками каждый свой класс наследуешь от gobject. Не унаследовал и нет никакой привязки.

ну загляни как-нибудь ради интереса в код сгенеренный valac -C по исходнику

public class HelloVala
{
        public static int main()
        {
                HelloVala h = new HelloVala();
                return 0;
        }
}

а потом скажешь - прибито или нет :)

k0l0b0k ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.