Libraries vs applications in C++

Scott Meyers said in one of his talks at CppCon sth. like "C++ is great for libraries but not for applications. Unfortunately he didn't explain why.
Could some of the experts here shed some light on his statement please.
I can't really tell what his thought were. Maybe he refers to the fact that C++ unlike the other major languages does not have a build in gui which allows to create a simple gui application quickly.
I would say it is the portability issue. A library with no direct I/O (all output sent to strings or data containers that the caller can process and display) written in pure c++ (no OS libraries or GUI stuff build into it) is fairly portable. A full application is not, if it has a gui or full screen graphics (games, etc) or the like. There are portable languages that can make the interface easier.

However, a lot of programs for windows are written in window's flavored c++. And they are excellent. It only matters if you want to port the code, and a lot of programs are just fine living on windows.

It is hard to fault the language for this. Non-native GUI libraries are slow and clunky, and feel wrong on some OS. You can tell when you open a unix program on windows, because the interface is nonstandard and awkward. Native gui is more efficient and cleaner looking, so while you can do it, the results have often been less than stellar. Can't blame c++ for not buying into this approach.





Last edited on
Topic archived. No new replies allowed.