Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.038 c
1-1087297165
ЁПРСТ
2004-06-15 14:59
2004.06.27
Можно ли сделать ComboBox нередактируемым?


1-1087289051
AlexG
2004-06-15 12:44
2004.06.27
DLL из обычной в ресурсную...


3-1085940173
Valera
2004-05-30 22:02
2004.06.27
БД подключение справочника


1-1086674913
MakNik
2004-06-08 10:08
2004.06.27
Oкругление


1-1086946538
Litr
2004-06-11 13:35
2004.06.27
QuckRep





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский