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

  • jeffhykin@lemm.ee
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    10 months ago

    There’s not going to be a rust-specific FOSS editor AFAIK (nothing like RustRover from JetBrains). However the Rust extensions are first-class experience on VS Codium, Neovim, Emacs, etc.

    More importantly, unlike Java, C#, Kotlin, C++, or Python Rust doesn’t benefit all that much from a language-specific IDE. There’s no bulky management of a virtual environment, no make files, no maven, etc. Just a human-readable cargo.toml for your packages, an install command, and a build+run command.

    • lysdexic@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      ·
      10 months ago

      There’s no bulky management of a virtual environment, no make files, no maven, etc. Just a human-readable cargo.toml for your packages

      In your perspective, what’s the difference between a cargo.toml and a requirements.txt, packages.json, pom.xml, etc? Is there any?

      • thesmokingman@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        10 months 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
          link
          fedilink
          English
          arrow-up
          3
          ·
          10 months ago

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

          • dukk@programming.dev
            link
            fedilink
            arrow-up
            2
            ·
            10 months 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.

      • jeffhykin@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        10 months ago

        To get to your core point; I agree python without a virtual env, just raw python, is definintely not bulky. I’d argue its much more lightweight than cargo. My comment was because sounds like OP could be new-ish to programming, and, for a number of projects (ex; Android development), going from a big IDE to just a plaintext editor + command line commands can be a really painful jump. I remeber a Java course having a series of IDE tutorials and I could not for the life of me figure out the plaintext+commandline equivlent. The same can happen for certain python projects if a tutorial expects the editor to set the PYTHONPATH and the project has a venv, and the tutorial expects the editor’s terminals start already-inside python virtual environment. That kind of stuff can make 'python without an IDE" confusing and daunting to someone merely following PyCharm tutorials.

        I just wanted to assure OP they likely wouldn’t have that kind of experince with Rust. AFAIK Rust tutorials rarely (if ever) assume an IDE.

        Being not-bulky isn’t a rust specific thing, a half-decent package manager meets the qualitification, but OP was asking about Rust and might not know.