Hacker News new | past | comments | ask | show | jobs | submit login

I'd love to use Elementary OS, but their use of Vala is just such a turn off. That language is dead except for a tiny gnome niche.

If they wanted the mac devs for their sleek look and feel they could have switched to swift. And if they wanted to gain easy popularity they could have switched to rust. But vala... there is no developer pool to draw people from, and they're not apple where ObjC might have been an obscure but in the end really productive ecosystem.




> I'd love to use Elementary OS, but their use of Vala is just such a turn off. That language is dead except for a tiny gnome niche.

I'll go out on a limb and say that while this might have been closer to the truth 3 years ago, there has been an uptick in activity on the language recently, especially with improvements in tooling. If you look here (https://github.com/topics/vala), while you'll see it used in smaller projects, you'll also see there's a fair amount of high-quality software written in Vala. Clearly the language is capable for serious use.

As far as the language itself is concerned, I think it has a number of good points that aren't very common (outside of Swift or Rust): that is high-level abstractions with little to no runtime cost, easy to learn, C compatible and binds easily to practically every language under the sun thanks to gobject-introspection.


I'm a iOS developer and don't mind Vala at all. The language directly encodes the GTK object model, and I'd rather pick up a boring C#-ish language on a weekend, than learn GTK and then understand how it is bridged into a language which already has its own conflicting object model.

JavaScript is way more popular than Rust, and I don't feel gjs projects are doing much better than elementary OS.


Vala seemed very simple and if it's still solid enough for them to release a stable DE, I guess it's not a big issue. I hear your concern but it seems most people can adapt to Vala in a week.


I don’t see how the langage in which is developed a software is a reason to use it or not.

It’s not like you can’t install your good-old-C++Rust-javascript Firefox browser.


Yeah I don't get it. While it's certainly not the post popular language out there, it's not like you as a user are impacted by the choice of a programming language it's written in.

Default apps are mostly good. Music is the only one I don't like in general, and while Epiphany is not my preferred browser, it seems perfectly capable (hell, it even syncs with Firefox Sync). The rest of the apps feel very pleasant to use and I never had to bother with looking for an alternative.


We're not talking about a simple piece of software here but an entire ecosystem which has Vala as it's language of choice.

Using a certain operating system comes with the implicit assumption that I'm also gonna write programs for said operating system. And I'm not gonna learn some obscure version of C#/Java for that, just because the gnome project felt that they had to n.i.h. an entire programming language.


> gnome project felt that they had to n.i.h. an entire programming language.

This isn't what happened. When Vala came out (2006), it was at the time the only programming language advertising such high-level concepts as found in C# (like async/await) while guaranteeing you native performance without a VM. At the time it was billed as a better C++ and a faster C#. When the elementary project adopted Vala (2007), Swift and Rust weren't things, and they would remain unstable for at least the next decade.

Today the world has changed, and while I'd argue that Rust is one of the best languages invented, Vala still has some things over it: easier to learn, binds well with C and a million other languages, faster compilation and a simpler toolchain, has built-in type annotations for Gtk and DBus, all while guaranteeing you native performance.


You admittedly made me change my mind a bit about Vala. Apparently it was ahead of it's time, which is a bit sad. Nevertheless, elementary is the closest thing I know to a working open-source desktop OS, and Vala hinders it's adoption.

At some point you gotta pick the hill you're gonna die on, and that shouldn't be dev mind-share.

The horse they bet on didn't make it, why fall into the sunken cost trap, either bet on a different horse (rust), or pick a tried and true one (C) and write a decent FFI for alternative languages.


It's not sunken cost. Vala is performant, plays well with a multitude of languages, doesn't require a VM, and makes it easy to write Gtk applications. Unlike Rust it's very simple to learn and the elementaryOS project likes it for that reason since it lowers the barrier to entry for app developers. Based on this I'd say it's still got a lot of things going for it.

Now is there more to improve? Absolutely. Despite its use by users, development of the language itself suffers from chronic underinvestment. But I think that's changing a bit recently. (Full disclosure: I'm involved in developing the language and tooling. We could always use more contributors.)


I think there's quite a lot of potential for writing native elementary apps with gjs, https://gjs.guide


I find it easier to develop apps in Gtk Python. But I can see how Vala might be more performant.

Towards this end I've worked on a transpiler (py2many). Any suggestions on what language Python should be transpiled to for the best Gtk runtime experience?


Swift means writing new gi bindings. Decent chunk of work.


> switch to rust

All roads lead to...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: