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

Вышла новая версия 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 ★★★★★
()
Ответ на: комментарий от Sylvia

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

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

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

...

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

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

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

и т.д.

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

mikki
()
Ответ на: комментарий от 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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.