Клуб разработчиков программных систем

Истории Про Сервис

Темы | Статьи | Рейтинги |

Delphi или Visual C++ - вот в чем вопрос.

Сергей Трофимов

На днях я получил письмо с таким вопросом:
>Вы можете рассказать чем отличается DELFI от VISUAL C++.
>В чем недостатки и преимущества  VISUAL C++, и какую программу из этих Вы посоветуете изучать.

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

Сразу начну со второй части вопроса. На него ответ можно было бы предугадать заглянув на сайт. Я не большой фанат Microsoft, но работаю на их продукте и считаю, что только за одно то, что везде стоят программы от Билла Г. можно выбрать именно VC++. Вспомните, что на Microsoft Visual C++ можно писать для MSOffice, писать обработчики баз MSAccess, легко работать с Windows NT, MS SQL Server.Так, что я больше склоняюсь к VC++.

По работе мне приходилось писать DLL и FLL (Foxpro Link Library) для Microsoft Visual Foxpro и это делается достаточно легко, причем даже в Help для Foxpro написано по шагам как делать библиотеки именно на VC++. Книг по VC++ предостаточно - учись - не хочу. Да и программисты требуются, можно заглянуть на www.job.ru. Конечно,   любой программист, будет востребован, если уровень его будет cравнительно высоким.

С точки зрения создания программ -разница между Borland C++ Builder(если изучать, то его, а не Delphi, как более продвинутую систему) и VC++ просто огромна. Например, разный подход к структуре приложений. VC++ каркасная структура, а Builder - компонентная.

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

Компонентный - когда приложение изначально создается на основе одного каркаса, который не дается программисту для изменения. А вся функциональность создается путем добавления и изменения программных компонентов.

Я бы сказал, что в VC++ возможностей больше для профессионала, но Builder легче для начинающего. Может быть он более понятен интуитивно, если не слишком обременять себя чтением литературы.

У Microsoft аналогичными возможностями обладает Visual Basic (кстати, используется для программирования MSOffice, рекомендую, как более простой в изучении, но не такой универсальный как VC++).

Опять же для каких целей применять среду программирования. Как писал Дмитрий Турецкий (ведущий сайта www.listsoft.ru) если человек пишет на С++ программу печати платежный поручений и языка при этом раньше не изучал, то это, по крайней мере, вызывает удивление. Для того, чтобы написать такую же программу на Visual Basic понадобиться значительно меньше труда на изучение собственно языка. Однако, я не во всем соглашусь с Дмитрием в этом примере. Если программа не одна, а входит в информационную систему, то написать ее может быть проще и на Basic, но сопровождать - значительно проще на С++ с его объектно-ориентированным подходом и строгим контролем данных. Но если вы пишете конкретную задачу, то можно использовать язык оптимизированный для создания такого типа задач. Правда, с появлением DLL и OLE и ActiveX границы между языками стираются. Ведь всегда можно воспользоваться библиотекой даже не зная на каком языке она была написана. Но все-таки, если есть специализированный инструмент то лучше воспользоваться им. Обычно, это RAD средства с наборами готовых объектов для конкретной предметной области.   

Другое дело- выбор между "одноклассниками" такими как Builder и VC++ здесь больше вопрос привычки, если уже изучена какая-то из систем. В свое время я начинал с Borland C++ для DOS. Но потом перешел на VC++, благо для программирования под Windows там изначально были наработки Microsoft, которые усиленно проталкивались в массы программистов, эта легкость, с которой создавались графические элементы в VC++ после работы на TurboVision меня просто подкупили.

Delphi вырос из паскаля, за это его и любят паскалисты. Builder - это смесь Delphi и BC++, а VC++ изначально рос сам по себе, еще и поэтому он мне нравится больше. В начале своей карьеры я написал несколько простых программ на паскале, но С++ стройнее и мне более симпатичен.

У Borland лучше дело с описаниями и HELP. Но VC++, как мне кажется,знает большее число людей. Я имею ввиду на профессиональной основе, хотя данные для таких выводов чисто субъективны кто подсчитает?

