I’ve been working exclusively in C++ for the past several weeks. As you point out in the wonderful post, Oleksandr, C++ is always a struggle.
If you have some experience with Java, the code almost always compiles. When you use an IDE like Eclipse, Java recompiles when you save the file.
C++ on the other hand… If you have a misplaced “const” you get obscure error messages. If you have a problem with a templated operator, the errors can go on for pages.
In C++ you have to constantly think about what the language is doing, in addition to thinking about the problem you’re trying to solve.
So why do I use C++… In this case, because I don’t have any choice. It is the only language that is acceptable for the platform I’m working on.
What comes after C++? D of course. Sadly D has not gotten the recognition that it should have.