3 ms·
As a distro contributor, I don't share these views at all. Yes, it's sometimes a bit of a pain when some application needs an older, incompatible library, but i
by mid-kid 3y ago
As a distro contributor, I don't share these views at all. Yes, it's sometimes a bit of a pain when some application needs an older, incompatible library, but in 99% of the cases, the fallout is minor, or there's some compatibility library or shim I can install. The advantage of doing this being that the old application will now support all modern audio/video formats (e.g. ffmpeg) and the new graphical and audio subsystems on linux (e.g. sdl), as well as whatever security fixes.
If I really need an old library, it's generally not hard to install that in a temporary prefix and set the relevant PATH variables for it, though I do wish this was easier sometimes. It gets better as more projects just use pkg-config.
That all said, Meson[1] solves all of these issues in a way that keeps both developers and distributions/users happy. But as is with all things C, getting everyone and especially windows users to adopt it is gonna take a good while.
[1]: https://mesonbuild.org/ https://mesonbuild.org/
- dahhowl 3y ago(wrong link, you mean .com)
- chrismorgan 3y agoWell, clearly what I wrote has resonated with people, as this is now my second-highest-voted comment, currently at +101. (My >4000 comments range in score from −4 to +76 plus one outlier at +287 because people really hate stale bots on issue trackers. See https://news.ycombinator.com/item?id=32541391 https://news.ycombinator.com/item?id=32541391 for methodology. This comment has also clearly evoked a strong emotional reaction.) All I can say is that I’ve had a lot of trouble over the years building older C/C++ software, often seeking to consume it from Python but sometimes just from C/C++. Maybe if I lived and breathed those languages I’d cope better, but at the very least they consistently take extra effort that requires at least mildly specialised knowledge, compared with my experiences of pure-Rust or even mostly-Rust software.
- FullyFunctional 3y agoI too have moaned and ranted about this the problem with installing "modern", dependency heavy apps -- it's to the point where it's borderline anxiety inducing. I take the upvotes as a sign it's widespread. There are examples of a really valuable package that myself and two coworkers independently have given up installing because the dependency nightmare was just too horrid (a C++ app). When I started using Rust it truly felt like magic. I could any app by anyone and essentially `cargo build` would always just work. So effortlessly.
- chrismorgan 3y agoUpdate after another day and a half just because this thread has fascinated me because it’s my second clear outlier: it’s now up to +162, over double my third-highest. Also the immediate parent to this comment has been at +2, −0, +1 and is back to −0 as I write and I’m not really sure why (I’m just describing facts, right?) but that’s part of the fun! I won’t try to predict where this one ends up :-).
- mid-kid 3y agoI voted it down because numbers don't really mean anything. Top-level comments that directly disagree with the article always do good if they don't get drowned out by another comment doing the same, especially when it's a controversial topic or a comment that directly reinforces people's preconceptions on a topic (and the article is about dispelling the preconception). You pointing it out doesn't add anything to the discussion. My best comment by far is one on an article about linux support for laptops being great, talking about all the problems I've experienced in recent years, even though I do agree with the article's core statement.
- chrismorgan 3y agoI’ve given plenty of top-level dissenting and affirming opinions, probably at least a few hundred, probably less than a thousand (wild estimate based on the total and memory of likely patterns). The highest I’ve got before was +74 on a positive one (detailing my experiences with fraudulent YouTube Content ID claims of public domain melodies) and +73 on a negative one (detailing specific technical problems on an Informational-class RFC—yes, both of these were much more specific than the current case). Fundamentally such numbers may not mean anything, but when you get one that’s more than double the next highest from such a collection is very likely to mean something. And the final paragraph of my follow-up comment certainly added something (I wouldn’t have posted the number without it). If someone had written approximately the comment I wrote first, I’d have upvoted it, because it matches my experience.
- lolinder 3y ago> As a distro contributor, I don't share these views at all. That's because you're in the very small group of people that knows how your distro's packaging process works in detail. The majority of developers don't use Linux at all, and those that do typically know just enough to install a few blessed packages, not enough to hunt down and install the correct shim in a temporary directly. Multiply that lack of training by the dozens of Linux distros being used by users of a language, and it's no wonder most modern languages have a standard language-specific package manager. The alternative is for them to be constantly fielding impossible-to-answer questions from developers who (unlike you) don't understand their distro well enough to make compilation work. It's far easier for the language to have a single cross-platform package management system where the answer is usually as simple as "X, or Y if you're on Windows".
- Gigachad 3y agoI just don't attempt to compile C/++ software these days because the process is always an absolute nightmare where you have to attempt to compile, then google the error to see what package it's related to, try to work out what the distro name for this package is, install, recompile, repeat 10 times. And hope you don't get completely stuck where you distro just doesn't have the package or version you need. Something in rust is always just `cargo run` and you're done.
- saidinesh5 3y ago> The advantage of doing this being that the old application will now support all modern audio/video formats (e.g. ffmpeg) and the new graphical and audio subsystems on linux (e.g. sdl), as well as whatever security fixes. That's the theory. In practise, it just means small app developers putting up with: 1) #ifdefs for different versions of same libraries in different distros 2) distro specific bug reports for an operating system with less than 2% user base 3) binary releases that target just 'Linux' being out of question for most proprietary applications / apps that can't/won't be included in distro repositories for various reasons. It's not as if distro maintainers will test your random little application every time they update ffmpeg anyway. It's the users, for whom the application breaks.