Как компоновщик C ++ складывается с другими RAD IDE? - PullRequest
3 голосов
/ 20 января 2010

Прошло несколько лет с тех пор, как я занимался разработкой для ПК (я обычно занимаюсь встроенным программным обеспечением).

В то время я был очень опытным (Borland, сейчас CodeGear) C ++ Builder. Время шло, C ++ Builder стал чрезвычайно дорогим, и есть альтернативы (студия MSVC, NetBeans, QtCreator, возможно, даже Eclipse с правильными плагинами). Другие

Три вещи касаются меня (в произвольном порядке), простота использования, дополнительные компоненты GUI и кросс-платформенность.

Простота использования - я хочу IDE, которая помогает, а не мешает мне. Хороший отладчик, рефакторинг, переход к объявлению переменных, использование и все такое ...

Компоненты графического интерфейса - при использовании C ++ Builder я был поражен тем, насколько легко было разрабатывать дополнительные компоненты VCL и сколько их было доступно, часто бесплатно. Таким образом, если бы я хотел использовать стандартную сетку строк, где ячейки также могли бы содержать рисунки, флажки и т. Д., Я мог бы, вероятно, найти один или свернуть свой.

Я не уверен, каково текущее состояние дел в отношении дополнительных компонентов. Есть ли в других системах что-то вроде http://www.tmssoftware.com/site/?

Кроссплатформенность - я лично использую Linux для всего, но реально у большинства моих пользователей есть установки Windows. Итак, кроссплатформенность «приятно иметь», «при прочих равных условиях».

Теперь мне нужно выбрать решение и придерживаться его в течение следующих нескольких лет. Какой из них, учитывая мои пункты выше (стоимость играет роль, но не делает / ломается)?

Заранее спасибо за помощь.

Ответы [ 5 ]

7 голосов
/ 20 января 2010

Я использовал C ++ Builder и Visual Studio.В течение многих лет я всегда предпочитал C ++ Builder, а не VS Builder, а VCL чувствовал себя намного лучше, чем продукты Microsoft.(Даже исходный код библиотеки Borland выглядит чище, чем все, что выходит из Microsoft).

Интегрированный отладчик в Builder действительно интегрирован и довольно интуитивно понятен.

Я считаю, что Builder много компилируетбыстрее, чем Visual Studio.У Builder 5 была проблема, которая делала его излишне медленным, но в то время он все еще был быстрее, чем VC ++, а в последних версиях Builder время компиляции было меньше.Ускорители, такие как TwineCompile, делают Builder еще быстрее.

Я никогда не пытался создавать пользовательские элементы управления C ++ для Visual Studio, но это довольно легко сделать в Builder.

В прошлом году вышла CodeGear.бесплатная версия TurboExplorer (я сам ею не пользовался), которая включает в себя IDE и RAD (хотя и ограничена) http://www.turboexplorer.com/ TurboExplorer может использоваться для коммерческих приложений.

Я не был доволенIDE на основе Java, где всегда медленно.Т.е. SunStudio12 это хорошо (и бесплатно), но пользовательский интерфейс медленный ответ.Я использую Code: Blocks в Linux, который имеет разумное удобство использования, но еще не работал с RAD.

4 голосов
/ 20 января 2010

Я никогда не использовал C ++ Builder, но раньше был большим поклонником / пользователем Delphi.Я обычно работаю над серверными приложениями в C ++, с некоторыми Java.Сначала я начал писать для себя небольшие приложения для повышения производительности, изначально я использовал java, но затем перешел на Qt.

Теперь я люблю это.Библиотека выглядит хорошо спроектированной, как vcl в Delphi.Механизм сигналов / слотов великолепен, я все еще удивляюсь, как часто мне не нужно писать код для подключения диалогового окна.Использовать qt легко, а код, который вы пишете, очень легко читать и создавать.Мне еще не приходилось писать свои собственные виджеты, я думаю, что архитектура модель / представление в qt очень хорошо разделяет роли, делая стандартные виджеты очень мощными.Например, при использовании QTableView большинство функций отображения и редактирования могут быть предоставлены ItemModel, более мощный элемент управления обеспечивается ItemDelegate.Я нашел, что их легче использовать повторно, чем написание пользовательских виджетов, хотя это выглядит достаточно просто, если взглянуть на документацию.

