Я разработчик С#, который наткнулся на новый язык программирования для linux под названием vala. Он имеет почти тот же синтаксис, что и С#, что является удивительным. Я никогда не был большим поклонником Моно. Это позволяет программистам писать приложения GTK + на языке стиля С#. Мой вопрос: собирается ли vala в C?
Вала (С# -подобный язык) компилируется в C?
Ответ 1
Да, Vala скомпилируется непосредственно на C. На главной странице Vala:
valac создает исходные и исходные файлы C из исходных файлов Vala, как если бы вы написали свою библиотеку или приложение непосредственно в C. Использование библиотеки Vala из приложения C не будет выглядеть иначе, чем с использованием любой другой библиотеки на основе GObject. Там не будет библиотеки времени исполнения vala, и приложения могут распространять сгенерированный код C с их архивными файлами, поэтому для пользователей не существует дополнительных зависимостей времени выполнения или времени сборки.
Вы можете прочитать об этом здесь (а также получить учебники, списки рассылки и т.д.). Это довольно интересный проект.
Ответ 2
От Wikipedia:
Вместо того, чтобы скомпилироваться непосредственно на ассемблер или на промежуточный язык, Vala скомпилируется в C, который затем скомпилируется с помощью стандартного компилятора C. для платформы.
Ответ 3
Как заметил Джон и Крис, Вала действительно скомпилируется в C.
Фактически вы можете увидеть сгенерированный код C, запустив компилятор Vala с флагом -C
(или --ccode
).