Глючность программ от Microsoft, вошла в историю, но, что действительно точно, так это то, что глюков в MsVC++ значительно меньше, чем в других продуктах Microsoft (FoxPro, например с которым я достаточно поработал). Не знаю как в Builder, на нем много не работал.

Да и достать CD с Visual Studio проще, чем продукты Borland.
И самый наверное убийственный аргумент в пользу Microsoft так это поддержка VC++ таким CASE средством для разработки приложений как Rational Rose. Поддержка   именно VC++, позволяет по графическим диаграммам классов создавать исходный код проекта. По себе знаю, когда за тебя может создать код программа, хотя бы и просто шаблон для классов, то совершенно нет желания писать его руками.

Теперь я исхожу только из времени, затраченного на  изучение. Если вы уже затратили несколько месяцев на работу, то жалко начинать все с начала и изучать еще один инструмент. Лучше знать один язык, но хорошо, чем иметь понятия о нескольких, без возможности написать что либо серьезное...

Конечно, разговор на тему какой язык программирования лучше, похож на вопрос какой иностранный язык изучать английский или немецкий. Конкретного ответа не даст никто. У каждого варианта есть свои плюсы и минусы. Я остановился на Microsoft Visual C++ чего и вам желаю.

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

| 1 |

Имя : zsh 21/01/2008 15:00
Сообщение:
вы писали: "на Microsoft Visual C++ можно писать для MSOffice, писать обработчики баз MSAccess, легко работать с Windows NT, MS SQL Server"
- это глупость, на Delphi с этим работать еще проще и эффективнее. Такое впечатление, что автор юзал только Microsoft Visual C++.
Ответить

Имя : laservis 30/07/2008 04:13
Сообщение:
Абсолютно не конструктивная IDE. Организация рабочего места больше похожа на свалку, а автора похоже гложет обида что не Мокрософт разработал такую РАД как C++Builder или сейчас CodeGear
Ответить

Имя : almia 09/06/2009 12:10
Сообщение:
[url=http://www.polzunok.ru]детский конструктор лего 9336 [/url], лего 2009.
[url=http://www.kaneboshop.ru]каталог кальянов на две персоны [/url], на две персоны.
Ответить

Имя : xdev 02/07/2009 03:18
Сообщение:
Согласен с laservis. Как IDE для разработки GUI - худшее, что я когда-либо видел. Писать, конечно, можно, но жутко неудобно. Названия элементов классов, структур, типов данных часто нелогичны, а то и вовсе нечитабельны. Документация (я имею в виду MSDN) убогая и не всегда соответствует действительности. Если смотреть с точки зрения разработки граф. интерфейса, та же Qt, к примеру, сделана гораздо аккуратнее, логичнее, прекрасно документирована, не говоря уже о кроссплатформенности и других не менее вкусных вещах. BCB и Delphi тоже очень хорошие IDE со множеством достоинств. Касательно написания чего-то для MSOffice, MSSql,MSAccess, правда, ничего сказать не могу, я системный программист и с таким, к счастью, не сталкиваюсь. Судить могу только об удобстве работы с IDE.

"...Borland C++ Builder(если изучать, то его, а не Delphi, как более продвинутую систему". Я бы не сказал, что BCB чем-то лучше Delphi и наоборот.

Более того, сравнивать VB с Delphi или BCB - абсолютно некорректно. Последние два - это абсолютно полноценные средства разработки с широкими возможностями, в то время, как VB очень убогий.
Ответить

Имя : roman 28/08/2009 05:53
Сообщение:
Вопрос "Delphi или C++?" как и прочие т.н. holywar-ы имеет один простой ответ "Что бы вы ни выбрали, вы НЕ ОШИБЕТЕСЬ".
Delphi хоть и поддерживает концепцию ООП, но т.к. является RAD-средой, программирование на практике является процедурно-ориентированным (кинуть на форму кнопку, написать/скопипастить код).
С++ же вынуждает пользователя работать с классами (создавать, прописывать свойства, связывать с интерфейсом).
В пользу С++ есть увесистый аргумент: ОСи Unix.
Ответить

Имя : slw 21/09/2009 19:48
Сообщение:
Нет, roman.
"Delphi хоть и поддерживает концепцию ООП, но т.к. является RAD-средой, программирование на практике является процедурно-ориентированным".
- с этим нельзя согласится. Действительно, если программа небольшая простая, аффтор в основном фактически только визуально расставляет компоненты на форме и пишет отдельные процедуры. Что очень удобно, кстати, т.к. в чем-то большем ни малейшей необходимости.
Однако ничто не запрещает в Делфи создавать свои собственные классы. Которых нет в шаблонах. И создавать свои компоненты. Причем создание, использование своих классов очень, извините, делал такое, наглядное и удобное. Просто Делпфи не обязывает создавать свои классы - но это только преимущество! Чтобы не было в коде программы никаких излишних смутных конструкций.
Если же программа разрастается, усложняется, при превышении некоторого уровня сложности программы, для ее понимания и наглядности структуры разработчик в Делпфи будет вынужден создавать и использовать свои классы.
Ответить

Имя : trojan 01/06/2010 20:15
Сообщение:
самое лучшее это Delphi . Я его уже несколько лет юзаю ,хотел установить VC++ но из-за ошибок не смог программировать на нем! на Delphi я учился примерно 1год... мне советуют С++ ,но я отказываюсь смотря на Delphi и его простоту!
Ответить

Имя : Артём Мирошниченко 18/08/2010 13:24
Сообщение:
>самое лучшее это Delphi . Я его уже несколько лет юзаю ,хотел установить >VC++ но из-за ошибок не смог программировать на нем!
trojan, из-за ошибок где ? в кривых руках или может в Вашем неработоспособном мозге ? ))
Ответить

