Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.27;
Скачать: CL | DM;

Вниз

MS Visual C++ vs Borland C++ Builder - что лучше?   Найти похожие ветки 

 
31512 ©   (2004-06-04 10:37) [0]

Вчера хотел отдохнуть от работы, попить пивка и пообщаться с друзьями. Именно с этой целью и подался на набережную Енисея, где находятся многочисленные летние кафе. Друзья мои не программисты, поэтому обшаться с ними легко и приятно - нет разговоров о работе. И надо было же вклиниться в нашу компанию ещё одному программисту! Он проходил мимо и, увидев знакомые лица, решил присоединиться к нам. Слово за слово и как-то даже незаметно зашёл разговор о средах разработки. Он хвалил Visual C++. Я спорить не стал, поскольку на практике с этой средой сталкивался мало. Мой опыт работы с С++ вообще ограничивается тем, что я принял участие в разработке некоторого проекта под Linux, где мы пользовались средой KDevelop. Я писал небольшую часть этого проекта, задачи стояли передо мной скромные, и особо глубоких знаний С++ не требовалось. Я вообще не претендую на глубокие знания С++. Однако он заитерисовал меня своим мнением:
1. Delphi - отстой!
2. Visual C++ - лучшая среда разработки для Win32
3. C++ Builder - плохо!
Я попросил проаргументировать своё мнение. Мне стало очень интересно на каких рассуждениях он основывался, делая такие выводы.
И вот какие аргументы он привел:
1. Delphi - отстой!
  Поскольку операционная система Windows написана на С, то С
  или С++ наиболее близкие языки для написания приложений под
  Win32 и компиляция происходит "правильней", т.к. вызовы
  некоторых функций операционной системы, написанных на С
  невозможно реализовать на Delphi и они заменены
  Борландовскими аналогами и не самыми лучшими. В частности он
  указал на работу с памятью. Мол Delphi не может так лихо
  работать с памятью как С++

2. Visual C++ - лучшая среда разработки для Win32
  Кто может написать лучшую среду разработки приложений под
  некоторую ОС? Только сам разработчик ОС! Таковой и является
  Visual C++! И вообще это классика!
3. C++ Builder - плохо!
  Борланду никогда не создать хорошей среды разработки, т.к.  
  они всех тонкостей Windows не знают. Только разработчику ОС
  это дано.

Всё сказанное им мне показалось несколько неубедительным. Во-первых потому, что ни разу, ни от кого не слышал, что с помощью Delphi нельзя решить какую-то задачу. Во-вторых судя по сообщениям на http://www.borland.ru/news/ Borland тесно сотрудничает с Microsoft в этой области, и более того, Microsoft рекомендовала среды разработки от Borland для разработки приложений под Win32. В третьих, я не вижу других причин тому, что C++ Builder компилирует приложения несколько "хуже" чем Visual C++ (как он утверждал), кроме как из-за использования VCL. Откажись от VCL и программы написанные на C++ Builder будут ничуть не хуже. Но с C++ Builder и Visual C++ я работал мало и отетсвенно заявлять не возмусь.

Поскольку я почти не ничего не знаю об этом, то решил погрузиться в интернет в поисках информации...

А как дела обстоят на самом деле? Каково ваше мнение и ваши аргументы? Поделитесь.


 
Sergey_Masloff   (2004-06-04 10:41) [1]

Ни один нормальный человек на такое сообщение отвечать не будет. Для мерянья пиписьками с товарищами ищи аргументы сам.


 
Polevi ©   (2004-06-04 10:43) [2]

у VS.NET длинее всех


 
Игорь Шевченко ©   (2004-06-04 10:52) [3]

Удалено модератором


 
Agent13 ©   (2004-06-04 10:55) [4]


> 1. Delphi - отстой!
> 3. C++ Builder - плохо!

Из чего вытекает: автор высказываний - лох! Так ему и передай.


 
Rouse_ ©   (2004-06-04 10:57) [5]

> у VS.NET длинее всех
:)))))))))))))))))))))))))))


 
Игорь Шевченко ©   (2004-06-04 11:00) [6]

Agent13 ©   (04.06.04 10:55)

Мне, кстати, C++ Builder тоже не нравится :) Но это мое скромное мнение


 
Anatoly Podgoretsky ©   (2004-06-04 11:01) [7]

И где ты только таких знакомых берешь, главное не заразиться.


 
Яр   (2004-06-04 11:03) [8]

У борланд С++ интерфейс как у делфи.
PS. Месаж создателя ветки не прочел слишком много написал.


 
31512 ©   (2004-06-04 11:04) [9]

Удалено модератором


 
Mystic ©   (2004-06-04 11:04) [10]

> В частности он указал на работу с памятью.

