LINUX.ORG.RU

Релиз Vala 0.9.1

 , , ,


0

0

Вышла новая версия Vala - компилятора, развиваемого в рамках проекта GNOME. В новой версии:

  • Поддержка констант в enum
  • Синтаксис +=/-= для подключения/отключение сигналов объявлен устаревшим
  • Добавлена эксперементальная поддержка профиля Dova (лекговесная замена glib)
  • Обновлён парсер Genie
  • Добавлены новые биндинги: clutter-gst-1.0, gdu, gdu-gtk, libesmtp, mx-1.0, orc-0.4, rest-extras-0.6
  • Множество исправленных ошибок

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

Vala включает в себя 2 языка программирования, развиваемых параллельно - Vala, схожий по синтаксису с C#, и Genie, схожий по синтаксису с Python. Исходный код на этих языках Vala транслирует в исходный код на C, который не зависит от каких-либо дополнительных runtime библиотек.

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

★★★

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

тихо и незаметно вала (с gtk, конечно) порвёт qt.

boo32 ()

Вышла новая версия Vala - компилятора, развиваемого в рамках проекта GNOME. В новой версии:

Vala — это уже компилятор? А зачем гному свой компилятор? Какие целевые платформы поддерживаются?

ChALkeR ★★★★★ ()

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

Vala - это новый компилятор

Компилятор включает в себя 2 языка программирования,

новый компилятор

Топикстартер не в теме.

Это транслятор в C.

ChALkeR ★★★★★ ()

тут с 0.8.x то ничего не собирается, до 0.7.10 надо откатывать, а они уже 0.9.х выпускают )

и все ж таки да, vala не является самостоятельным компилятором, он лишь переводит в Си

Sylvia ★★★★★ ()

Кажется гном дает крен в JavaScript. Надеюсь валу не закопают. А то мечты Gnome3+допиленая_Vala могут и не сбыться. Такая комбинация да, могла бы легко держать первое место. Ну JavaScript тоже неплохо, но как то резко

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

От этого Qt разве что от смеха порвётся.

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

>и все ж таки да, vala не является самостоятельным компилятором, он лишь переводит в Си

Кхм. Vala - это _язык программирования_.

Имеет компилятор в коды GCC.

...

А то можно, ведь, сказать:

- Java не является самостоятельным компилятором, он лишь переводит в байткод JVM

- Ocaml не является самостоятельным компилятором, он лишь переводит в Си

и т.д.

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

В 1ый раз слышу про Google trends… анабиоз затянулся, похоже (O.o)

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

> Топикстартер не в теме.

Это транслятор в C.

Очень даже в теме. Просто решил не баянить текст прошлой новости, увлёкся редактированием и забыл про это написать. Теперь вроде fixed.

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

Я предлагаю написать транслятор гтк->qt на основе валы. И транслятор qt->gtk на основе сильнодействующих веществ. А после этого взять гном и циклически его перетранслировать несколько сотен раз. Не сомневаюсь, что в результате получится следующий код:

#include <QtGui>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    QPushButton *b = new QPushButton(&w);
    b->setText("сделать заеб*сь");
    w.show();
    return a.exec();
}
shutty ()
Ответ на: комментарий от snizovtsev

А то так и Qt будет называться компилятором ;), с его moc-ом с похожими функциями.

Исходный код на этих языках Vala транслирует в исходный код на C, который не зависит от каких-либо дополнительных runtime библиотек.

Сферические Си в вакууме? Это на нём можно писать только консольные хелловорды, что ли?

То, что ты написал, выглядит так: пишется любой код на вале, кормится валаку, и получается код на C, который не зависит от каких-либо дополнительных runtime библиотек.

Ты сам осознал?

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

s/PushButton/Label/ s/сделать/тебе уже/

И да, где-то были даже две реализации Gtk на Qt, но они пока только с очень простыми примерами работали.

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

> А то так и Qt будет называться компилятором ;), с его moc-ом с похожими функциями.
moc это препроцессор, аля макрогенератор, который совсем не следит за синтаксисом, например (если мне не изменяет память). Vala имеет свой собственный язык и парсер, просто результат формирует в виде кода на Си. И фраза это не моя (c), см. главную страницу Vala - там написано «Compiler». Вот я и перевёл.

Ты сам осознал?

Да, осознал. Это значит, что он не зависит от всяких libvala, в отличие от GNU Java Compiler, например.

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

там написано «Compiler». Вот я и перевёл.

Meta Object Compiler.

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

Да, осознал. Это значит, что он не зависит от всяких libvala, в отличие от GNU Java Compiler, например.

Я и так понял, что ты хотел сказать, но читается это именно так, как я написал. Переформулируй ;).

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

исходный код на C, который не зависит от каких-либо дополнительных runtime библиотек.

Это именно что консольный хелловорлд.

ChALkeR ★★★★★ ()

>Добавлена эксперементальная поддержка профиля Dova (лекговесная замена glib)

ну таки отличненько!

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

>Vala — это уже компилятор? А зачем гному свой компилятор? Какие целевые платформы поддерживаются?

