vala is a new programming language which bring performance of c++ and user-friendly of the C#.
In fact, Vala is very closed to C#in syntax. It contains even the most recent thing of C# as :
- Lambda expressions
- Type inference for local variables
- Non-null types
And a lot of other features from basic C#:
- Assisted memory management
- Exception handling
- Type modules (Plugins)
But it only bring language features. We have no virtual machine, no framework!
This language just try to make the life easier for people who want to build compiled assembly.
Vala is a great language to build application with very good performance or wich interact with low level layer (hardware). Mono/DotNet is quick to develop, easy to maintain, user friendly and bring a big toolbox to not have reinvent the weel…So, Vala & Mono is at the end not for the same use. But it bring to developer who want to do low level thing or embded thing or developer who do not want to have VM.
Rem: A lot of developer are still saying that VM is bad for performance but a lot of snipset have shown that it is not so slow and can even be better in some way because the compiler JIT optimize things. so, if you do not want VM just for performance, it is not so simple… But there are a lot of other good reason to not use VM.
It is great to see that even low level language can become easy and powerfull with a good ratio of line of code by features.