2 ms·
> Elementary OS is a Linux distribution. Linux is primarily written in C. Yes, the Linux kernel is, but not all of the userland, which is what makes Elementary
by yareally 13y ago
> Elementary OS is a Linux distribution. Linux is primarily written in C.
Yes, the Linux kernel is, but not all of the userland, which is what makes Elementary OS, "Elementary OS." ElementaryOS outside of the kernel is primarily Vala[1].
One of the comments by the ElementaryOS developers the other month on HN about their usage of Vala and its performance:
> aroman 51 days ago | link
Vala is, all in all, fantastic. The way I describe it to people is "it feels like C# but runs at C speed", and that's pretty much accurate. The only issues we have are binding bugs and Vala bugs, both of which are harder and harder to find these days. And when you do find one, the development community is very active and you can find the help you need.
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.
[1] https://news.ycombinator.com/item?id=6194028 https://news.ycombinator.com/item?id=6194028
- ygra 13y agoThis makes your point about Vala being a better option than C# because it can be lower-level a little moot if the core is still C just like in Singularity.
- yareally 13y ago> because it can be lower-level a little moot if the core is still C just like in Singularity. Not exactly, as it's more likely they didn't want to roll their own kernel when there's a perfectly good open source one. Microsoft and Windows didn't really have that luxury and based on the project's likely goals with its commericial leaning successor, Midori, they wouldn't want to use something under the GPL either. I'm not a hard core kernel developer, but I'd wager one could be written in Vala if one was so inclined.