Цитата(MrYuran @ May 27 2011, 12:36)

Ну все-таки С++ (не говоря про С) на сегодняшний день уже довольно убогий. И в первую очередь засчёт очень скудных средств препроцессора.
Ну, уж и убогий. Вполне мощный современный
низкоуровневый ЯП. Его недостатки в виде препроцессора, местами дурацкого синтаксиса - это наследие С, совместимость с которым была поставлена во главу угла и именно благодаря которой этот ЯП смог стать таким используемым.
И если на больших машинах сейчас множество задач вполне успешно решаются с использованием высокоуровневых (скриптовых) языков, то в embedded плюсам самая ниша - эффективная реализация при внушительной мощи языковых средств.
Самый главный недостаток плюсов - это, имхо, сложность. Но тут причина не столько в самом языке, сколько в его низкоуровневости, которая подразумевает тучи нюансов почти по всем аспектам. Поэтому эффективно разрабатывать ПО на нём можно только если имеется достаточный опыт. Думается, что с D, как продолжением этой линейки, ситуация будет аналогичной.
Цитата(MrYuran @ May 27 2011, 12:36)

Шаблоны в С++ несколько улучшают ситуацию, но вот почитал я того же Александреску - это ж свихнуться можно.
Книга напоминает сборник магических заклинаний. Интересно, захватывает, но крыша потихоньку едет набекрень.
Кодогенерация таким способом - это для маниаков.
Это с непривычки.

Да, многие финты там возникают оттого, что в языке не были предусмотрены определённые средства - например, оператор определения типа на этапе компиляции - ведь эта функциональность вполне бесплатно даётся (в смысле накладных рантайма), делается компилятором, совместимость с прежними версиями не нарушает, но до сих пор не добавили - вот Александреску и наизобретал финтов, как это реализовывать.
На самом деле там у него почти все навороты относятся к области, где давно рулят ЯП более высокого уровня, в том числе и функциональные. Конечно, сравнивать по удобству и безопасности эти языки с С++ некорректно (как и С++ сравнивать с ними по эффективности кода

). Это просто другая ниша. Естественно, что использовать средство не в своей нише - это всегда сложности и риск.
Как бы то ни было, Александреску - это отдельная тема. Подавляющее большинство кода пишется не в таком стиле, и плюсы вполне себя оправдывают.
«Отыщи всему начало, и ты многое поймёшь» К. Прутков