Кстати, алгоритмы работы с динамической памятью в Delphi лучше чем в Windows. Разработчики С++ зачастую подключают другие менеджеры памяти.

«Для компиляции FAR Manager использовался Borland C/C++ 5.02. MSVC 6 SP4 не оправдал ожиданий (FAR 1.70 beta 1) и добавил тормозов (работа с выделением памяти для мелких объектов)».

(с) Евгений Рошал, Far (версия 1.70 beta 2, сборка 321 от 16.12.2000)


 
Agent13 ©   (2004-06-04 11:05) [11]


> Мне, кстати, C++ Builder тоже не нравится :)

А мне ни С++ Билдер, ни Визуал С++ не нравятся, потому что я на Сях совсем кодить не умею. Но почему-то не заявляю, что это ацтой.


 
Лёлик   (2004-06-04 11:06) [12]

Удалено модератором


 
Danilka ©   (2004-06-04 11:08) [13]

А какой вопрос? Что лучше/хуже? Дык, на это скока людей, стока и мнений, на вкус и цвет, как говорицца, товарищей нет.

А то, что твой друг чего-то не может сделать на дельфях того-же, что и на vc++, то это только его личное умение. Я вот, например, некоторые вещи, которые могу сделать на дельфях, не смогу сделать на vc++. :))


 
Nikolay M. ©   (2004-06-04 11:10) [14]

Удалено модератором


 
Лёлик   (2004-06-04 11:11) [15]

Удалено модератором


 
31512 ©   (2004-06-04 11:13) [16]


> Anatoly Podgoretsky ©   (04.06.04 11:01) [7]

До вчерашего дня я его вообще не знал. Предпочитаю на отдыхе не говорить о работе,а он всё испортил.


 
31512 ©   (2004-06-04 11:15) [17]


> Agent13 ©   (04.06.04 10:55) [4]

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


 
Sergey_Masloff   (2004-06-04 11:22) [18]

31512 ©   (04.06.04 11:04) [9]
>Значит ты бы стал задавать такой вопрос в форум, если бы у тебя >возникла необходимость
С момента покидания стен детского сада эта необходимость у меня не возникает. А было это (детский сад) очень давно - тогда интернета и форумов не было. Поэтому сказать по этому поводу ничего не могу.
 А вот ты, извини уж, из детских штанишек не вырос еще раз тебя интересуют такого рода дискуссии и аргументы для них.
 Мой совет один - если есть время и необходимость то изучи несколько сред (на нормальном уровне) и делай выводы о их пригодности на своих оценках. Любые эксперты тоже люди и могут ошибаться, тем более твоих задач они не знают.
 Лично я довольно много работаю и с Delphi и с VStudio (сейчас еще и с VStudio .NET), был опыт и с C++Builder и еще с наверное десятком сред (например Advancer Revelation). И сказать про что-то отстой я не могу. А ты хочешь прочитать отзывы неизвестно кого а инете, составить на этой базе свое мнение и отстаивать его потом с пеной у рта обзывая оппонентов лохами. Имекнно это я и называю меряньем пиписьками и можешь не рассказывать что это не твоя цель - все ж видно, люди тут не слепые.


 
31512 ©   (2004-06-04 12:26) [19]


> Sergey_Masloff   (04.06.04 11:22) [18]

Почему ты за меня решаешь чего я хочу, а чего нет? Почему ты вообще решил, что я задал вопрос чтобы с кем-то спорить?

> А ты хочешь прочитать отзывы неизвестно кого а инете, составить
> на этой базе свое мнение и отстаивать его потом с пеной
> у рта обзывая оппонентов лохами.

С какого лимонада ты взял, что я вообще собираюсь с кем-то о чём-то спорить? Почему ты решаешь за других?

> Ни один нормальный человек на такое сообщение отвечать не
> будет. Для мерянья пиписьками с товарищами ищи аргументы
> сам.

Не хочешь - не отвечай. А решать за меня чего я хочу не надо. Если есть предположения - обоснуй.


 
Григорьев Антон   (2004-06-04 12:26) [20]

При всей моей любви к Delphi хочу сказать следующее:

1. Некоторые функции API (например, GetGlyphOutline) возвращают данные в таком виде, что для их разбора очень удобно использовать арифметику указателей их простое преобразование. Или нужно работать с указателем как с массивом. В Паскале это делается не так удобно, как в C/C++.

2. Заголовочные файлы для новых функций и расширений системы для VC++ появляются одновременно с выходом этих технологий, а для Delphi - значительно позже Например, в Delphi почему-то до сих пор нет модуля, импортирующего функции Windows Sockets 2 (модуль WinSock экспортирует только функции Windows Sockets 1.1). Другой пример - транслятор IDL в Delphi не поддерживает некоторые атрибуты (например, size_is), и опять непонятно, почему.