Имя : Дима 05/09/2010 08:44
Сообщение:
позволю себе рассказать свой опыт...
Писал и пишу на Delphi более 10 лет. Автор (уж извините пожалуйста) как будто действительно свалился с луны. Писал только на майкрософтовских средах разработки и почему то сделал умозаключение , что только на них можно взаимодействовать с MS Office и так далее. Но и это даже ладно. Я решил тут , чтобы от времени не отставать, все таки поизучать творение майкрософт...(начал с Visual Studio 2008 с++)и что я вижу... нажимаю ctr-пробел (подскажи мне код), а она мне в ответ, что в CLS/с++ не поддерживается данная функция (выругался матом) и это мне сказала Ultimate версия!?!!!!?!??!!!! ладно, на дворе век 18-ый, майкрософт -все для людей.. проглатил это (я не сказал, я в основном пишу под базы данных) пробую следующий шаг, "накидать" приложение под БД... А НЕТУ!!!! в 2005 с++ как оказывается было как понятие в дизайн-тайме кинуть датабэйс а в 2008 нафиг не надо и в 2010 тоже ... написал конечно ручками ради принципа но потратил на это времени просто несопостовимое по времени с delphi... Но больше всего взбесило - написав приложение - "Hello, World" я не смог его запустить на компе просто так... надо установить платформу .NET это тысячи файлов, так еще и под конкретную платформу.. 1,2 ,3 а 2010 студия уже и 4 .... ЭТО БРЕД!!!! а вот так сложилось.. ну так вот :) не смотрел я в сторону родного продукта С++ Builder, после месяца того как меня полностью взбесил майкрософт студио я решил попробовать и... вот оно счастье!!! Все компоненты дополнительные подтянулись(в путях только пришлось кое-где внести изменения). С БД связался в две секунды... с++ стало изучать еще более по кайфу, свои приложения (частично) от удовольствия использования начал переводить на с++ с возможностями языка которого нет в pascal ...
p.s. ни одного на самом деле аргумента я никогда не слышал от привержинников майкрософт, кроме как констатации самого факта, что это самая крутая среда разработки... и что Delphi в обще скоро умрет. Это я слышу уже несколько лет.
Ответить

Имя : Дима 05/09/2010 08:48
Сообщение:
Кого раньше всех хоронят- тот дольше всех живет ;)
Ответить


| 1 |
Комментарии к статьям закрыты.

© Trofimov Sergey   http://www.caseclub.ru при цитировании ссылка обязательна.