6 ms·
The project is interesting and I have to give it props for being one of the few Linux distros that’s put the necessary level of thought into UI/UX and made cons
by kitsunesoba 8y ago
The project is interesting and I have to give it props for being one of the few Linux distros that’s put the necessary level of thought into UI/UX and made consistency a priority.
That said, I question some of their technical choices, most namely the choice of Vala as the project’s official language. Not that Vala is bad, but it’s incredibly niche at best and I think it severely limits contributions. Not many are going to want to learn a new language that’s scarcely used elsewhere in order to be able to work on any kind of project.
- coleifer 8y agoIts not too different from c#, and it's very popular for writing gtk applications.
- kitsunesoba 8y agoEven so, it’s going to scare off a lot of potential contributors long before they investigate the language deeply simply by having a name they don’t recognize. It effectively limits the contributor pool to those who’ve previously written GTK apps, which is relatively tiny compared to the number of devs coming from more mainstream backgrounds.
- coleifer 8y agoMaybe. It didn't scare off me, though. It piqued my interest!
- jenscow 8y agoOh, me too... "Familiar to anyone who's seen C#, but maintains API/ABI compatibility with C"
- Investogician 8y agoI think it actually has helped. The Elementary app store is filled with nice Elementary-specific apps. Their getting started docs are quite beginner-friendly https://elementary.io/docs/code/getting-started#getting-started https://elementary.io/docs/code/getting-started#getting-star...
- BonesJustice 8y agoI was looking through some of their sources, and that was the first encounter I’d had with Vala. If anything, it makes me more interested in potentially contributing. Now, whether the tooling is up to snuff is another question. If it’s not, then the language choice could still end up being a turn-off, if not an immediate one.
- weberc2 8y agoI briefly flirted with contributing to the project, but the code was a horrendous mess and the build system was worse (CMake mess; most of the dependencies were implicit; etc). Vala aims to be intuitive for C# developers, which is a nice goal but everything is built on the trashfire that is GObject and the Vala abstraction leaks like a seive. Hopefully much of that was fixed with time, but I doubt GObject is any better these days.
- ryanmarsh 8y agoThanks I was staring at the code examples trying to figure out which language it was. Some of the examples looked like C# but then some I could have swore were C++. Took me a minute.
- jacobush 8y agoVala is to me the Dutch of programming languages. A fine language. When I hear it I first "know" it's English, then I know it's Danish, then I "know" it's German. Which is when I realise is has to be Dutch. But should I learn Dutch? Even though it's a fine language? Maybe I'm better off learning English and German first. And French. Dutch, and Vala, are too niche. I wish ElementaryOS, would, in probably this order, would have: a) used ObjectiveC instead of Vala. Elementary is attractive to to Mac users or admirers. Why not leverage what they know? b) Exposed their API through some language agnostic mechanism. Heck, spits .NET even? c) Supported interpreted languages such as Ruby, Python, Perl even. IIRC I brought this up on some mailing list or other a LONG time ago, but (of course) was met - "Get with the program. Vala is fine." It is fine, but come on. Everything about Linux (desktop) is niche to begin with. Why jump into a super-niche of a niche?
- tonyedgecombe 8y agoused ObjectiveC instead of Vala Or Swift?
- jacobush 8y ago
- hawski 8y agoLearning Vala is still far better than GObject-C. Rust GTK bindings are probably not yet there. So what's left? Python and JavaScript. If you care about native performance the way I believe they are these will also not cut it. Vala seems then a logical choice, especially at the time they were deciding. The question I have is: will Vala be supported further by Gnome in foreseeable future? I heard some time ago that it's not so sure. I would be pleased to hear otherwise.
- rijoja 8y agoSure got that one right. GObject-C is an impressively good implementation put next to WinAPI but way behind to anything vaguely modern.
- computerex 8y agoVala is more or less dead.
- simplify 8y agoSeems not? https://github.com/GNOME/vala https://github.com/GNOME/vala
- scythe 8y agohttps://blogs.gnome.org/mcatanzaro/2017/02/19/on-problems-with-vala/ https://blogs.gnome.org/mcatanzaro/2017/02/19/on-problems-wi... >There are currently 179 unreviewed patches in Vala’s request queue. The oldest patch there is 2,556 days old, so we know that it’s been seven years since anyone has cared for the outstanding patches. Any of those discouraged contributors might have eventually turned into Vala maintainers if only their patches were reviewed. Of course, most would not have, but if only one or two of the people who submitted patches was an active Vala maintainer today, the project would be in a significantly better state.
- floatboth 8y ago> /2017/02/19 The situation seems much better now
- syn0byte 8y agoI think its part of that UX consistency you were praising. Vala's got 'nice' coupling with Gnome in the same way C# has 'nice' coupling with the Windows UI. valac also compiles to C so no weird ABI stuff. No external runtimes or VMs required. I hate to say it but Gnome did something pretty neat with Vala.
- mepian 8y agoThis kind of attitude towards less popular programming languages is very damaging to the field of software engineering. Domain-specific languages are our best tool to combat the excessive complexity of software. The difficulty of learning a new programming language is overblown.
- ionforce 8y ago> The difficulty of learning a new programming language is overblown. This is a value judgement, ripe for disagreement. Why do you think learning a new programming language is not difficult, as others perceive?
- macintux 8y agoI think once you know 2 (or 3 if the 2 are as similar as, say, Java and C#), picking up new ones is comparatively easy. New paradigms can be challenging (looking at you, Prolog and Haskell) but quite doable. However, if you resent being forced to learn a new language, or if you are more of a copy/paste developer than someone who really understands what you're doing[0], yeah, a new language can be a very challenging barrier. [0] I want to be clear: most people start out with very little clue what they're doing in programming. That isn't meant as a disparaging description. I wrote (and copy/pasted) a hell of a lot of code before I started understanding the underlying mechanics of it all, and I'm still baffled by a lot of the development world (again, hi Prolog and Haskell).
- deleted 8y ago[deleted]
- Upper_Onion 8y agoKeeps it competitive. We don't want hundreds of millions of people being able to program. You want to put food on the table or not?
- ryandrake 8y agoOP argued that the choice to go with a niche language limits contributions, which is almost certainly true, even if it does combat complexity. You can both be right.
- ken 8y agoI have no problem with the technical underpinnings. Or rather, I think (almost) every programming language today is kind of lousy, and the choice of Vala doesn't scare me off any more than anything else would have. No platform in the history of computing has made a great choice for its primary language, so I can't hold that against them. When a platform gets the user experience right, developers will figure it out. Developers complain endlessly about JavaScript, but they want to target the web, so they made it work. Or Objective-C, and the Mac. Or C++, and Windows. We like complaining, but a non-ideal programming language really isn't a blocker. The issue I have is that I don't see a great user experience here. This new brand of "consistency" just looks confusing to me. Every possible UI control -- from window title bars to tabs to buttons to lists to labels to text fields -- is a plain gray rectangle, with the same color and border. Am I supposed to figure out everything from context? I don't have much confidence that I'll be able to learn a new app, much less write one that other people will be able to figure out. The metaphors, where I can find them, make little sense. I don't know why I'd want to "flick through" a grid, to select from a list. How is this better than scrolling through a list? They seem to be blindly copying parts of Apple's systems, without understanding why or when Apple made those design decisions. There's so many obvious rip-offs of macOS here, it's sometimes hard to tell if it's meant to be a parody. And for some crazy reason I just can't get over the lone word "Applications" sitting in the corner of the screen -- the only word anywhere. It looks like a mistake. At best, it's clumsy. My steering wheel doesn't need "Steering" printed on it.
- SyneRyder 8y ago> Not many are going to want to learn a new language that’s scarcely used elsewhere in order to be able to work on any kind of project. As someone trying to make some (proprietary) software compatible with elementaryOS, Vala looks really fun to work with... but the cross-platform story for Vala isn't clear. 98% of any sales are going to come from the Windows & Mac versions, so I have to prioritize what will work best on those platforms. If I could make significant sales just from an elementaryOS version on its own, that'd be a different story. But elementaryOS already discourages sales by making their App Store "pay what you want" & excluding proprietary software. That's fine, and I understand their reasons! But as an elementaryOS user, it'd be nice to be able to install Sublime Text directly from the elementaryOS App Store, even though it's proprietary software, just like I can from Snapcraft.
- agumonkey 8y agoI don't get the issue. They managed to make something good out of it, it felt like a great tool rather than a niche thing.