Создатель Qt является базовым, но выполняет 95% того, что мне требуется, интегрированный проект, графический дизайнер, код, отладкаи помочь.Имеет поддержку CMake, а также qmake.У него нет таких продвинутых функций, как рефакторинг, но Intelli лучше, чем VS2005.Однако следующая версия KDevelop выглядит очень многообещающе и будет включать их.Вы также можете использовать eclipse, если вам нужны эти функции, или перемещаться между eclipse и qt creator, как требуется.Но я очень доволен создателем qt.

В кроссплатформенном вопросе я разрабатываю свои приложения для Linux дома и склонен использовать их на работе в Windows.Пока все, что работает на Linux, работает только на Windows и выглядит так, как будто для него тоже написано.

2 голосов
/ 20 января 2010

Сильной стороной C ++ Builder (а также Delphi) является среда VCL GUI, с которой легко работать и которая обеспечивает настоящую разработку RAD.Есть много альтернатив VCL, у которых есть свои сильные и слабые стороны.Сила VCL заключается в тесной связи с C ++ Builder / Delphi, что делает его очень хорошо работать с этой комбинацией.Недостатком является то, что это умиротворяющее программное обеспечение, что означает, что вы вряд ли сможете портировать свой код на другие IDE или платформы без официальной поддержки Codegear / Embarcadero.

Тем не менее, есть несколько бесплатных альтернатив, одна изболее интересным является Lazarus IDE .Lazarus IDE - это IDE для языка Free Pascal, это очень похоже на язык Delphi, я должен признать, что я сам не Delphi, поэтому я не могу вдаваться в подробности по этому поводу.У Lazarus есть GUI-инфраструктура, очень похожая на VCL, которая называется LCL.Из тех кратких обзоров, которые у меня были, он выглядит очень похоже.Есть несколько хороших вещей в пакете Lazarus / Freepascal специально для вашего случая.Он бесплатный, он может компилироваться и собираться как для Windows, Linux, так и Mac, он имеет поддержку 64 бит.Более того, компилятор кажется более современным, чем Delphi.

Lazarus, работающий в Windows 7

Lazarus, работающий в Linux (GTK2)

Lazarus, работающий на Mac OSX

Больше скриншотов можно найти здесь: http://wiki.lazarus.freepascal.org/Screenshots

Проблема с Delphi / C ++ Builder заключается в том, что VCLв настоящее время не поддерживает кроссплатформенность.Хотя это запланировано для будущих версий (насколько я помню), оно еще не реализовано.Отметив, что есть некоторые соображения относительно того, будет ли C ++ Builder продолжать поддерживаться или нет, здесь есть некоторые комментарии по этому поводу: здесь .

Qt былупомянуто, и это действительно очень сильная инфраструктура графического интерфейса, и создатель Qt - прекрасный инструмент, лично я хотел бы иметь очень тесную связь между IDE и инфраструктурой графического интерфейса, как это имеет место с VCL, но это очень зависитна разработчика.

Редактировать: Просто у меня была мысль, что при сравнении C ++ Builder с другими RAD IDE легко включить IDE для языков .NET и Java.Эти языки используются для этой цели.C ++, используемый в C ++ Builder, делает, хотя в версии Borlands немного изменен, нет.Это поднимает интересный вопрос, является ли использование C ++ для приложений RAD необходимым и оправданным?Почему бы не использовать инструмент (язык), который написан для этой цели.Я знаю, что C ++ Builder написан для разработки RAD, но язык, на котором он основан, не был разработан для этой цели.Если вам нужны действительно быстро развивающиеся приложения, я бы подумал о поиске других языков, но если вы по какой-либо причине зависите от C ++, это могут быть сторонние библиотеки и т. Д. Тогда C ++ Builder - это отличная платформа разработки RAD для мира C ++.

1 голос
/ 03 февраля 2010

Вы также можете использовать wxForms для C ++ Builder и использовать wxWidgets для создания кроссплатформенных приложений.Он работает с существующей C ++ Builder IDE и использует тот же конструктор форм.

1 голос
/ 22 января 2010

Краткий ответ - NetBeans.Это кроссплатформенная, она проста в использовании, хотя она сделана в Java, но все же она быстра.

PS: Если вы также занимаетесь программированием на Java или планируете делать это, это будетудобно использовать / изучать эту IDE для обоих.

...