C++ Builder vs. Visual C++

Форум для программистов

Сообщение FimanAuthor » Ср июн 23, 2004 8:54 am

Borland Visual C++ 2003 на основе Pascal :)
FimanAuthor
Прапор
 
Сообщений: 71
Зарегистрирован: Чт мар 18, 2004 5:50 am
Откуда: Россия
Пункты репутации: 0

Сообщение Sh0Ck_filE » Чт июн 24, 2004 3:41 pm

2All:
Вот на рсдн меня ссылками покормили... решил поделиться с форумчанами Изображение
Признаюсь результаты некоторых тестов не показали тех результатов, которых я ждал, т.е. полное превосходство Intel компилера, за ним - GCC, потом MSVC и наконец мой нелюбимый BCC Изображение
Естественно, всё это дело на разных тестах выглядит по-разному.
Думаю данные обзоры значительно помогут людям вроде меня, выбирающих нормальную среду разработки. Признаюсь, то как всё закручено на BCPP Builder мне нравится больше всего, однако... однако если при помощи него или MSVC++ вы сделаете программу на коммерческой основе, а затем выяснится что вы пользовались при компиляции нелицензионным компилером, то... вы сами понялиИзображение
Конечно же BCC распространяется отдельно от всей среды бесплатно. Однако качество его несмотря ни на всё оставляет желать лучшего, поэтому про него как просто компилятор я даже думать не хочу.
Отличием бесплатного MinGW от почти идеального MSVC++ стало лишь отсутствие оптимизации вызова функций и инструкций FPU, тогда как в компиляторе от Borland отсутсвовало более 70% возможностей MSVCpp (результаты RSDN Magazine).
Что меня больше всего поразило, что "идеальный компилятор" от Intel работает настолько же хорошо на процессорах конкурентов - AMD!
Чтобы не бросаться исключительно собственными умозаключениями, я приведу выдержки из различных источников, приведённых ниже.
С учётом замечаний моего друга Anthony, нами был сделан вывод об отсутствии необходимости использовать STL-тип CString из-за падения скорости. Это было официально подтверждено:
"Согласно результатам, не рекомендованный STL string работает в 12 раз быстрее, чем родной CString Microsoft! Как тут в очередной раз не задуматься о практичности рекомендаций Microsoft... А вот просто потрясающий результат на поиске от Intel Compiler это результат оптимизации "ничего не делающего кода" - поиск как таковой он просто выбросил из конечного бинарного кода. Не менее интересен результат gcc - во всех тестах, связанных с выделением памяти, gcc оказался на первом месте."
В той же статье:
"Казалось бы, вывод о самом эффективном компиляторе напрашивается сам собой - это Borland Builder C++. Но не стоит спешить. Многие разработчики указывают на ошибки при формировании кода у Borland Builder (в частности, при использовании ссылок его поведение становится непредсказуемым). Кроме того, Borland Builder C++ явно наследует многое от Delphi (один модификатор вызова метода DYNAMIC чего стоит), в результате чего при компилировании абсолютно правильного С++ кода могут возникать ошибки (например, отсутствие множественного наследования для VCL-классов; а все потомки от TObject являются VCL-классами).
С другой стороны, самым стабильным и "вылизанным" компилятором можно назвать gcc. Но скорость выполнения откомпилированного кода на нем будет не слишком высокой. Причиной тому, вероятно, существование gcc на многих платформах и, как следствие, необходимость компилирования под эти платформы.
MSVC++ или Intel Compiler не имеют явно выраженных недостатков, так что их позиции примерно равны."

При тестах на *nix платформе bcc НЕ используется по причине крайней сырости Изображение, зато активно используются компиляторы Intel и GCC Изображение
"...можно констатировать, что gcc в целом не сильно проигрывает своему коммерческому конкуренту — продукту компании Intel."

Выводы пусть каждый оставит свои. Только не забудьте ими поделиться! Изображение
Ну а раз уже это мой пост, выскажусь и я: по-прежнему отказываюсь признавать как хороший компилятор от Borland. Если говорить по-хардварному Изображение, то у него наихудшее сочетание цена/качество.
На данный момент наиболее приемлемым для меня является GCC, и его порт под маздай MinGW (Cygwin пока пользовать не советовали).
Ну, а в "отдалённом светлом будущем" всё же хочется использовать MinGW параллельно с официально купленной Visual Studio + компилятор от Intel.

