Здравствуйте, Pzz, Вы писали:
Pzz>Никакая конкретная фича C++ не является сама по себе проблемой. Проблемой является невероятная сложность, необъятность и запутанность языка в целом.
Ну так вам как раз и говорят о том, что мало кому нужно знать C++ в целом. Достаточно некоторого подмножества, изучение которого, хоть и не простое и не быстрое дело, но более-менее возможное.
S>>А вот тут обеспечивает как раз таки. Целиком и полностью. Ибо возможностей для разработки своих абстракций или выражения ограничений нет от слова совсем.
Pzz>Обстракции, хм. Для обстракциев языку не помешало бы иметь алгебраические типы, паттерн матчинг, лямбда-функции и замыкания. Этого всего нету ни в C, ни в C++, ни в моем любимом Go.
Лямбда-функции в C++ есть с C++11 прямо на уровне синтаксического сахара. С учетом capture list для лямбд можно говорить и про замыкания.
АлгТД и паттерн-матчинга не хватает. В C++17 из коробки можно пользоваться std::variant и std::visit (вместе с трюком overloaded). В последующие стандарты могут и паттерн-матчинг завезти. Предложения для этого формируются.
Так что даже из вашего списка в C++ гораздо больше инструментов, чем в чистом C.
S>>Нуждается в доказательствах.
Pzz>Ну какие тут могут быть доказательства? Могу лишь сослаться на свой собственный опыт, но кто ж его примет в качестве доказательства?
Можно привести какой-то пример кода. Не обязательно своего.