I actually think this is one of the things that Rust could crush C++ on, because build times are becoming the whole show on big C++ projects.
It's super weird to me that C++, with this whacky 1970s constraint that totally fucks up modularity, still builds neck-and-neck or better with Rust.
In principle Rust could do *way* better on this, and that is a feature that might get me to consider Rust seriously, no matter how stupid I think the borrow checker is. But Rust still compiles dog slow...
Not so fast! The compilation and linking is neck and neck with Rust so you can have an ELF in the same amount of time. But then you have to run all the C++ tools you mentioned to have parity with what the Rust compiler is doing.
> for all the talk about C++20 modules they haven't delivered yet.
Even when they're delivered, will all the libraries you depend on use them?
>In principle Rust could do way better on this, and that is a feature that might get me to consider Rust seriously, no matter how stupid I think the borrow checker is. But Rust still compiles dog slow...
The team that built the Borrow Checker deserves the Turing Award. It is an outstanding bit of computer science and engineering. I'm surprised that you think it's stupid.
It used to be dog slow but it's gotten very fast in the past two years. Another achievement.
>In principle Rust could do way better on this, and that is a feature that might get me to consider Rust seriously
Modules? Your take away from all this is that modules are the killer feature of Rust and that the Borrow Checker is stupid?
I call shenanigans. You are an elaborate troll. Well done for getting two responses out of me.
On the security standpoint and a wide net of crates.. that's a problem, same as with npm/yarn/pip/whatever and I agree on that. That one bugs me as well. Difficult to audit.
Edit: this post keeps getting up and down voted. I suspects it has to do with the phrase infected by gplv3. I like the license fine, but being realistic many businesses treat it like radioactive waste, so that has to be a consideration
I mean C++ dependency management is so bad there is a concept of a header only library so you just have to copy the file into your project with no support for managing versions.
C++ dependency management is so bad people use the OS installed dependcies because they struggle to set up a build environment otherwise.
What I'm saying is that C++ is pretty good and toe to toe C++ with all the tools you describe and Rust are fairly comparable. But with Rust the whole ecosystem uses it so the network effects make things much better. And it's snowballing.