Re: Что Вам мешает в С++?
От: StevenIvanov США  
Дата: 21.06.08 20:08
Оценка: 39 (4)
Здравствуйте, remark, Вы писали:

R>Что Вам мешает в С++?


если вкратце — отсутствие мощности и выразительности лиспа. Насколько это красивый язык — и не описать.

подробнее —

1) Очень высокая сложность языка.
следствия:
— сложность обучения => сложность подготовки специалистов (контрпример — тот же Lisp, который описывается несколькими предложениями и вообще прост как 3 рубля. Либо тот же VB )
— сложность написания спец тулов (для С# и рефакторер нормальный есть и форматтер и дебаггер и код-эксплорер в одной IDE и еще куча всего. Для С++ тоже вроде как есть, но какое-то некрасивое все)
— сложность написания компилятора 100% соответствующего стандарту (только Comeau C++ 100% ISO compliant). Из за этого еще одно "под-следствие" — internal compiler error'ы Я лично сталкивался несколько раз
— сложность в разработке coding standards/coding practices

2) Устаревшая система сборки сложного проекта (#include/подключение сторонних библиотек/build проекта) — уже упоминалось. Решено в C#.

3) Непродуманная стандартизация.
— Включены малополезные вещи типа экспорта шаблонов и теневой системы типов, исключено такое, как например стандарт на манглер, что не позволяет по-человечески экспортировать класс в библиотеке, который можно использовать в проекте, собираемом другим компилятором (этой частной проблемы нет, например в C#).
— Можно еще много чего вспомнить, надо только вот полазить по этому форуму, но лень что-то.

4) Невозможность быстро экспортировать в С++ крупный проект на С — возникает куча утомительных ошибок с преобразованием типов и проч. Не совсем недостаток, просто drawback из-за того, что в С++ введены такие вещи, как строгая типизация

5) Макросы, живущие отдельно от языка. Причина многих бед и катаклизмов Контрпример — в LISP макросы не являются злом, напротив придают языку колоссальную мощь.

6) По сравнению с С# нет вкусностей типа делегатов и потрясающе мощного рефлекшна.

А так язык — во
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.