Vala (язык, подобный C #) компилируется в C?

Я разработчик C #, который наткнулся на новый язык программирования для Linux под названием vala. Он имеет почти такой же синтаксис, что и C #, и это здорово. Я никогда не был большим поклонником Mono. Это позволяет программистам писать приложения GTK + на языке стиля C #. Мой вопрос: компилируется ли vala в C?


person Kredns    schedule 17.03.2009    source источник
comment
Прекрасный язык, как никогда раньше, - это ВАЛА. Многие языки были созданы никем, фактически не соблюдающим стандарты C. Единственная языковая оболочка VALA, наконец, продвигает Си. Я надеюсь, что VALA станет известной и у нас появится огромное сообщество в VALA.   -  person    schedule 19.02.2012


Ответы (3)


Да, Vala компилируется непосредственно в C. На главной странице Vala:

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

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

person John Feminella    schedule 17.03.2009

Из Википедии:

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

person Chris Lutz    schedule 17.03.2009

Как указали Джон и Крис, Vala действительно компилируется в C.

Фактически, вы можете увидеть сгенерированный код C, запустив компилятор Vala с флагом -C (или --ccode).

person Can Berk Güder    schedule 17.03.2009