Vala官方网站对它的描述:
Compiler for the GObject type system
Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C.
百度百科对Vala的描述:
Vala是一种新的编程语言,其目标是为GNOME开发者提供现代化的编程语言功能,同时没有额外的运行时要求,并且相对于C语言编写的应用程序和库,无需使用不同的ABI。
我个人的认识:
Vala是对C语言的高级封装,拥有C#(其实和JAVA也基本相同啊)的形,C语言的魂。所谓高级、形,即是面向对象;而魂,则是说Vala编译器先把Vala代码转换成C代码,再编译成机器码。另外,官方介绍中提到了ABI这个概念,与常见的API是不同的。API(Application Program Interface)是对代码进行约束,比方说.JAVA文件的文件结构是什么样的,类对外提供了哪些方法供别人调用;ABI(Application Binary Interface)是对最终的执行码进行约束,比方说Java中class文件的文件结构,调用指令,或者说linux下可执行程序elf的文件内容约束。
编译代码,运行程序: