Вот вам пример нормального современного C++, который, кстати, скоро может войти в состав SDK для оффтопа: github.com/kennykerr/modern
Вот вам пример, как библиотечные возможности STL и boost помогают отказаться от большинства паттернов GoF и тем самым избежать мусорных типов, таких как IXxxListener, IXxxObserver и т.д и т.п: accu.org/content/conf2013/Tobias_Darm_Effective_GoF_Patterns.pdf
Это всё - примеры нормального, простого языка, в котором авторы библиотек где-то далеко пишут мощные средства, работающие по принципу чёрного ящика с детальным описанием поведения, а обычные разработчики пишут просто и понятно даже джуниору.
Глядя же на большинство статей по С++11 и C++14, начинает уже тошнить от мета-программирования, супершаблонов с мегавариадиками, гипердеклтайпов с невероятно компильтаймовым вычислением абсолютно ненужных вещей (которые в 99% программ вообще незачем считать в компильтайме).
Почему так?