LINUX.ORG.RU

Vala 0.11.0

 


0

2

Вышла версия 0.11.0 перспективного языка программирования Vala.

В версии 0.11.0:

  • использование байтового типа для индексирования строк;
  • поддержка параллельной компиляции (при помощи скрипта contrib/parvala);
  • улучшение производительности компилятора;
  • переработан кодогенератор.

В предыдущих версиях, не освещенных на LOR (по 0.9.2 включительно):

  • упразднена конструкция string.len() в пользу string.length;
  • упразднены привязки D-Bus Glib в пользу GDBus;
  • введена поддержка параллельной инсталляции нескольких версий Vala;
  • добавлена команда «vala» для одновременной компиляции и запуска программы;
  • обновлены/добавлены привязки: glib-2.26, gdk-pixbuf-3.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gedit-2.20, tokyocabinet;
  • появилась интересная возможность использовать монады в Vala;
  • огромная работа проделана над профилем Dova;
  • как всегда, большое количество исправлений ошибок, рефакторинга и обновлений привязок.

Vala — сравнительно молодой язык программирования. Свой синтаксис Vala в основном заимствует у C#, но имеется Python-подобный синтаксический вариант Vala, называемый Genie. Vala позволяет разработчикам использовать современные языковые возможности, такие как свойства, сигналы, foreach, лямбда-выражения, выведение типов, автоматическое управление памятью, обработка исключений; в то же время, Vala способствует написанию производительных и эффективных программ, поскольку не требует для запуска прослойки в виде виртуальной машины, а весь Vala-код транслируется в код на языке C. Изначально Vala была предназначена для программирования в парадигме GObject, но сперва появился профиль POSIX (позволяющий писать программы, не зависящие от GLib), а теперь и профиль Dova, которому уделяется особое внимание. Dova — легковесная стандартная библиотека, написанная целиком на Vala и призванная во многих смыслах заменить GLib.

Следует также отметить, что, начиная с версии 2.32, среда разработки Anjuta IDE имеет полную поддержку Vala, включая автодополнение кода.

Сообщение о выпуске

Блог Vala

>>> Сайт проекта

★★

Проверено: maxcom ()

Предвосхищая претензии к «минорному» характеру новости, спешу заметить, что:
1) ни одного «мажорного» релиза Vala до сих пор не состоялось, более того, версия 1.0 даже не запланирована в роадмапе. В то же время, Vala на сегодня - зрелая платформа, при помощи которой уже разработана куча софта;
2) новость носит кумулятивный характер, так как была сделана попытка вкратце описать то, что происходило с Vala за прошедшие несколько месяцев.

Также обращаю внимание корректоров на то, что в данном случае словосочетание «такие как» пишется без разделяющей запятой. Уже были прецеденты, когда из-за безграмотных действий корректоров приходилось краснеть авторам новостей. Спасибо.

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

Афигеть, а я думал это автоматический перводчик... Там всегда такой корявый текст попадался.

anonymous ()

>использование байтового типа для индексирования строк;

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

Deleted ()

Гномеры нашли в C# фундаментальный недостаток

anonymous ()

Весьма любопытный язык.

Следует также отметить, что, начиная с версии 2.32, среда разработки Anjuta IDE имеет полную поддержку Vala, включая автодополнение кода.


А кроме нее еще где-нибудь он поддерживается?

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

И да, что-то кроме GTK, можно юзать или оно жестко привязано к гному?

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

>Vala на сегодня - зрелая платформа
да да

упразднена конструкция string.len() в пользу string.length;

какие еще сюрпризы ждут гнумеров

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

> разработана куча софта

где посмотреть списочек?

dt1 ★★ ()

> Vala позволяет разработчикам использовать современные языковые возможности, такие как [...snip...] foreach, [...snip...] обработка исключений

Уже тридцать лет как современные...

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


Это не гарантирует низкую эффективность.

а весь Vala-код транслируется в код на языке C.


Это не гарантирует высокую эффективность.

Не нужно эти два свойства (не требует ВМ и компилируется в C) выдавать за причину высокой производительности.

Изначально Vala была предназначена для программирования в парадигме GObject


Не напомните, чем прошлый срач на тему «парадигмы GObject» закончился. :)

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

>а весь Vala-код транслируется в код на языке C

А потом эти люди говорят нам про moc…

Deleted ()
Ответ на: комментарий от Kuka

> ни одного «мажорного» релиза Vala до сих пор не состоялось,

более того, версия 1.0


Вот блин ;(
Я все ждал что к выходу гнома3 они зарелизят валу1.0 ( после 0.9 то )
А тут такие выкрутасы :(

Те по сути они в любой момент могут просто взять и сломать весь АПИ :(

Фигово :(

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

А кроме нее еще где-нибудь он поддерживается?

У меня в emacs'е подсветка, да и вообще: http://live.gnome.org/Vala/Tools

И да, без гнома, без гтк, даже вон без GLib'а можно.

А язык клёвый. Единственный, на котором мне было весело быдлокодить (сам я не программист далеко). Ещё на Python, разве что.

jeuta ★★★★ ()

Самого главного нет в новости - какова цель создания еще одного языка. Причем еще одного C#-подобного.

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

Отличный язык. А скорость исполнения программы в некоторых случаях превосходит C++.

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

> Самого главного нет в новости - какова цель создания еще

одного языка. Причем еще одного C#-подобного.


Ээээ. Ну это как бы не ... по сути это ИДЕ все.
Ну типа к примеру - ты рисуешь форму визуально а на выходе получаешь хмл
Так и здесь - ты пишешь на вала а получаешь си код ;)

Думаю понятно написал ;)

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

написано же - производительность, высокоуровневость,
+ ABI, прозрачная работа с С либами, отсутствие оверхеда (не нужна VM), достаточная безопасность типов

ELF ★★ ()

поддержка параллельной компиляции (при помощи скрипта contrib/parvala)

contrib действительно parvala на куски

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

>Афигеть, а я думал это автоматический перводчик... Там всегда такой корявый текст попадался.

Это белорусский язык

ttnl ★★★★★ ()

А какие ещё транслируемые в C языки есть? Eiffel, а ещё что? Насколько юзабельно?

Gvidon ★★★★ ()

> появилась...

Лучше бы спецификация языка появилась, а то так и пилят, что в голову разроботчику с утра стукнет...

abacaba ()

Эммм... модер постарался поместить новости про Vala и Mono рядом... не к добру это )))

