3 ms·
What's often neglected is the excellent tooling around Rust, that alone is reason enough to switch from C++, where you have a really fragmented tooling ecosyste
by ThePhysicist 4y ago
What's often neglected is the excellent tooling around Rust, that alone is reason enough to switch from C++, where you have a really fragmented tooling ecosystem and you're often required to deal with complex Makefiles or build config as well as download dependencies manually. Most of that just disappears with Rust, unless you're developing code that interfaces with existing C/C++ libraries.
- humanrebar 4y agoC++ could improve its tooling but systems programming is inherently a bit of a fragmented ecosystem. I'm not sure we can shoehorn cargo into all the situations where C, C++, and Fortran have adapted to already.
- qalmakka 4y agoThis, also. C and C++'s build model is a train wreck, especially in C++ code gets rebuilt dozens of times due to headers being simply plopped into whatever translation unit you are building. Rust efficiently solves this by defining building abstractions in the language itself, instead of relying on hacks such as #include, PCH, ...
- pjmlp 4y agoC++ modules....
- runevault 4y agoHas support for these gotten any better? Last time I was reading about it compiler support was under baked at best. If they get it fully working and stable I agree modules should go a long way to getting rid of it (entirely if you are willing to wrap old header files in modules yourself).
- selfmodruntime 4y agoNo. GCC still produces weird output at times.
- pjmlp 4y agoYes in what concerns VC++. All my hobby coding in C++ uses modules nowadays.
- nemetroid 4y agoThey work well in VC++ (not surprising, since it’s largely Microsoft’s design). I would give it another year for reasonable support in GCC.
- pjmlp 4y agoDepends what tooling you care about. There is plenty of C++ tooling for GPGPU, game engines, IDE, GUI programming, HPC,... that Rust still lacks. In what concerns cargo, vcpkg and Conan are good enough, and support binary libraries, no need to compile everything from scratch.