Hacker News new | ask | show | jobs
by synergy20 1477 days ago
true, c++ renews itself every 3 years which is great, except that its tooling remains the same.

equip c++ with new tooling like what golang and rust have will be a huge boost to this language.

1 comments

With the exception of CMake evolution (now days a defacto standard), package managers (as Conan or vcpkg) or the support for new C++ standards in major compilers (clang, gcc, Visual) ;)
It's good that the C++ world has effectively standardized on something, but CMake still has a steep learning curve. I hate its structure as a jumbled mess of independent commands.

It needs more guidance for making simple, typical projects easy to set up, at the very least more stuff that works like ExternalProject_Add (a big powerful command with all its options clearly documented on one page).

ExternalProject_Add -> vcpkg or Conan. I have more experience with vcpkg and the steps are:

1) declare your dependencies in a vcpkg.json file (similar to npm's package.json). Example:

{ ... "dependencies": [ "openssl" ] }

2) Add it to your CMakeLists.txt file. Example:

    find_package(OpenSSL REQUIRED)
    target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)
OTOH learning how to debug cmake will guarantee your employment for life so there's an incentive.