Amuser ()

Кто знает где взять репозитарий anjuta под ubuntu maveric?

ukko ()
Ответ на: комментарий от mx__

>Так и здесь - ты пишешь на вала а получаешь си код ;)

Это «что он делает». А вот для чего это нужно? Чем это лучше получения объектного кода из исходника?

PS: Кстати, clip то же самое умеет.

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

>написано же - производительность, высокоуровневость, + ABI, прозрачная работа с С либами, отсутствие оверхеда (не нужна VM), достаточная безопасность типов

Это то же самое, что сказать «это хороший язык, бысрый код, безопсно, с библиотеками хорошо работает. Версия 0.11.0»

Таких языков, о которых их создатели скажут то же самое (кроме номера версии) пруд пруди.

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

>> в то же время, Vala способствует написанию производительных и эффективных программ, поскольку не требует для запуска прослойки в виде виртуальной машины,

Это не гарантирует низкую эффективность.

Это ваше мнение, что не гарантирует. Однако большинство с вами не согласится, и, думаю, имеет все основания для этого.

а весь Vala-код транслируется в код на языке C.

Это не гарантирует высокую эффективность.

Да. Не гарантирует. Но дает возможность сделать Vala высокоэффективной в отличии от других, у которых такой возмодности нет даже теоритически.

Не нужно эти два свойства (не требует ВМ и компилируется в C) выдавать за причину высокой производительности.

Это не причина, это необходимое условие. Недостаточное, но необходимое. Если вы не согласны, то новость не для вас, а для адекватных людей.

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

Это то же самое, что сказать «это хороший язык, бысрый код, безопсно,

с библиотеками хорошо работает. Версия 0.11.0»


это маркетинговый понос, давайте примеры языков и факты , все что я про vala написал - факты, допустим если в моной сравнивать -

производительность
высокоуровневость
ABI
С либы
оверхед
безопасность

надо каждый пункт разжевывать?

ELF ★★ ()

Ну вот была бы она не на gobject'е…

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

>А вот для чего это нужно? Чем это лучше получения объектного кода из исходника?

Остается полная совместимость с сишным рантаймом (в обе стороны), - что уже очень хорошо. При этом появляется ООП и прочий синтаксический сахар.

Zylon80 ()
Ответ на: комментарий от KblCb

Можно написать свою объектную систему для С. Но зачем, если есть gobject.

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

Потому что было бы лучше если gobject'а не было. Вообще проект GNU имеет странную склонность писать C++ на C. Vala, например, подозрительно напоминает новый стандарт C++.

KblCb ★★★★★ ()

В отличие от тысяч однодневных языков, этим хотя-бы весело пользоваться. Т.е. можно что-то написать интересное.

postrediori ()

Что лучше Vala или ooc? Ни то ни другое не изучал, но ooc производит более... цельное впечатление чтоли. Вала уж слишком напоминает клон Срешетки

anonymous ()

Когда мы увидим Steadyflow в Debian?

Или можно закапывать валаубунтуподелку?

anonymous ()

Vala транслируется в код Си?

Можно ли сказать, таким образом, что Си это латынь в мире UNIX?

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

> а весь Vala-код транслируется в код на языке C.

Это не гарантирует высокую эффективность.

Не нужно эти два свойства (не требует ВМ и компилируется в C) выдавать за причину высокой производительности.

Это гарантирует производительность программ на уровне C. Уже есть тесты производительности:

http://code.google.com/p/vala-benchmarks/wiki/BenchResults

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

С этим уже ничего не сделать. Приходится подстраиваться.

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

ooc, хотя прикольный , но еще какой-то зеленый, чего сравнивать

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

> Это гарантирует производительность программ на уровне C

ECL тоже компилирует Common Lisp через C и где его сравнимая с C производительность?

naryl ★★★★★ ()

А чем отлаживать программы на языке Vala?

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

>>> в то же время, Vala способствует написанию производительных и эффективных программ, поскольку не требует для запуска прослойки в виде виртуальной машины,

Это не гарантирует низкую эффективность.


Это ваше мнение, что не гарантирует. Однако большинство с вами не согласится, и, думаю, имеет все основания для этого.


При чём тут мнения?

Не нужно эти два свойства (не требует ВМ и компилируется в C) выдавать за причину высокой производительности.


Это не причина, это необходимое условие. Недостаточное, но необходимое. Если вы не согласны, то новость не для вас, а для адекватных людей.


Адекватные люди - это те, кто готов вслед за ПГМнутыми верить без доказательств? Приведу пример ещё раз. ECL, как и большинство компиляторов Схемы, компилируются в C, и где их производительность? Java не компилится через C и что, тормозит? Тормозит, конечно, но по другим причинам, что хорошо видно на некоторых синтетических тестах. А ассемблеры, по вашему, тоже должны через более высокоуровневый C приводиться к машинному коду, чтобы он получался эффективный? И вы ещё утверждаете что адекватны?

llvm тоже оптимизировать умеет без промежуточного C.

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