Comment by MyOutfitIsVague
1 day ago
Rust's compilation is slow, but the tooling is just about the best that any programming language has.
1 day ago
Rust's compilation is slow, but the tooling is just about the best that any programming language has.
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?steveklabnik
1 day ago
izacus
17 hours ago
adastra22
1 day ago
GuB-42
1 hour ago
frollogaston
8 hours ago
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.
4 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.
Slow compared to what? I’m still scraping my head at this. My cargo builds are insanely fast, never taking more than a minute or two even on large projects. The only ahead of time compiled language I’ve used with faster compilation speed is Go, and that is a language specifically designed around (and arguably crippled by) the requirement for fast compilation. Rust is comparable to C compilation, and definitely faster than C++, Haskell, Java, Fortran, Algol, and Common Lisp.
Just a few days ago I used cargo to install something. It took like two minutes at the last stage. Definitely not comparable to C or Fortran. I never had to wait that much before. With C++? Definitely. Never with C though.