What is concurrency and multi-threading support like in the language?
With Vala's object system built upon GObject, wouldn't targeting Qt be a problem?
What is concurrency and multi-threading support like in the language?
With Vala's object system built upon GObject, wouldn't targeting Qt be a problem?
For concurrency, I have personally written async vala code (which has some excellent support, including closures), but there is full thread support via GObject. The thread safety stuff is the same as the underlying library, and lots of work goes into GLib/GTK+ to make them thread safe where appropriate.
Yes, targeting Qt with Vala would a real problem. That's why we have absolutely no plans to move to Qt :) Not that it hasn't been brought up -- I remember some very vocal discussions in IRC a few years back when a few developers (mostly who have since moved on, interestingly) tried to convince us to jump ship and go to Qt. It was a lot more feasible back then too, since we were still pretty early in the Luna cycle. But the insurrection was ultimately quelled with practical concerns and majority mindshare :)
Doesn't GObject basically mean all the languages supported are compatible and we can write libraries/applications (which are generated into C code) and they are binary compatible with each other without extra code or configuration.
I think that's really interesting and could make very fast, and robust applications very flexible as well.
I am actually watching a talk on PyGObject by the author Tal Liron. https://www.youtube.com/watch?v=6QrGmA_RR4E