5 ms·
The Vala Language (2017)
- comex 2y ago(2017)
- treyd 2y agoWhat's the state of Vala in 2024?
- rbanffy 2y agoSeems to be still going. Doesn't seem to be very popular, which might turn to a competitive advantage for some.
- southwesterly 2y agoElementaryOS developers seem to use it.
- fweimer 2y agoSome widely-installed GNOME applications are written in it. The compiler (actually a transpiler to C) has some issues and couldn't really be adopted to emit standard C: https://gitlab.gnome.org/GNOME/vala/-/blob/main/ccode/valaccodepragma.vala https://gitlab.gnome.org/GNOME/vala/-/blob/main/ccode/valacc... To me, what was surprising about Vala is that it has automated memory management, C#-like syntax, but does not really offer memory safety, even if you don't interface with obviously unsafe C code.
- thesnide 2y agoI remember to have high hopes in Vala when discovering it. But never actually felt the need to learn or use it for real. Which tells a story.
- silisili 2y agoThat's the same place I ended. A desktop environment does not need its own language, and it was kinda hubris to think people would do that. What's also interesting is that in Gnome 3, which came just a few years after, they chose JS because so many people already knew it and could easily develop for it. I'd say the latter was the better idea, as there are far more shell extensions than Vala applications.
- nrr 2y ago"A desktop environment does not need its own language ..." I'm unsure that I agree. Given that part of Vala's raison d'être was interoperability with C and that it integrated well with the parts of the desktop environment that made it a desktop environment (i.e., the gadget toolkit and the accompanying services), if I wrote GNOME (Gnome these days?) applications, I'd probably be fine writing the UI in Vala and the rest of my logic in something that, at a minimum, spoke the C ABI. Likewise, I used to write Windows software in Pascal with parts in C and C++ because I oddly both found Win32 and COM and found interfacing with third-party libraries easier to deal with that way.
- silisili 2y agoThese are kinda ergonomic decisions, though, and a whole new language really isn't necessary for that. You could do that by making a fantastic library for another language/languages. I'd point to PyQT as an example. It's function and documentation are flawless. I was able to build an entire web browser using it in a day(no, not a chrome competitor, just a simple one using QT and webkit components). The 'official' libraries are so clumsy in comparison.
- nrr 2y agoMy argument is exactly about the ergonomics. If the goal is to target Gnome in particular and take advantage of C interoperability (ideally, without the overhead of a foreign function interface), Vala seems like a solidly ergonomic solution to that problem.
- itohihiyt 2y agoI considered learning this but decided on flutter instead. Glad it's still going though.
- deleted 2y ago[deleted]
- cendyne 2y agoVala was super neat as it came out of the ElementaryOS line of work. Their holistic focus towards usability and approachability of a Linux distro was inspiring enough that I even supported them with my meager student developer income. Since then, I've moved to Mac and haven't dabbled much in desktop Linux machines. As it grew older and some things got broken up (like serenity and ladybird), the novelty-energy wore off and I looked away for years. As a language, I hoped Vala would pave the way for a beautiful high performance application tool. Instead, we got Electron.
- asdfgasa123 2y agowhat does serenityos/ladybird have to do with Vala/linux? also Vala did not come out of elementary os... its older by like 5 years
- mlinksva 2y agoVala is quite a bit older than ElementaryOS, though maybe that's the primary use for a long time now? I vaugely remember Vala as inspired by and reacting to an even earlier trend of GTK applicatons in C#/Mono such as F-Spot and Banshee.
- deleted 2y ago[deleted]
- zerr 2y agoRule of thumb: No first class Windows support, a language never becomes popular enough.
- rbanffy 2y agoIsn’t GTK available for Windows? Building an app that runs on Windows should be trivial with Vala.
- zerr 2y agoRight, the latest version seems to be available through MSYS... I remember there was a huge version gap for *nix vs Windows earlier. I guess I remember the native Windows distribution, which is not available nowadays at all.
- torginus 2y agoVala is an interesting language - it looks like C#, but is a compiled, reference counted, GObject based language (which is Gnome's/GTK's object model library), that simplifies/streamlines writing app code, compared to writing it in C. Which brings on an interesting historical tangent - back in the day, Windows applications were written against the COM object model, either in pure C, or C++ with MFC. The parallels are obvious - Microsoft needed a language that was easier to use and better suited for the needs for applications programmers. The obvious thing would've been to build something like Vala - a COM based reference counted compiled language - but they decided to build .NET/C# a garbage-collected JITted language with an entirely alien library and execution model. And while it became somewhat a success in the world of generic software dev, it never fulfilled this niche, with none of the core MS products ever integrating it, and most of the internal teams treating it with animosity. I wonder why Microsoft decided to go down this route.
- lukeh 2y agoPerhaps it was an era when everyone was trying to compete with (or embrace) Java?
- rzzzt 2y ago.NET and C# appeared to counter the proliferation of Java after J++ has been sidelined in court: https://en.wikipedia.org/wiki/Visual_J%2B%2B#Sun's_litigation_against_Microsoft https://en.wikipedia.org/wiki/Visual_J%2B%2B#Sun's_litigatio...
- giancarlostoro 2y agoYep, there was also J# an intermediary language so you could run old J++ code on .NET iirc which obviously became defunct sooner rather than later since C# became defacto. I have yet to meet a C# dev who actually touched J++ or J# to be honest.
- jahewson 2y agoYep, some interesting tidbits here https://stackoverflow.com/questions/1083368/whats-the-early-history-of-the-net-framework https://stackoverflow.com/questions/1083368/whats-the-early-...
- drpixie 2y agoAarrggghhh. Why do we insist that projects/systems/languages must be continually changing and evolving? Shouldn't there be room for a system that just does the thing(s) is does well? Why do we need to be continually tweaking? Adding increasingly obscure "features" and new bugs? Unlike a human language, a computer language isn't "dead" when it stops changing. It is dead when nobody is using it. These are very different criteria.
- continuational 2y agoAgreed - languages that keep on changing result in a lot of churn in the ecosystem, as older libraries quickly feel dated when they do things "the old way". New features often interact poorly with some of the existing features, as those features weren't designed with the new feature in mind.
- rbanffy 2y agoBe careful with what you wish for. One such niche is COBOL development. COBOL hasn’t changed much and it’s anything but dead in the sense of not being used, but there are not few developers who wish it were.
- deleted 2y ago[deleted]
- MaxBarraclough 2y ago> Unlike a human language, a computer language isn't "dead" when it stops changing. It is dead when nobody is using it. These are very different criteria. A human language is considered dead if it no longer has any first-language speakers, but does have second-language speakers or is used fluently in written form, such as Latin. [0] I broadly agree with your point though. Many languages would do well to slow their rate of change. There are very few slow-changing languages, like C, Forth, and Scheme. This 4 year old comment of mine on this topic is still applicable. [1] [0] https://en.wikipedia.org/wiki/Dead_language https://en.wikipedia.org/wiki/Dead_language [1] https://news.ycombinator.com/item?id=21950875 https://news.ycombinator.com/item?id=21950875
- deleted 2y ago[deleted]
- indulona 2y agoAll I can think of is Vala Mal Doran :D
- DrNosferatu 2y agoAnd Genie language in 2024? The Genie language was created to expose a Python-like syntax to the Vala compiler.