1. Этот продукт имеет довольно косвенное отношение к С++. Я не говорю о
каких-то там хитрых частичных инстанцированиях шаблонов — нарушаются
базовые законы языка
2. Поскольку библиотека фактически написана на Delphi, она заточена под
использование именно языка Pascal. Например, не используются конструкторы,
нет множественного наследования, шаблонов и пр.
Одним словом, в нём ничего не осталось ни от мощи С++, ни от простоты Delphi
Вердикт однозначный: Билдер (Borland C++ Compiler version 5.6) = какашка. Ну используем мы его на работе всей конторой (что вы на меня так коситесь? ну легаси кода у нас куча — не выбрасывать же его. Думаем вот в будущем на дот нет перейти).
Начинаем издеваться над уродцем:
— качество кода = кака (смотрите обзоры компиляторов в сети (ВО ВСЕХ обзорах на первом месте интел компилер и майкрософт; GNU и Борланд — не передовики), я могу подтвердить на своем опыте;
— эта гребаная связка с паскалевой библиотекой просто убивает...
— на некоторые языковые конструкции может запросто вообще (на 5 версии без апдейтов) сказать, что мол "Internal compiler error"...
— падучесть повышенная (ну НЕЕЕЕЕЕЕЕЕЕЕТ в борланде нормальных сишников, у них еще со времен ДОСа borland c++ 3.1 страдал выпадением в осадок с выдачей веселого дампа регистров на экран...)
— кстати по наблюдениям лучших борландоводов 5 версия получше 6 (то что в 6 они сменили реализацию STL на SLPort — не плюс, старые жуки ушли, а новые пришли 8-))
— кроме RAD у Борланда перед майкрософтом нет НИКАКИХ плюсов (ну набросали вы очень быстро компонентов на форму, а в вижуале потратите на это ну скажем 2-3 дня. но скажите, как часто вам приходится полностью переделывать созданные формы, чтобы польститься на RAD??? В конечном итоге после того как помучаетесь немного — получите проект, по качеству (скорость/размер) лучше;
— у меня был проект на чистом Си++, который компилился на всем (и на Бор Си++ и на Интел и ВЦ с самым минимумов условных дефайнов. так вот угадайте какой из них работал быстрее? Кто сказал "борланд"? НА КОЛ!!! ЧЕТВЕРТОВАТЬ!!! На моей памяти код компиленный борландом НИКОГДА не был быстрее интеловского или майкрософтовского. Уже одно это стоит многого.)
— слейте в унитаз Вы этот Борланд. Дерните веревочку. Начальник при этом присутствовал? Тогда берите VC, скажите начальнику, что это серебряная пуля и вперед!
З.Ы. Извините за некоторые возможные перегибы, но этот борланд Си++ меня уже достал... А вот дельфи их получше будет (вот его я лублу).
Здравствуйте, gid_vvp, Вы писали:
_>Здравствуйте, gandalf_g, Вы писали:
_>>Borland C++ for DOS, for Windows? или Builder? поточнее плз
_>И Builder тоже.
А версия какая? 5-я или 6-я?
Ну а вообще берешь к примеру boost и пробуешь его откомпилировать билдером.
Везде где, не компиляется, это почти всегда недостаточная поддержка языка С++.
Из своего опыта с 5-м билдером могу добавать,
что COM с билдером использовать опасно.
Еще как то я натыкался на косяк с глобальными статическими объектами.
Для них в некоторых ситуациях происходит многократный вызов конструктора/деструктора.
Очень забавно смотреть, как ведет себя классический singleton,
реализованный на билдере.
Про IDE вообще отдельная история.
Выдать access violation во время билда проекта — это нормально.
На это я уже просто не обращаю внимания.
Желательно для самых популярных верисй.
Лучших из лучших, так сказать
B>Ну а вообще берешь к примеру boost и пробуешь его откомпилировать билдером. B>Везде где, не компиляется, это почти всегда недостаточная поддержка языка С++.
B>Из своего опыта с 5-м билдером могу добавать, B>что COM с билдером использовать опасно. B>Еще как то я натыкался на косяк с глобальными статическими объектами. B>Для них в некоторых ситуациях происходит многократный вызов конструктора/деструктора. B>Очень забавно смотреть, как ведет себя классический singleton, B>реализованный на билдере. B>Про IDE вообще отдельная история. B>Выдать access violation во время билда проекта — это нормально. B>На это я уже просто не обращаю внимания.
ЕК>2. Поскольку библиотека фактически написана на Delphi, она заточена под ЕК>использование именно языка Pascal. Например, не используются конструкторы, ЕК>нет множественного наследования, шаблонов и пр. ЕК>Одним словом, в нём ничего не осталось ни от мощи С++, ни от простоты Delphi
это недостатки именно библиотеки, а не компилятора.
Хотя компилятор — откровенно паршивый. Предлагаю для получения примерного списка ошибок сделать поск в boost по ключевому слову __BORLANDC__
Здравствуйте, unix_hater, Вы писали:
_>это недостатки именно библиотеки, а не компилятора.
_>Хотя компилятор — откровенно паршивый. Предлагаю для получения примерного списка ошибок сделать поск в boost по ключевому слову __BORLANDC__
Можно и нужно рассказывать и о недостаткак библиотеки
_>Можно и нужно рассказывать и о недостаткак библиотеки
В контексте заданного вопроса — НЕТ.
вопрос был не про Borland C++ Builder, а про конкретный компилятор.
Может быть, человек хотел просто взять free command-line tools ?
Зачем ему тогда рассказы про VCL ?
_>>Можно и нужно рассказывать и о недостаткак библиотеки
_>В контексте заданного вопроса — НЕТ. _>вопрос был не про Borland C++ Builder, а про конкретный компилятор. _>Может быть, человек хотел просто взять free command-line tools ? _>Зачем ему тогда рассказы про VCL ?
Несколько не понятна ВАША реакция. Я открыл эту тему, меня интересовали недостатки Borland C++, позже я уточнил вопрос желая услышать и о недостатках VCL, жду объяснений.
_>Несколько не понятна ВАША реакция. Я открыл эту тему, меня интересовали недостатки Borland C++, позже я уточнил вопрос желая услышать и о недостатках VCL, жду объяснений.
Здравствуйте, unix_hater, Вы писали:
_>это недостатки именно библиотеки, а не компилятора.
_>Хотя компилятор — откровенно паршивый. Предлагаю для получения примерного списка ошибок сделать поск в boost по ключевому слову __BORLANDC__
Нечто подобное я делал с реализацией STL, поставляемой с BC++.
Только там были сплошные Borland Bug
Сообщение заговорено потомственным колдуном, целителем и магом в девятом поколении!
Модерирование или минусование сообщения ведет к половому бессилию, венерическим заболеваниям, венцу безбрачия и диарее!
Здравствуйте, gid_vvp, Вы писали:
_>Кто ещё скажет?
У меня была когда-то бага с конструктором WideString (при создании объекта периодически вылетал access violation). Разбираться тогда не стал, просто заменил везде где смог WideString на AnsiString (версия Builder-а — 6). Так и не знаю до сих пор, это компиляторова проблема была или vcl...
Здравствуйте, gid_vvp, Вы писали:
_>Доброго дня.
_>Нужен список недостатков сабжа. _>Ссылки приветствуются.
В версии : тормознутый компилятор , и в классе WideString криво реализован оперетор сравнения == .
Пришлось пользоваться ф-цией — цленом — compareString () .
А так — удобная штука . Надеюсь слухи что мелкософт подбирается к Борлнду так и останутся слухами .
Здравствуйте, gid_vvp, Вы писали:
_>Доброго дня.
_>>Нужен список недостатков сабжа. _>>Ссылки приветствуются.
_>Плиз ещё недостатков Bildera и VCL
_>У меня очень плохое предчувствие по его поводу и поэтому хочется подтвердить свои опасения.
А зачем тебе это все, если не секрет?
Если для выбора средства реализации нового проекта,
то Borland C++ Builder однозначно выбирать не стоит.
Builder представляет интерес только для
студенческих разовых работ или legacy кода, когда деваться уже некуда.
Здравствуйте, bkat, Вы писали:
B>А зачем тебе это все, если не секрет?
Да тут, на работе некоторые товарисчи пытаются продвинуть его для разработки нового проекта, надо аргументированно доказать начальству что проблем будет больше чем всего остального
Здравствуйте, gid_vvp, Вы писали:
_>Здравствуйте, bkat, Вы писали:
B>>А зачем тебе это все, если не секрет?
_>Да тут, на работе некоторые товарисчи пытаются продвинуть его для разработки нового проекта, надо аргументированно доказать начальству что проблем будет больше чем всего остального
Для нового однозначно не стоит.
Все что угодно, кроме Билдера, будет разумнее...
Если есть тяга к Борланду, то лучше уж Дельфи.
Тебе уже довольно много аргументов привели.
B>Если для выбора средства реализации нового проекта, B>то Borland C++ Builder однозначно выбирать не стоит. B>Builder представляет интерес только для B>студенческих разовых работ или legacy кода, когда деваться уже некуда.
Я на нем много поработал, bcat совершенно прав. Новых версий выпускаться не будет, сервис-паков тоже.
Я на нем работал только потому, что в середине 90-х перешел на Дельфи, еще первые, так как писали БД, а в то время это была крутое средство для писанины БД. А потом захотелось С++, глянул на это убожище MFC, мне поплохело, а VCL я знал хорошо, вот и перешел на Билдер.
1. Да, во время компиляции можно действительно получить АВ, т.е. компилер не справляется с некоторыми неправильными конструкциями. Так что принцип такой — не вносить много изменений без компиляции.
2. Время компиляции нормальное, если грамотно пользоваться прекомпилированными хидерами, но для этого нужно использовать один трюк. Студия таких фокусов не требует.
3. Да, иногда встречаются совершенно необъяснимые ошибки. В таких случаях я делал пустой проект, проверял странный код в нем и убеждался, что это не мои скрытые баги, а ошибки компилятора/библиотеки.
4. С версией STL, которая идет вместе с 6-кой, лично я проблем не обнаружил. Хотя я использовал, наверное, 5-10% ее возможностей.
5. Если в 99-м году среда меня радовала по сравнению с 6-й студией, то сейчас, после работы с VS 2003 сильно раздражает. Все так и осталось на уровне 6-летней давности.
Сухой остаток: поскольку я embedded-разработчик, то до сих пор пользую Билдер 6 для всяких служебных программок. Если бы делал что-то серьезное, без сомнения VS 2003 + .NET + (C# или С++).
Сейчас не пользую .NET исключительно потому, что у моих пользователей слабое железо, а служебные проги должны работать везде и на всем.
Здравствуйте, gid_vvp, Вы писали:
_>Здравствуйте, bkat, Вы писали:
B>>А зачем тебе это все, если не секрет?
_>Да тут, на работе некоторые товарисчи пытаются продвинуть его для разработки нового проекта, надо аргументированно доказать начальству что проблем будет больше чем всего остального
нужно заглянуть в roadmap Borland — кажется, развитие этой линейки просто прекратилось,
а C++ Builder X представляет из себя совершенно другую вещь.