← Back to context

Comment by GuB-42

1 day ago

How good is the debugger? "edit and continue"? Hot reload? Full IDE?

I don't know enough Rust, but I find these aspects are seriously lacking in C++ on Linux, and it is one of the few things I think Windows has it better for developers. Is Rust better?

> How good is the debugger? "edit and continue"?

Relevant: Subsecond: A runtime hotpatching engine for Rust hot-reloading - > Full IDE?

https://www.jetbrains.com/rust/ (newly free for non-commercial use)

> find these aspects are seriously lacking in C++ on Linux

> debugger

I've only ever really used a debugger on embedded, we used gdb there. I know VS: Code has a debugger that works, I'm sure other IDEs do too.

> edit and continue

Hard to do in a pre-compiled language with no runtime, if you're asking about what I think you're asking about.

> Hot reload

Other folks gave you good links, but this stuff is pretty new, so I wouldn't claim that this is great and often good and such.

> Full IDE

I'm not aware of Rust-specific IDEs, but many IDEs have good support for Rust. VS: Code is the most popular amongst users according to the annual survey. The Rust Project distributes an official LSP server, so you can use that with any editor that supports it.

  • So the answer is very clear "no" on all accounts, just like for other languages built by people who don't understand the value of good tooling.

    • I haven't used Rust much, but the tooling felt very solid. There's a default package manager that works well, unlike many other languages including C++ and somehow Python. Debugging is fine. Idk why you expected edit-and-continue, it's not like you get that in C++ either.

      3 replies →

No idea because I never do that. Nor does any rust programmer I know. Which may answer your question ;)

  • If programmers don't use a debugger, that's because the debugger is bad.

    For me, the ideal debugger is one you never leave. That is you are in a debugging session, maybe with your code running, or stopped on a breakpoint, and you write your code without leaving the session. You can see the values of your variables as you type them, the branches that will be taken, etc... When an error condition happen, you break on it, and still without leaving the session, you can fix the code, roll back before the error happened and see if it passes. IntelliJ is close to that, and it seems like some tools from the video game industry are even better.

    Debugging should be natural, it shouldn't be something you pull out as a last resort. If it is not natural, it is a bad debugger, or a bad development environment, period. Maybe there are reasons for why it is bad, maybe the language designers have other priorities, which is acceptable, but it doesn't change the fact that it is bad. Same goes for slow compile times by the way.

  • "Rust devs don't use debuggers" isn't a good answer. The one time I used Rust for some project like 7 years ago, I did have to use a debugger, and it was fine.