-=-=Статьи из которых можно почерпнуть немало полезной информации о компиляторах:=-=-
*Программирование C++ на windows с использованием свободных средств разработки
<a href='http://mp.krupskaya.com/altprogramming.html' target='_blank'>http://mp.krupskaya.com/altprogramming.html</a>
*Альтернативные средства разработки для Windows
<a href='http://gzip.rsdn.ru/article/devtools/devtools.xml' target='_blank'>http://gzip.rsdn.ru/article/devtools/devtools.xml</a>
*Сравнительный анализ компиляторов С++
<a href='http://www.comizdat.com/3/4/90/90/3808/3810/' target='_blank'>http://www.comizdat.com/3/4/90/90/3808/3810/</a>
*SPEC CPU2000. Часть 5 — Компиляторы.
<a href='http://www.ixbt.com/cpu/insidespeccpu2000-compilers.shtml' target='_blank'>http://www.ixbt.com/cpu/insidespeccpu2000-compilers.shtml</a>
<a href='http://www.ixbt.com/cpu/insidespeccpu2000-compilers-add2.shtml' target='_blank'>http://www.ixbt.com/cpu/insidespeccpu2000-...lers-add2.shtml</a>
Последний раз редактировалось Sh0Ck_filE Чт июн 24, 2004 3:43 pm, всего редактировалось 1 раз.
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Сообщение sm@rt » Чт июн 24, 2004 3:54 pm

А мне всё равно нравится Борландовская среда :) готов мириться, а вот ещё поробуй докажи что я на нелицинзионном его откомпили. Там 30-days trial. И всё в порядке. А цена такая - за нимоверное кол-во поддерживаемых компонент и удобство работы с ними.
Красота и массовые расстрелы спасут мир.
sm@rt
Генерал-майор
 
Сообщений: 2935
Зарегистрирован: Вт фев 25, 2003 4:42 pm
Пункты репутации: 0

Сообщение Леха » Чт июн 24, 2004 5:41 pm

<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->*Сравнительный анализ компиляторов С++ <a href='http://www.comizdat.com/3/4/90/90/3808/3810/' target='_blank'>http://www.comizdat.com/3/4/90/90/3808/3810/</a><!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
довольно интересная статейка
Леха
Полковник
 
Сообщений: 1261
Зарегистрирован: Чт мар 20, 2003 8:52 pm
Откуда: Россия, Москва, Улица, Дом, Квартира
Пункты репутации: 0

Сообщение Sh0Ck_filE » Чт июн 24, 2004 6:15 pm

2sm@rt
Да я против среды как раз нисего против и не имею... я вырос на ней Изображение
Вот если бы можно было туда свои компиляторы присобачивать! [мечтательно] Изображение

Добавлено:
Наткнулся на тот же вопрос в rsdn. Ответ одного чела очень понравился. Цитирую:
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
01.08.2001 1:41:58
От: VladD2
Тема: Отличие Visual C++ от Builder C++
L>Кто знает, чем отличается среда Visual C++ от Builder C++.

Вопрос очень... нет, ОЧЕНЬ плохой. На iXBT он тотчас же привел бы к тремстам постингам флэйма. Если Вы действительно хотите понять разницу между некоторыми продуктами, то:
а) Вам это должно быть Оооочень нужно!
б) Вам (лично) нужно освоить оба продукта и не на тестах, а на реальных по возможности больших проектах.

Если Вы понимаете о чем (и главное почему) я это говорю, то можете читать дальше. Далее я дам СВОЕ сугубо субъективное мнение. И оно будет не о среде, а о продуктах в целом. Да собственно и не о продуктах, а о профессионалах, мастерах, ламерах, и прикладниках.

Вы, удивитесь, но если отбросить совсем новичков и совсем крутых гуру, то эти среды отличаются уровнем знаний использующих их программистов. Заранее говорю! СПОРИТЬ Я НИ С КЕМ НЕ БУДУ! Delphi и Builder обедняют вокруг себя большое прикладных программистов и ламеров. Связано это с тем (похоже, реального ответа, думаю, не знает ни кто), что в этих продуктах реализованы две вещи.
1. Мощный визуальный редактор форм.
2. Много готового кода с приемлемым качеством разнесенного по разным классам и компонентам.
Остальные, безусловно полезные, интересные и красивые решения, технологии и подходы являются лишь строительным материалом для вышеперечисленных фич.
Прикладнику которому нужно, например, работать с промышленными СУБД, такое решение может оказаться очень подходящим. Основная логика задачи реализуется легко, а небольшие тонкости, время от времени возникающие на пути, можно решать за счет того, что оба языка являются (как минимум основаны) языками третьего поколения и позволяют осуществлять доступ к всевозможным API. Правда, такая деятельность для них является хакерством (или высшим пилотажем). Про ламеров и говорить ни чего не надо. Они (и начинающие программисты) выбирают эту среду из-за возможностей быстрого старта. Старта и в смысле обучению языку и в смысле легкости создания каркаса программ. Еще одним критерием который приводит выбору этих продуктов является возможность вообще избежать программирования как такового за счет использования готовых компонентов (как входящих в поставку так и посторонних). Скажу сразу ни чего плохого во всем этом нет, кроме того, что очень часто начинающий программист вместо того, чтобы прейти в разряд матера переходит в разряд ламера, который считает задачу не решаемой если не нашлось готового компонента для ее решения и в ближайшей конфе не помогли.