3. С C++ Builder"ом я близко не знаком, но подозреваю, что это не есть гуд. Идеология VCL рассчитана на использование виртуальных конструкторов и метаклассов, которые есть в дельфийском диалекте Паскаля, но нет в С++. Пришлось притягивать за уши.

Краткое резюме: всё равно Delphi лучше. Хорошо продуманный язык и интерфейс вызывает удовольствие от занятия программированием, а это главное. А одно только описание C++ занимает около 1000 сраниц, поэтому программирование на нём - это постоянная борьба с синтаксисом. Как в том анекдоте про парня, который трудности любит.


 
Игорь Шевченко ©   (2004-06-04 12:32) [21]


> Краткое резюме: всё равно Delphi лучше


Я бы сказал - удобнее. Но не лучше.


> А одно только описание C++ занимает около 1000 сраниц, поэтому
> программирование на нём - это постоянная борьба с синтаксисом.


А описание Object Pascal разве меньше ? :)


 
Игорь Шевченко ©   (2004-06-04 12:34) [22]


> Заголовочные файлы для новых функций и расширений системы
> для VC++ появляются одновременно с выходом этих технологий


Они появляются в Platform SDK, что вполне естественно. При этом, появляются они чаще всего для трансляторов С, а не С++


> Например, в Delphi почему-то до сих пор нет модуля, импортирующего
> функции Windows Sockets 2


Что с успехом возмещается наличием сайта http://www.delphi-jedi.org

С уважением,


 
wicked ©   (2004-06-04 12:37) [23]

хм... поработал я и с билдером, и с vc, сложил своё мнение...
как среды программирования, и delphi, и vc выглядят намного целостней, чем билдер - сложилось впечатление, что 6 версия его ходила в борланде в пасынках, преимуществ IDE перед delphi почти нету (про компилятор потом), зато унаследовал все недостатки IDE delphi... хотя если сравнивать с visual studio, то можно положить, что delphi == builder (с оговорками)...

теперь по IDE"ам (очерним ;))...
недостатком delphi (и в особенности builder) является почти полное отсутствие project manager"а - настройки компилятора задаются по отдельности, target-папки задаются отдельно... в самой delphi это еще не так заметно из-за того, что используется object pascal, который из-за своей модульности избавляет от необходимости иметь по две-три компилированные версии сторонних библиотек - если есть исходники, перекомпилирует сама...
в builder же это проявляется в полной мере, поскольку все сторонние библиотеки (zlib, lame etc) должны существовать в нескольких вариантах и легко переключиться с одной варианта на другой - не совсем простая задача...
в vc данные проблемы решаются через build configurations...

недостатком же vc является то, что он как раз никакой и не visual - трудоёмкость и скудость средств разработки gui просто поражает... да, это можно обойти через наследование от CButton/CStatic, но реюзабельность такого решения очень низка...

по компиляторам...
delphi - очень быстрый, достаточно оптимизирующий компилятор... недостатки:
1. создание обьектов только динамически... раздражает, когда надо на каждый чих писать MyObject.Create/MyObject.Free... хочется добавить, что у builder в этом плане все таки лучше обстоят дела - можно создать шаблонный класс обертку (наподобие smart pointer) с перегруженным оператором "->"...
2. отсутствие средств работы с указателями... и не надо тыкать, что это сделано для блага разработчика...
преимущества:
1. модульность... только перейдя на builder, я осознал всю мощь и прелесть uses ;) - никаких подключений .obj/.lib файлов, никаких ошибок линковки...
2. пространства имен... они появились вместе в модулями, когда c++ еще в коротких штанишках бегал... ;) изящное и красивое решение, которое опять таки осозналось только с переходом на builder... особенно достает, когда нужно использовать TBitmap - компилятор сразу ругается на ambiguity между классом TBitmap из модуля Graphics и стуктурой TBitmap (откуда то из Windows.hpp - наследие delphi, в которой все типы начинаются на T)... и в каждом проекте из-за этого стоит "#define TBmp Graphics::TBitmap"...

недостатками vc является его неполная совместимость с ANSI/ISO стандартами - особенно это проявляется при работе с STL (оговорюсь, это с чужих слов)... из тех граблей, что я наткнулся - scope переменных, обьявленных в цикле for...
преимущества - быстрый, оптимизирующий...

уффф.... так много не привык писать...
скажу, что это моё имхо, с которым у вас есть право соглашаться или не соглашаться, читать или не читать...


 
вразлет ©   (2004-06-04 12:38) [24]

Удалено модератором


 
Григорьев Антон   (2004-06-04 12:44) [25]


> Игорь Шевченко ©   (04.06.04 12:32) [21]
>
> > А одно только описание C++ занимает около 1000 сраниц,
> поэтому
> > программирование на нём - это постоянная борьба с синтаксисом.
>
>
> А описание Object Pascal разве меньше ? :)


