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 для создания классов и интерфейсов.

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

НАУЧИ КОМПЬЮТЕР ВАРИТЬ КОФЕ

управление электрическими цепями с помощью компьютера
лучший подарок для техногика; только открытые программы
http://www.unicontrollers.com/products/unc01x

[#]  

А в чём цимес?

* ()
[#]  

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

()
[#] Ответ на: комментарий от White_Mouse 01.04.2010 9:32:54  
mono

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

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

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

***** ()
[#] Ответ на: комментарий от mono 01.04.2010 9:35:33  
mono

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

имею в виду версию 1.0

***** ()
[#]  

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

anonymous ()
[#]  
Keloraen

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

()
[#]  
ArtemZ

всех с первым апреля!

* ()
[#]  

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

anonymous ()
[#]  
boo32

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

* ()
[#]  

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

anonymous ()
[#] Ответ на: комментарий от White_Mouse 01.04.2010 9:32:54  
k0l0b0k

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

** ()
[#] Ответ на: комментарий от snizovtsev 01.04.2010 9:37:44  
k0l0b0k

>Не может и не планируется.

wrong

** ()
[#] Ответ на: комментарий от k0l0b0k 01.04.2010 12:11:00  

>Dove - новая рантаймлиб, пишется на vala

Рекурсия?

()
[#] Ответ на: комментарий от k0l0b0k 01.04.2010 12:11:00  

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

** ()
[#] Ответ на: комментарий от winlogon 01.04.2010 12:23:22  
k0l0b0k

>Рекурсия?

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

** ()
[#] Ответ на: комментарий от snizovtsev 01.04.2010 12:44:41  
k0l0b0k

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

** ()
[#] Ответ на: комментарий от White_Mouse 01.04.2010 9:32:54  

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

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

***** ()
[#] Ответ на: комментарий от AVL2 01.04.2010 12:56:50  
k0l0b0k

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

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

** ()
[#]  
krege

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

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

* ()
[#]  
hexenlord

Очень, кстати, интересный проект, рад, что он не загибается.

* ()
[#] Ответ на: комментарий от hexenlord 01.04.2010 16:17:12  

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

* ()
[#] Ответ на: комментарий от mono 01.04.2010 9:35:48  
ELF

непонятно, roadmap был на сайте, убрали

** ()
[#] Ответ на: комментарий от k0l0b0k 01.04.2010 13:03:43  

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

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

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

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

***** ()
[#] Ответ на: комментарий от AVL2 01.04.2010 18:03:38  
k0l0b0k

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

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

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

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


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

** ()
[#] Ответ на: комментарий от k0l0b0k 01.04.2010 18:24:49  
svu

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

***** ()
[#]  
Zulcmulger

Я уверен, язык "выстрелит".

()
[#] Ответ на: комментарий от svu 01.04.2010 18:32:33  
Zulcmulger

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

()
[#] Ответ на: комментарий от svu 01.04.2010 18:32:33  
k0l0b0k

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

** ()
[#] Ответ на: комментарий от k0l0b0k 01.04.2010 18:24:49  

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

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

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

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

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

***** ()
[#] Ответ на: комментарий от AVL2 01.04.2010 19:19:17  
k0l0b0k

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

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

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

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

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

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

** ()