VC, gcc, g++, Intel C Compiler, и многие другие (заметьте, это не всегда среды) соберают вокруг себя тех кто может думать головой. Боже упаси думать могут и пользователи Borland, но из-за выше перечисленных причин общий процент не велик. Продукты приведенные в списке отличаются тем, что на них почти нельзя работать не углубившись в дебри познания.
Простой пример. В поставку VC входит ПОЛУТОРА ГИГОБАЙТНЫЙ MSDN. Большинство работающих на продуктах Borland даже не знают о его существовании (ну, или ограничиваются этим знанием). А ведь MSDN – это библия Win32 программирования. Далее в VC средства дизайна GUI мягко говоря уступают средствам предоставляемым Delphi или Builder-ом (gcc и g++ - это вообще только компиляторы). Это приводит к тому, что основная часть программы является кодом. Причем Вашим кодом. Т.е. на программиста ложится несравнимо большая нагрузка и от него требуется знать намного больше чем в Builder. Построение таких программ приводит к появлению бОльшего количества кода и рано или поздно встает проблема структурирования кода. Delphi эта проблема стоит не так резко, так как во-первых, она сама помогает структурировать программу, а во-вторых, много кода вообще не надо писать. Собственно это большое преимущество если речь идет о сроке и выполнения проекта. Для прикладника это и является главным факторам. НО!!! Но, с точки зрения обучения – это большая беда! Просто нет такого количества практики, и проблем. Думаю анализ не нужен. Могу сказать только, что, по моей практике, самые луч VB- и Delphi-программисты – это высоко "скильные" C/C++-ники пересаженные на эти продукты.
VC люди выбирают не только из мазохистских побуждений. Бывают области (и как не странно их большинство) где GUI основанное на диалогах не главное. Например, подсчитайте количество диалогов в Word-е. А теперь прикиньте столько там остального кода. Или Q1-Q3 или те же компоненты. Причем в этих программах очень часто становятся критичным скорость выполнения. Для таких программ обычны большие объемы рукописного кода (порядка – 30к-300к строк C++-ного кода, а иногда и больше). И тут на первый, план выходят не RAD-ости, а средства работы с большими объемами кода и средства оптимизации. Вот здесь то VC и g++ выходят на первые роли.
Оговорюсь, что на Delphi можно сделать все тоже самое, что можно сделать на VC, но общая совокупность перевешивает. Например, компилятор Delphi порождает очень не дурственный код когда речь идет о работе со строками и целыми числами. Это – 90% потребностей прикладного программиста, но когда речь заходит о ручной оптимизации, о работе с float, о доступе к неординарным API, то Delphi пасует и сильно. Builder вообще обижен Borland-ом он проигрывает даже своей сестре – Delphi. С VC ему даже бесполезно тягаться. К тому же в VC можно довольно встроить Intel C Compiler который увеличивает разрыв в скорости (на новых процессорах) до заоблачных величин. Конечно можно попытаться это сделать и на Builder-е, но... Вот тут и рождается менталитет.

