3 ms·
Lots of reasons, but a big one is that dependency and build management in C++ is absolutely hellish unless you use stuff like Conan which nobody knows. In Rust,
by roca 2y ago
Lots of reasons, but a big one is that dependency and build management in C++ is absolutely hellish unless you use stuff like Conan which nobody knows. In Rust, you use Cargo and everyone is happy.
- pjmlp 2y agoThere are lots of things I don't know until I learn how to use them, duh. Cargo is great, for pure Rust codebases, otherwise it is build.rs or having to learn another build system, and then people aren't that happy any longer.
- riku_iki 2y agoYou can always use something as simple as Make for your C++ proj with manually dumping dependencies to some libs folder.
- roca 2y agoThat doesn't solve the problem of making it easy for people to download and build the dependencies.
- riku_iki 2y agoThe idea is that dev packages dependencies in lib folder, so when people retrieve sources, they also retrieve all dependencies. But you are right, that this is some extra work for dev, so this is question of trade offs: do you want to deal with all C++ build tooling mess, or you are Ok to do some manual steps. Another alternative is to use some popular stable linux distro as build platform, then many libs will be packaged as part of that distro.
- roca 2y agoOh, you mean vendoring. Yes, you can do that, but there is no easy support for keeping those vendored dependencies in sync with upstream. And if you want really nice things like notifications when those dependencies have security updates that you need to apply --- forget it.