Why C++ Today?

C++ is both our legacy and our future.  For all its warts and historical problems it has an abundance of modern features many of them specially designed to mitigate/replace old idioms/constructs. C++ programmers nowadays can easily write programs completely avoiding such perilous old things. 

The TOOLS. Yes, the tools! C++ has a very mature tools echo-system: from excellent free/OSS tools, to amazing commercial tools, polished for decades for various programmer workflows. From security, safety checks, sanitizers/fuzzers, to productivity tools up to date with the latest language/library developments. 

Speaking of libraries, the C++ STL has grown a lot with the ISO standards 11,14,17,20 and more valuable additions are coming in C++23. From new algorithms and ranges to various utilities and support libraries for IO, networking, coroutines, concurrency, heterogenous parallelism and more. Yes, there are more specialized things a programmer might need, but this is where the C++ echo-system comes in to fill the gaps with a plethora of industry grade (and stable) libraries for all sorts of necessities.

Every important piece of software we use today has some C++ in it: maybe it’s all C++, maybe it has some important components in C++, maybe it’s library is natively compiled in C++, maybe it’s compiler/runtime is written in C++,…

C++ is still the King of programming languages. Long live the King!