А что нужно мастеру если его основная задача моделировать задачи и долбить код? Правильно средства моделирования и хороший редактор кода. С средствами моделирования на сегодняшний день дела обстоят очень плохо. Самым серьезным инструментом моделирования для C++ является Роза от Рэйшонал. Откровенно говоря гов-но она полное. Кривая рисовалка, но хоть что-то! И именно, это, что-то, входит с 98 г. в VC. Но, из-за малой пользы на практике... Перейдем к редактору кода. Вот тут VC и Emacs (применяемый обычно совместно с g++) сильно выигрывают. Про Emacs лучше спросить у его поклонников, а про VC расскажу. 1. в VC можно полностью настроить клавиатуру под себя, на схему с раскладкой заменить, а настроить любую кнопку с на любое действие (даже макрос или метод плагина). 2. Сам редактор имеет больше возможностей и более интуитивен. Присутствуют такие функции как автоматическое форматирование отступов, запись и воспроизведение макросов. Отладчик VC (на сегодня) не превосходит дельфийский (а иногда даже ему уступает), но он более чем пригоден, для отладки сложных приложений. И это так уже на протяжении минимум десяти лет. В Delphi приличный отладчик появился в пятой версии, да и то при серьезной работе возникает слишком много проблем и неудобств. Кстати, некоторые навороченные возможностей отладки были реализованы MS, а Borland использует их плоды.
И Delphi и Builder и VC поддерживают расширения. Это приводит к тому, что недостающие части среды можно дополнять модулями скаченными из Internet-а. Для VC можно найти много мощеных расширений и почти все они доступны в исходных кодах. Расширения есть и для сред Borland, но преимущественно для Delphi, и 90% носят фетишистский характер. Например, для VC есть мощнейший опгрэйд для комплит ворда - "Visual Assist". С ним не сравнятся встроенные реализации ни VC 6 ни Builder-а ни даже VC 7.

В общем, хвалить можно кого угодно и сколько угодно и сравнивать можно, что угодно с чем угодно, но надо точно знать зачем, для кого, с какой точки зрения и главное делать это нужно самому, но после глубокого и всестороннего изучения подопытных.

PS

Да, совсем, забыл о профессионалах! Изображение Профессионал – это человек зарабатывающий себе на пропитание некоторой профессией. Обычно подразумевается, что делает он это не случайно. То есть профессионал может быть и дельфист и сионист и кто угодно кроме ламера. Чего себе и Вам желаю. Изображение
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Последний раз редактировалось Sh0Ck_filE Пн июн 28, 2004 3:09 pm, всего редактировалось 1 раз.
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Сообщение Papa Dallas » Вт авг 03, 2004 6:54 am

У меня еще один довод в пользу визуалки.
Что круче MCSD и MCSE или бормановская сертификация. Ясно дело первое такчто приготовьте люди деньги для Билла
Изображение
Изображение
Papa Dallas
Капитан
 
Сообщений: 200
Зарегистрирован: Чт июн 05, 2003 6:42 pm
Откуда: Славный город -Казань!
Пункты репутации: 0

Сообщение Vitalik » Ср авг 04, 2004 10:48 am

Я голосовал за Borland.
Так как, во-первых, привык я к ней.
Во-вторых, действительно удобно в её среде программить!
В-третьих, под Borland написано огромное количество отличных компонентов! :D
<!--coloro:black--><span style="color:black"><!--/coloro-->Добро пожаловать на сайт по SynUniHighlighter: <a href="http://www.unihighlighter.com" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->www.unihighlighter.com<!--colorc--></span><!--/colorc--></a>

Совсем недавно открылся новый проект "<a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->Портал Снов<!--colorc--></span><!--/colorc--></a>"!
Огромная просьба поддержать его хотя бы своим присутствием. <a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->portalsnov.ru<!--colorc--></span><!--/colorc--></a><!--colorc--></span><!--/colorc-->
Vitalik
Капитан
 
Сообщений: 233
Зарегистрирован: Пн окт 27, 2003 11:06 pm
Откуда: Украина, cейчас живу в Харькове (учусь), а вообще я из Крыма
Пункты репутации: 0

Сообщение Papa Dallas » Чт авг 05, 2004 4:15 am

2Vitalik
Странно я вроде думал, что в визуалке с компонентами нет проблем...
Наверное ошибься...

А привыкать можно не только к хорошему. Ты бы по делу.

2Всем
А вообще даже автор согласен что это треп и визуалка круче, так что пора закрывать эту тему.
Изображение
Изображение
Papa Dallas
Капитан
 
Сообщений: 200
Зарегистрирован: Чт июн 05, 2003 6:42 pm
Откуда: Славный город -Казань!
Пункты репутации: 0

Сообщение Sh0Ck_filE » Пт авг 06, 2004 9:19 am

2Papa Dallas
2ALL! :
Я не согласен что это трёп. Я отстаиваю свою точку мнения, и если ты посмотришь на нынешние резалты голосования, то голосов поровну! Что это значит? Что есть другие люди! :) Они доказывают своё мнение, я своё, а если считать это флеймом - тогда получается весь форум на 100% флейм??? И закрывать тему РАНО!!! ;)
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Пред.

Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19