c самого начала. valac переводит исходник в С и затем вызывает gcc, так что по идее, все платформы, для которых есть glib и gcc.

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

>и все ж таки да, vala не является самостоятельным компилятором, он лишь переводит в Си

не совсем. он внутри себя вызывает gcc со всеми ключами, так что для пользователя это чистой воды компилятор.

AVL2 ★★★★★ ()

Objective-C тоже в начале своего пути был транслируемым в C и уже после в натив. Сейчас же сразу в натив компилируется.

Не гоните на Vala. Подрастет и все у нее будет хорошо.

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

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

gcc тоже не является нормальным компилятором, потому что ему требуется gnu assembler для получения готового бинарника, ага.

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

> Кхм. Vala - это _язык программирования_.

Кхм. В данном случае, Vala - это проект, который включает в себя разработку языков программирования Vala и Genie, биндингов к различным библиотекам, транслятора в Си-код, документации etc.

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

> документации etc.

Вот с этим всё такая же засада? Грустно :( Интересный такой проект.

sleepflint ★★★ ()

Молодцы, что сказать. Так держать!

Добавлена эксперементальная поддержка


s/эксперементальная/экспериментальная/

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

> тихо и незаметно вала (с gtk, конечно) порвёт qt.

К сожалению, гтк 1) тормозит 2) страшен под виндой.

А язык, конечно, замечательный.

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

> Ocaml не является самостоятельным компилятором, он лишь переводит в Си

Он в нативный.

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

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

Компилятор не обязан компилировать в нативный код.

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

Это транслятор в C.

а теперь расскажи, чем компилятор отличается от транслятора

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

> Не гоните на Vala. Подрастет и все у нее будет хорошо.

Linux - 1% рынка десктопов.

Gnome - 50% рынка десктопного Linux.

Vala - 10% рынка десктопного софта в Gnome.

0.05% - это блестящие перспективы. ObjC уже дрожит от страха.

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

это уже интереснее, спасибо,
пока из того что у меня есть он нужен был для AWN (0.4+) и shotwell

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

>> Ocaml не является самостоятельным компилятором, он лишь переводит в Си

Он в нативный.


Вот, опять. Хорошо, скажу, что Си - это интерпретатор. Сумеешь понять, что ты сказал не так, чтобы моя фраза стала допустимой?

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

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

Компилятор не обязан компилировать в нативный компилировать в нативный код.


Я вначале ступил. Vala (в нашем контексте) - транслятор, но не компилятор и не интерпретатор. Всякий компилятор или интерпретатор является транслятором, но не каждый транслятор - компилятор или интерпретатор. Компиляция или интерпретация подразумевает исполнение результата, немедленное или отложенное. Исполнить же сишный код непосредственно нельзя. Нужно ещё раз интерпретировать или компилировать его.

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

Всё это ненужная спекуляция. Как назвать - компилятором или транслятором, зависит больше от контекста высказывания, чем от каких-либо объективных свойств (по крайней мере в случае с vala).

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

>а теперь расскажи, чем компилятор отличается от транслятора

Компилятор - подмножество транслятора.

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

хм авн на вале .... не знал. Те переписали уже .

Кстати а когда обещають 1.0.0 ну или хоть какую то заморозку ? К выходу гнома3 что ли ?

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

>Vala (в нашем контексте) - транслятор, но не компилятор

С чего бы вдруг ? Он компилирует Vala->C. С тем же успехом gcc не компилятор, потому что компилирует C->объектный код и кормит его линкеру.

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

>тихо и незаметно вала (с gtk, конечно) порвёт qt.

А в гтк уже появился виджет-таблица, с возможностью удобной лёгкой работы с ним?

anonymous ()

>Vala включает в себя 2 языка программирования, развиваемых параллельно - Vala, схожий по синтаксису с C#, и Genie, схожий по синтаксису с Python.

зачем ?!!! вот люди дурью маются...

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

Компилятор - подмножество транслятора.

ок, в принципе корректно. но каким боком это относится к Vala?

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

С чего бы вдруг ? Он компилирует Vala->C

ок, вопрос снят :)

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

не совсем. он внутри себя вызывает gcc со всеми ключами, так что для пользователя это чистой воды компилятор.

А на сайте написано что он может выдавать исходники на C.

ChALkeR ★★★★★ ()

Я. конечно, рад, но этот Genie - прекрасный пример того, как можно опошлить идею indentation-based blocks. Особенно это [indent=N] в начале. Им очень лень было делать автодетект, как в питоне?
И вообще, тоже мне, пародия - кейворды те же... Только двоеточий в конце строк не хватает.
А Vala - хороший язык.
Кстати, Википедия глаголет, что их результатные бинарники от libgnome не зависят. А что же, нельзя libgnome использовать?

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

libgnome deprecated уже давно, к 3.0 её уже быть не должно в гноме.

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

>С чего бы вдруг ? Он компилирует Vala->C

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

С тем же успехом gcc не компилятор, потому что компилирует C->объектный код и кормит его линкеру.


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

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