Можно и на 2000 написать, если постараться. Но всё равно: нет шаблонов, нет препроцессора, нет многих хитрых операторов, зарезервированных слов существенно меньше. Так что и объём информации будет меньше.


 
Игорь Шевченко ©   (2004-06-04 12:56) [26]

Григорьев Антон   (04.06.04 12:44)

Увы, твоя правда. Object Pascal Language Guide занимает 256 страниц, значит, язык в четыре раза проще :)))


 
Григорьев Антон   (2004-06-04 13:00) [27]


> Игорь Шевченко ©


А описание Оберона-3 (aka Component Pascal) - чуть больше 20-ти страниц. А в языке есть почти всё, что нужно (лично мне там не хватает только исключений, типа-диапазона, перечисляемых типов,  нормальных множеств и битовых операций).


 
Плохиш   (2004-06-04 13:02) [28]

>31512 ©   (04.06.04 12:26) [19]

> Если есть предположения - обоснуй.

все обоснования в 31512 ©   (04.06.04 10:37)


 
Игорь Шевченко ©   (2004-06-04 13:06) [29]

Григорьев Антон   (04.06.04 13:00)

У меня аналогичная тоненькая книжка по С есть (без ++) :)


 
Григорьев Антон   (2004-06-04 13:14) [30]


> Игорь Шевченко ©   (04.06.04 13:06) [29]
> Григорьев Антон   (04.06.04 13:00)
>
> У меня аналогичная тоненькая книжка по С есть (без ++) :)


А сколько страниц займёт книжка "Чего мне не хватает в С"? :))


 
Игорь Шевченко ©   (2004-06-04 13:25) [31]

Григорьев Антон   (04.06.04 13:14)

Я полагаю, что немногим больше или меньше "Чего мне не хватает в Паскале (не Object)" :)


 
Nic ©   (2004-06-04 13:32) [32]

Я думаю, что каждый язык и каждая среда лучше подходит для своих задач. Скажем Delphi изначально была создана для написания БД, приложений общего назначения, а VC++ - совсем другие задачи. Что лучше? Зависит от поставленных задач.


 
Игорь Шевченко ©   (2004-06-04 13:37) [33]


> Скажем Delphi изначально была создана для написания БД,
> приложений общего назначения, а VC++ - совсем другие задачи.


Из рубрики: А вы и не знали...


 
Nic ©   (2004-06-04 13:42) [34]


> Из рубрики: А вы и не знали...

В смысле?


 
Clickmaker ©   (2004-06-04 13:43) [35]


> Nic ©   (04.06.04 13:32) [32]

Как раз таки большинство приложений общего назначения написано на C


 
Григорьев Антон   (2004-06-04 13:45) [36]


> Nic ©   (04.06.04 13:32) [32]
> Я думаю, что каждый язык и каждая среда лучше подходит для
> своих задач. Скажем Delphi изначально была создана для написания
> БД, приложений общего назначения, а VC++ - совсем другие
> задачи. Что лучше? Зависит от поставленных задач.


Откуда этот миф, что Дельфи - для БД? Вот моя программа, написанная целиком на Дельфи: http://plasma.mephi.ru/newlib.html. Никаких БД там нет. На VC++ я за такую программу не взялся бы.


 
Nic ©   (2004-06-04 13:46) [37]


> Как раз таки большинство приложений общего назначения написано
> на C

В основном - БД


 
Nic ©   (2004-06-04 13:49) [38]

В том смысле, что на Delphi некоторые вещи сложнее писать, нежели на Си.


 
TUser ©   (2004-06-04 14:01) [39]

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

> на Delphi некоторые вещи сложнее писать, нежели на Си.
А некоторые наоборот - на Delphi проще. Для решения прикладных задач Delphi подходит лучше, чем VC. А твой товарищ просто лучше знает Си, ему и кажется, что все остальное отстой.


 
Григорьев Антон   (2004-06-04 14:02) [40]


> А твой товарищ просто лучше знает Си, ему и кажется, что
> все остальное отстой.


Это - самые точные слова!



Страницы: 1 2 3 вся ветка

Текущий архив: 2004.06.27;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.034 c
14-1086693972
init13
2004-06-08 15:26
2004.06.27
Callback


14-1086450902
DiamondShark
2004-06-05 19:55
2004.06.27
Небольшой информационный апокалипсис


4-1085107194
BoxTer
2004-05-21 06:39
2004.06.27
Как убить процесс ntvdm.exe


3-1086067028
mixam
2004-06-01 09:17
2004.06.27
эмуляция поля autoinc


3-1085976764
Yad
2004-05-31 08:12
2004.06.27
Размер лога MS SQL