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 ()
Последнее исправление: MuZHiK-2 (всего исправлений: 1)

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

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

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

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

anonymous
()

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

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

Deleted
()

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

anonymous
()

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

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


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

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

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

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

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

hizel ★★★★★
()

> 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 ★★★★★
()

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

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

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 ★★
()
Ответ на: комментарий от kraw

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

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

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

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

KblCb ★★★★★
()

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

postrediori
()

Что лучше Vala или ooc (ooc-lang.org)? Ни то ни другое не изучал, но 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 ★★★★★
()
Ответ на: комментарий от anonymous

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

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


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


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

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


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


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

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

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