How can we tell?
When pondering a question such as the title of this chapter, we are faced with the big challenge of selection. The choice of libraries for any project is completely contextual, and it fully depends on what the project is trying to solve. Of course, there are some features that are needed no matter what the project does, such as logging or unit testing, but what should we pick beyond these?
After all, it seems deeply unfair to compare web development in C++ with web development in Java, as it is to compare systems programming in C++ with systems programming in Java. Neither is C++ used for web development extensively, nor is Java for systems programming. In fact, C++ has had its own niche for a long time, and while it has been slowly eroded by Java, C#, Rust, and Python, it still holds the fort for use cases such as game development, firmware, high-frequency trading, engineering applications, automotive, systems programming, and probably others. The other languages...