2 ms·
My beef with C++ is with its dependency (non)management. For almost every modern language, you can easily build and run code - pull code from repo, run the inc
by PeterisP 6y ago
My beef with C++ is with its dependency (non)management.
For almost every modern language, you can easily build and run code - pull code from repo, run the included script or standard command to get the dependencies and build it, bam, you're done without needing to know much about that language.
With C++ it seems like half of the time pulling someone else's old project from github and running make (or whatever the author's instructions in README are) results in failure with some error that's tricky to diagnose and fix. For example, you would get some weird code error message that has zero indication with the actual cause which is that your system has a newer version of some core library than the author had.
- jstimpfle 6y agoMight just as well be a strength. At least you won't get these packages that will pull 309 dependencies, and that might build or not with the dependencies that are automatically pulled or not (with a considerable chance that it doesn't). With C/C++, there's a bigger manual upfront investment if you want to integrate a library, but it might just be that you get cleaner libaries.
- umanwizard 6y agoThe dependency manager for C and C++ is called apt-get.
- blandflakes 6y agoI didn't know C++ was bound to debian-derived operating-systems!
- lenkite 6y agovcpkg/conan solves this headache quite well now.