Vala 是一門新興的編程語言,為那些依賴 GNOME 平台運行時(runtime),尤其是依賴 GLib 和
GObject 庫的應用程序的編寫提供了大量現代的編程技術的支持。目前,GNOME 平台長期持支了一套完整
的編程環境,擁有諸如動態類型系統,輔助內存管理等特性。在 Vala 誕生之前,要在 GNOME 平台上編程,
只能去調用原生的 C 語言接口,但是這樣的編程方法暴露了很多根本不需要知道的細節,如果用更高級
的語言,諸如 Python,Mono C#,則需要相應的虛擬機環境,否則就只能調用 C++ 封裝的庫。
Vala 不同於以上提到的任何語言,Vala 最終會轉換成 C 語言,然后再編譯運行,不用依賴 GNOME 平
台的其他附加的庫(除了 GLib 和 GObject 之外)。
由此,造成了一些細微的但又非常重要的影響:
• 使用 Vala 編寫應用程序和直接使用 C 編寫應用程序,運行的效率非常相似,但是 Vala 相
比 C,更加容易,快速地編寫和維護。
• 使用 Vala 做不到 C 語言也做不到的事情,盡管 Vala 相對 C 語言來說,提供了很多 C 語言沒
有的特性,但實際上 Vala 所有的特性都是映射到 C 語言本身的,只不過如果直接用 C 語言來實現
這些特性的話,非常耗時,也非常困難。
綜上所述,即便 Vala 提供了全部我們所希望的現代編程特性,但其實這些都是得益於一個已經存在
的強力平台,因此我們在使用 Vala 的時候,必須遵守這個平台的編程規范。