23

I think I'm going to start learning Rust. Can anyone suggest a good IDE to use?

you are viewing a single comment's thread
view the rest of the comments
[-] thesmokingman@programming.dev 1 points 1 year ago

Vanilla cargo.toml files are more akin to a requirements.txt than any of the others, which allow you to do things like set variables or create run scripts. However, vanilla cargo.toml files have some minimal Make functionality so it’s a bit more than just project dependencies. Each of those ecosystems has a slightly different approach to handling build tooling and dependency management. Rust puts the basic build and dependencies in one file with the assumption your system has the right Rust version, which is a lot simpler than others.

[-] lysdexic@programming.dev 3 points 1 year ago

So there is fundamentally no difference between cargo and any other contemporary dependency/package manager.

Also, it's worth noting that cargo is a fairly good package manager all things considered. It has a native lock file format, unlike requirements.txt. Running code that's built with cargo typically just works with cargo build. No futzing around with special build commands for your specific build tooling like in js. I can't speak for maven since I've only used it a little bit and never used it enough to be comfortable with it... but cargo just doesn't really have many major paper cuts.

Admittedly, cargo isn't really special - it's just a classic package manager that learned from the hindsight of its predecessors. It's all minor improvements if any. There's actually innovative build tooling out there: things like buck2, nix, etc. But those are an entirely different ball game.

[-] lysdexic@programming.dev 0 points 1 year ago

Also, it’s worth noting that cargo is a fairly good package manager all things considered.

Yes, I'm familiar with Cargo. My point was to point out the absurdity and silliness of OP's remarks on "no bulky management of a virtual environment, no make files, no maven, etc." Once Rust fundamentalista take off their rose-tinted glasses, it's clear that Cargo is just as good (or as bad) as any contemporary integrated build system.

While part of me agrees, I will say most ecosystems have some glaring flaws in them. Python's lack of lock files in particular is something that annoys me to no end. Having to use poetry, pipenv, or whatever else people are using now to get around it sucks. Python's lack of being able to use multiple versions of the same library is also a thing... but not something I've found issues with personally.

I'm not going to say cargo is some mind blowing system cause I really don't think it's innovative, at all - but I do think it's far better than most ecosystems just due to benefits of hindsight. Having an opinionated, simple build system that does all the right things out of the box is valuable, and I can't think of any mainstream language that really hits that mark otherwise.

[-] dukk@programming.dev 2 points 1 year ago

Well, it is standard.

That’s probably the biggest thing to consider: you use Rust, you use Cargo. It’s unanimous.

It’s built right into the language ecosystem, so there’s no divide, and everything’s just easily available to you.

this post was submitted on 03 Oct 2023
23 points (84.8% liked)

Programming

17314 readers
241 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS