this post was submitted on 22 Dec 2025
908 points (96.6% liked)

linuxmemes

28573 readers
678 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
  • Don't get baited into back-and-forth insults. We are not animals.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn, no politics, no trolling or ragebaiting.
  • Don't come looking for advice, this is not the right community.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
  • 5. πŸ‡¬πŸ‡§ Language/язык/Sprache
  • This is primarily an English-speaking community. πŸ‡¬πŸ‡§πŸ‡¦πŸ‡ΊπŸ‡ΊπŸ‡Έ
  • Comments written in other languages are allowed.
  • The substance of a post should be comprehensible for people who only speak English.
  • Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
  • 6. (NEW!) Regarding public figuresWe all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations.
  • Keep discussions polite and free of disparagement.
  • We are never in possession of all of the facts. Defamatory comments will not be tolerated.
  • Discussions that get too heated will be locked and offending comments removed.
  • Β 

    Please report posts and comments that break these rules!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.

    founded 2 years ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] nesc@lemmy.cafe -1 points 2 days ago* (last edited 2 days ago) (2 children)

    Pypi isn't in any way less an option for distributing software countless projects that use it that way can be used as a proof. Hell, awscli installed from pypi for ages. In my experience cargo is extremely slow at downloading hundred libraries that every program needs and rustc is extremely slowly builds them.

    [–] edinbruh@feddit.it 6 points 2 days ago* (last edited 2 days ago) (1 children)

    Correction, uv isn’t in any way less an option. pypi is only the registry. If you are using pip you will end up in dependency hell, you might use something like poetry to avoid that, but uv is just better.

    But... wait a minute... uv is inspired by cargo, and it's also written in rust. That's quite the coincidence, huh?

    Also, cargo is fast, it's rustc that's slow, and that's because rustc is doing advanced code analysis. Compiling rust is actually NP-hard, but in exchange for that, the compiler will catch bugs in place of the developer. Which is a good tradeoff considering that you only compile once and run many times.

    "countless projects that use it that way" isn't proof of anything. Countless projects tell you to curl a 2000 lines script into sudo bash that will fill your os with bullshit.

    [–] nesc@lemmy.cafe 1 points 2 days ago* (last edited 2 days ago) (2 children)

    Pip is a sane default that works for absolute majority of cases, anyway correct tool for installing programs from pypi is pipx that eliminates 'dependency hell', but ofc new cool tool is the only way to do things.

    When little program in rust that replaced previous one compiles two hours compared to previous that compiled in a few minutes it matters.

    [–] rtxn@lemmy.world 3 points 2 days ago* (last edited 2 days ago) (1 children)

    None of the issues you've described are Cargo's fault. The long compilation time is simply rustc's compile-time checks (ensuring type and memory safety is much more involved than lexing in GCC), and the number of dependencies to compile is a result of the crate ecosystem. Cargo is just the front-end that automates fetching dependencies and compilation with rustc. Blaming it for slow compilation is like hitting your monitor when the computer is acting up.

    [–] nesc@lemmy.cafe 1 points 2 days ago* (last edited 2 days ago)

    I'm not blaming cargo specifically for building it is slow to download deps as well, which was clearly stated in my first post. I'm going to edit it now.

    [–] edinbruh@feddit.it 2 points 2 days ago (1 children)

    UV is a lot more than pipx. It installs applications from pypi, without dependency hell, but it also uses hard links when possible to avoid wasting space. But it's also a dev tool. It manages python installations, workspaces, you can use it to edit the pyproject, it can also publish to pypi, even from a GitHub action if set up from pypi. It just does a lot more.

    [–] nesc@lemmy.cafe 2 points 1 day ago

    I know what uv is, also never felt the need for package manager do a lot more. Just not my use case, pip + pipx is enough for me. I do develop in python but I'm trying to do it as tidy as possible without any or minimal external deps due to environment constraints, maybe for web dev or other fields where there is a need to install billion external libraries and multiple versions of them uv is a right choice, who knows. Personally I would prefer first party tool.

    [–] Ephera@lemmy.ml 5 points 2 days ago

    The Rust compiler is more sophisticated than most compilers, so it can be slower at the same kind of tasks. But it also just does a different task here.

    One of the tradeoffs in Rust's design is that libraries get compiled specifically for a concrete application. So, whereas in most programming languages, you just download pre-compiled libraries, in Rust, you actually download their source code and compile all of it on your machine.

    This isn't relevant, if you get a pre-built binary. And it's not particularly relevant during development either, because you get incremental compilation. But yeah, if someone wants to compile a Rust codebase from scratch, then they have to sit through a long build.