|
|
Subscribe / Log in / New account

Defining the Rust 2024 edition

Defining the Rust 2024 edition

Posted Jan 31, 2024 1:09 UTC (Wed) by khim (subscriber, #9252)
In reply to: Defining the Rust 2024 edition by LtWorf
Parent article: Defining the Rust 2024 edition

> You want to make me believe that 99% of the software present on your computer doesn't come from distribution packages?

Why would it come from distribution packages? They don't support Windows and don't support macOS, either. So neither my game rig nor work computer have that many distribution packages.

Sure, ditribution-provided packages are important for WSL viability and use with docker image on macOS that I need to develop some software, but in the grand scheme of things I don't need that many distro-provided packages for that.

And if I want only to use some software then I can, finally, use the version of LibreOffice I like and version of GIMP I like without thinking about crazy dilemma of whether it's a good idea to upgrade every single app just to get that new feature in one of them.

You just have to accept that Linux on desktop have arrived — only it arrived in a form WSL. And it's now merely a tool for software development for various non-desktop platforms. That changes dynamics significantly.

> People like repositories… what they don't like is to treat every single program as a special butterfly. In that case they will just not use it, unless it's needed for work, in which case they will put up with the pain.

The only problem with that reasoning is that Linux distros today, for the majority of people are firmly in the something needed for work, which you have to use despite all the pain it causes.

Distros were born in times when Internet was expensive to solve the problem which haven't existed for decade or more: how to efficiently distribute software that software maker couldn't send from their web site. Hence the name.

Today they are no longer needed and just cause needless friction and pain (although if you have to develop software using GNU-based tools they are often indispensable): they impede delivery of apps from developer to your system, they tie various software packages into one huge bundle (kinda-sorta solvable if you use Gentoo, but even there it's quite painful to update one single package), they are very much a solution in a search of a problem.

> I've never encountered a feature that cmake has and autotool doesn't have.

Seriously? Show me how can I can create a trivial “Hello world” program and we'll go from there. Assume I'm typical developer and thus pick platforms to support from this list. Which means I have to support Android, Windows, iOS, OS X before I would think about supporting Linux.

And if I'm typical developer then I would, of course, use Visual Studio Code or maybe CLion, or, perhaps, even Visual Studio proper (although Visual Studio Code is more popular novadays).

CMake support all the things that matter (but fails in 1% of fringe cases), autotools solve perfectly lots of fringe cases that I don't care about while ignoring 90% if not 99% of cases which people actually care about.


to post comments

Defining the Rust 2024 edition

Posted Jan 31, 2024 10:16 UTC (Wed) by LtWorf (subscriber, #124958) [Link] (1 responses)

> So neither my game rig nor work computer have that many distribution packages.

You went from using a distribution one comment above to not using one. Anyway brew and WSL are/use distributions.

Also, if you use the apple app store you are using a (non-free) distribution.

Also, I'm sure your work uses gaming rigs and osx for servers right?

You are argumenting for the sake of argumenting, knowing fully well that what you are saying makes no sense.

Users want distributions. They don't want to install your special PGP key for your special archive for your special software, of which you will proceed to lose the private key breaking automatic updates for everyone. They want the whole system to just do its thing and keep working.

> Show me how can I can create a trivial “Hello world” program

Why not a "return 0" directly if we want to make useless examples?

> autotools solve perfectly lots of fringe cases that I don't care about

if your software has the complexity of "hello world", yes I agree that you should not use autotools. But you should probably also abstain from giving advice trying to pass as an expert in portable software, when in reality you only develop trivial software for one single platform.

In the end, it seems you will argue anything and its opposite just to argue, and I have the feeling you've even forgotten what you were arguing for, so I'll stop this futile exchange.

Defining the Rust 2024 edition

Posted Jan 31, 2024 11:54 UTC (Wed) by khim (subscriber, #9252) [Link]

> In the end, it seems you will argue anything and its opposite just to argue, and I have the feeling you've even forgotten what you were arguing for, so I'll stop this futile exchange.

It's always your choice, but no, I haven't forgottten (if, maybe, you did). Let's do quick summary, shell we?

  1. bluca: Why don't Rust drop everything and provide tools they don't need for fringe use-case they don't even want to support?
  2. tialaramex: Rust offers tools for someone who wants to spend time doing that useless work, it just doesn't impose them on everyone
  3. pizza: Hey, that work is not entirely useless and if we would impose it on everyone, then there would be some benefits, too!
  4. Cyberax: But there would be nasty side-effects, too!
  5. gspr: We just want the benefits, they are cool!
  6. me: But who would pay the costs?
  7. you: Don't you benefit from these features, too?
  8. me: Sure, I benefit from these, when I actually use distros that are built on top of these. But I don't use these kinds all that much.
  9. you: You lie! You have to use these, you jave have to!
  10. me: Nope, I don't lie. I really don't use classic distros which rely of shared libraries and stable ABI all that much.
  11. you: Let me play with words to try to save the face!

And here we have bunch of half-truths that you use to try to derail the discussion

> They want the whole system to just do its thing and keep working.

While 100% truth on the surface in reality it doesn't support you cause. Yes, the majority of people only want the whole system to just do its thing and keep working… but no, they don't want to see shared libraries (or anything else) being silently upgraded behind their backs! Internet is full of tutorials which people are using to stop these updates that developers and OS makers shove down their throats. And most user never upgrade anything unless forced or unless they know what they get after update (not much these days, times when new versions were sold for money and actually had to demonstrate some kind of viability are gone)

You don't need shared libraries or stable ABI to never upgrade. Here's typical story from the “what real users want”. They just want things that work. Nothing less, nothing more.

> But you should probably also abstain from giving advice trying to pass as an expert in portable software, when in reality you only develop trivial software for one single platform.

Who said I only develop trivial software for one single platform? Software I develop actually is used on most platforms: Windows, MacOS, Android, ChromeOS, even Linux! It's not used on iOS, which makes me a bit atypical (most developers would care about iOS before they would think about ChromeOS), but not too much.

You, on the other hand, are trying, repeatedly, to ignore with prejudice 99% of the picture (most popular OSes and most users) and only concentrate on one, very fringe, case.

> Users want distributions. They don't want to install your special PGP key for your special archive for your special software, of which you will proceed to lose the private key breaking automatic updates for everyone. They want the whole system to just do its thing and keep working.

You say it with such an extreme conviction like just sprouting these words would make them true. But most users don/t even know what PGP key is and would definitely not try to install it even if told.

They know how to click on link and select the checkbox, though. That's what they expect and that's what they get in the majority of use cases.

> Also, if you use the apple app store you are using a (non-free) distribution.

Another truth designed the muddle the water: yes, Windows store and Apple's App Store may be classified as “distributions”, if you squint just right, but they don't need shared libraries (and they actually provide stable ABI to app developers while the majority of Linux distros still refuse to do that).

> Anyway brew and WSL are/use distributions.

True, but, most of the time, in modern world, they are glorified package managers for C and C++ packages. It's entirely not clear why some other language which, unlike C or C++, already have a standard package manager should deal with them.

Sure, if someone wants/need to merge Rust packages and compiler into these distros then they can do that. It's free world and licenses permit that. But it's entirely not clear why Rust developers should spend time and money supporting something they don't need or want.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds