Здравствуйте, Дарней, Вы писали:
Д>Здравствуйте, alexeiz, Вы писали:
A>>Меня уже достали твои общие слова. Ты отрицаешь наличие высокоуровневых возможностей в C++?
Д>А меня достал ты со своей уверенностю в том, что ты здесь лучше всех знаешь С++.
Да, я вижу поголовное плохое знание С++. Это большая проблема.
Д>Там нет: Д>1. Стандарта на массивы и строковый тип. std::vector и std::string на эту роль не подходят, потому что все равно авторы каждой библиотеки изобретают собственные велосипеды.
В этом виноваты авторы каждой библиотеки. Стандарт на то и нужен, чтобы перестать изобретать велосипеды. Начни использовать стандартные средства. Стандарт на стоковой тип есть.
Д>2. Стандарта на политику обработки ошибок
Не меньше, чем в других языках. Исключения поддерживаются на нужном уровне.
Д>3. Нормальной возможности использовать функциональные типы (заменители на килобайтах шаблонов и макросов — не считаются)
Это камень предкновения? Программируй на функциональном языке.
Д>4. Замыканий
Функторы.
Д>5. Уверенности в том, что безобидный на вид код не окажется злостным UB
Не замечено. Давай ты приведёшь пример well-formed C++ кода, использующего высокоуровневые абстракции, в котором тебя ждут упомянутые тобой проблемы.
Д>Там есть: Д>1. Хреновая поддержка стандарта в распространенных компиляторах
К языку не относится. Не нужно путать язык и его реализации. К тому же в распостранённых компиляторах поддержка стандарта уже oчень хорошая.
Д>2. Необходимость писать килограммы оберток каждый раз, когда тебе нужно использовать чужую библиотеку (см п.1 и п.2)
Проблемы библиотек. Объясни мне, как херовые сторонние библиотеки вдруг стали проблемой языка?
Д>3. Заботливо разложенные на каждом шагу грабли, в качестве ярких примеров — vector<bool>, auto_ptr в котейнерах, и прочие радости.
Эти грабли хорошо изветсны и никакой опасности не представляют. Читай документацию, что называется. В auto_ptr написано, как он должен использоваться. Ты можешь положить его в контейнер, только если не прочтёшь его документацию. Я уже не говорю о том, что компилятор тебе по рукам даст.
vector<bool> настолько искуственный пример, что если тебе не сказали о его проблемах, ты бы даже и не подозревал.
---
Все твои "аргументы" даже и на йоту не ближе к тому, чтобы показать, что на С++ нельзя программировать на высоком уровне абстракции.