Если бы у вас была разница между тем, чтобы отправиться в страну Delphi или в страну Qt, что бы вы выбрали? Я знаю, что они не совсем сопоставимы. Я, например, имею опыт разработки под Windows с Builder C++ (почти Delphi) и MFC (почти Qt), и немного больше времени работал с Builder C++. Пожалуйста, исключите кроссплатформенность Qt в своем анализе.
Я надеюсь на ответы людей, которые работали с обоими, и как он или она сравнит фреймворк, среду и т. д.?
Заранее благодарим вас за ответы.
Почему вы сравниваете IDE с UI-фреймворком?
Думаю, вам нужно отредактировать свой вопрос, чтобы он был более ясным. Вы сейчас очень субъективны. Добавьте несколько критериев, по которым можно судить о пригодности каждого из них.
Это субъективно. Я не вижу возможности прояснения. Спасибо за добавление тега.
"MFC почти Qt" ??? Я удивлен, что ты еще не обиделся за это. :-)





Я бы выбрал delphi. Только потому, что у меня больше опыта с этим. Не думаю, что есть другие разумные критерии.
Я бы выбрал Delphi, но это, вероятно, потому, что я программировал его раньше. Кажется, есть еще ряд компаний, которые его используют, и почти каждый, кто имеет опыт работы более 8 лет, где-то сталкивался с этим. Кажется, что большинство программистов могут использовать его или, по крайней мере, изучить Паскаль. Не говоря уже о том, что новые языки (C#) основаны на нем (по крайней мере частично).
Qt кроссплатформенный, Delphi не так уж много, если считать Kylix. Lazarus кроссплатформенный, но еще не полностью функционально.
Если вы говорите о фреймворках пользовательского интерфейса, вам следует сравнивать Qt с VCL, а не с IDE (в данном случае Delphi). Я знаю, что я сторонник, но Delphi - это IDE, Object-Pascal - это язык, а VCL - это графическая структура.
При этом я не думаю, что есть что-то, что даже близко могло бы сравниться по мощности и простоте с VCL. Qt великолепен, но это не VCL.
Я бы выбрал Delphi. Вы, конечно, спросите любого паскалголика, и он обязательно ответит точно так же. ;)
Qt снова в порядке, но VCL просто кажется более отполированным. Но тогда это могут быть мои годы работы с ним, так что это просто кажется правильным. Мой опыт работы с Qt ограничивался недолгим проектом, который в итоге был переписан в Delphi после того, как было определено, что кроссплатформенность на самом деле не нужна благодаря мощи GoGlobal, которая может превратить любое приложение win32 в веб-приложение и, следовательно, работать на любом Платформа.
еще +1 за "паскалголик" :)
Обновлено: этот ответ был написан в 2008 г.. Вероятно, это уже не так уместно, хотя, вероятно, не совсем бесполезно. Принимать с солью.
Я использовал оба и в итоге пошел по маршруту Qt. Причины:
C++ - это своего рода обратная сторона, например. время компиляции, упаковка и менее интегрированная IDE. Однако Qt делает C++ более похожим на язык более высокого уровня. QStrings, например, избавляет от проблем с обработкой строк. Таким образом, дополнительные проблемы с C++, с которыми вы обычно сталкиваетесь, например. более ошибочный код, по моему опыту, менее распространены при использовании Qt.
Кроме того, существует больше библиотек для Delphi, чем для Qt, но это смягчается из-за того, что вы можете просто использовать библиотеку ac или C++ в проекте Qt, а также потому, что Qt настолько полнофункциональный, что вам часто не нужно искать какие-либо дальше.
Было бы странно, если бы я выбрал Delphi вместо Qt для нового проекта.
Для большинства SKU Delphi у вас также есть исходный код VCL.
Небольшое примечание: ознакомьтесь с функциональностью предварительно скомпилированных заголовков в C++, если вы еще этого не сделали. (Поскольку вы указываете время компиляции как обратную сторону C++, похоже, что вы не использовали предварительно скомпилированные заголовки, которые в основном делают компиляцию так же быстро, как в delphi (в большинстве случаев)).
Я использовал предварительно скомпилированные заголовки; это помогает. Однако связывание по-прежнему происходит медленно, и ему не помогают PCH, а зависимости заголовков означают, что вам часто приходится перекомпилировать больше, чем хотелось бы.
Это действительно зависит от ваших потребностей и опыта. Я работал с обоими (хотя должен сказать, что последняя версия Delphi, с которой я действительно работал, была Delphi 6, и в настоящее время я работаю с Qt 4.4).
Язык
Плюсы C++:
Плюсы Object Pascal:
IDE
Qt плюсы:
Плюсы Delphi:
Фреймворк
Я оставлю сравнение другим, так как я недостаточно хорошо знаю новейший VCL. У меня есть несколько замечаний:
Другие причины, которые говорят в пользу Qt IMO, - это очень хорошая поддержка и лицензирование, но это зависит от ваших потребностей. Для обоих фреймворков существуют большие сообщества,
У Qt теперь действительно хорошая IDE, Qt Creator.
Большое различие между Delphi и Qt заключается в системе сигналов / слотов Qt, которая позволяет легко создавать отношения N-to-N между объектами и избегать тесной связи.
Я не думаю, что такое существует в Delphi (по крайней мере, когда я использовал его, такого не было).
Он не встроен, но есть, например, deltics.co.nz/blog/?tag=multicast-events и blogs.embarcadero.com/abauer/2008/08/15/38865.
Выберите Delphi, если вас беспокоит собственная скорость Win32, первоклассная среда RAD и размер исполняемого файла. Выберите QT, если вам нужен действительно кроссплатформенный фреймворк в сочетании с теперь гибкой политикой лицензирования и вы не против слегка раздутого кода.
Я портировал старую программу Delphi под QT / C++, и я должен сказать, что QT - это фреймворк, который ближе всего подходит к VCL с точки зрения простоты использования и мощности (IMHO)
Я только начал экспериментировать с Qt / C++ / Qt Creator и должен признать, что был удивлен, что этот «маленький милый ублюдок» несколько лет был прямо у меня под носом, и я обращаю на него внимание только сейчас.
Он (фреймворк) выглядит аккуратно, полнофункционально (даже то, чего не хватает .NET, например, встроенная поддержка XQuery).
Похоже, что большинство написанных приложений Qt имеют дело с 2D / 3D / играми.
Я считаю, что недостатки только в том, что нужно знать C++ и не хватает преимуществ DevExpress, таких как QuantumGrid.
Я серьезно подумываю о переносе одного из моих простых приложений (программы просмотра изображений, например ThumbsView).
И он ДЕЙСТВИТЕЛЬНО работает с той же кодовой базой. СЕРЬЕЗНО!
Забудьте о Kylix, Mono, Lazarus, Free Pascal. Этот Qt превосходит их всех в 10 раз.
Qt Creator далек от IDE. Но я надеюсь, что в будущем они добавят более мощный отладчик, анализ кода и рефакторинг (по крайней мере, «Переименовать») и более значимые ошибки компилятора.
Я бы серьезно порекомендовал кому-то без опыта работы с Pascal / C++ пройти курс обучения Qt.
Я надеюсь на ответы людей, которые работали с обоими, и как он или она сравнит структуру или среду?