crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> VCL vs Qt, религиозные войны
AD
  опции профиля:
сообщение 1.7.2008, 14:24
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


VCL и Qt - сравнивать, по-моему, не стоит. У Qt задач больше, они шире и глубже и выполняет Qt их очень даже успешно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
2 страниц V   1 2 >  
Начать новую тему
Ответов (1 - 9)
Red Devil
  опции профиля:
сообщение 1.7.2008, 17:47
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 68
Регистрация: 6.6.2008
Из: Saint-Petersburg
Пользователь №: 194

Спасибо сказали: 1 раз(а)




Репутация:   3  


Цитата
Например та же виуалка ужасть до чего тяжелая

Она лучшая IDE для С++. Если на нее еще расширение установить типа codeRush или еще лучше Visual Assist X, то ее переплюнусь вообще никто не может.
Вот именно такая мне нужна в линуксах. Дебаггер, мощный autocomplete и навигация по коду. Чтобы по одному щелчку клавиутары мне сразу же открывалась нужная функция, генерировалось описание функции из обьявления, открывался необходимый класс, файл, были подсказки о том какие параметры у функции, чтобы не лезть в документацию. Чтобы был помощник для добавления include, чтобы опять так не лезть в документации или файловую систему, вспомнить в какой подпапке лежит такой-то хедер и еще есть целая куча мелочей, которые время разработки уменьшают в разы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.7.2008, 21:21
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Red Devil @ 1.7.2008, 21:47) *
Она лучшая IDE для С++

Это рейтинг на основе чего?
Представим на секунду, что Мукрософт, делает только IDE (т.е. ни тебе виндовоза ни WinAPI) много ли людей будут при этом пользоватся студией?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
31512
  опции профиля:
сообщение 2.7.2008, 10:25
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 26
Регистрация: 13.3.2008
Из: Красноярск
Пользователь №: 119

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Red Devil @ 1.7.2008, 22:47) *
Она лучшая IDE для С++. Если на нее еще расширение установить типа codeRush или еще лучше Visual Assist X, то ее переплюнусь вообще никто не может.
Вот именно такая мне нужна в линуксах. Дебаггер, мощный autocomplete и навигация по коду. Чтобы по одному щелчку клавиутары мне сразу же открывалась нужная функция, генерировалось описание функции из обьявления, открывался необходимый класс, файл, были подсказки о том какие параметры у функции, чтобы не лезть в документацию. Чтобы был помощник для добавления include, чтобы опять так не лезть в документации или файловую систему, вспомнить в какой подпапке лежит такой-то хедер и еще есть целая куча мелочей, которые время разработки уменьшают в разы.

Я собственно к этому и клоню. У меня стойкое ощущение, что уже выработались стандарты IDE. Для Pascal это Delphi, для С++ это VS. Мне бы тоже хотелось иметь нечто подобное под Linux. ОСОБЕННО ОТЛАДЧИК! Я даже согласено смириться с KDevelop, будь там такой отладчик. Было бы неплохо если бы в этом проекте ребята взяли всё самое лучшее от VS.


Цитата(AD @ 1.7.2008, 19:24) *
VCL и Qt - сравнивать, по-моему, не стоит. У Qt задач больше, они шире и глубже и выполняет Qt их очень даже успешно.

Да как же их не сравнивать, если они очень похожи? И можно узнать что означает: "У Qt задач больше, они шире и глубже"? Мне неизвесно задач которые нельзя было бы решить используя VCL, но можно в Qt. (кроме кроссплатформенности, но и это можно обойти).

Цитата(Litkevich Yuriy @ 2.7.2008, 2:21) *
Цитата(Red Devil @ 1.7.2008, 21:47) *
Она лучшая IDE для С++

Это рейтинг на основе чего?
Представим на секунду, что Мукрософт, делает только IDE (т.е. ни тебе виндовоза ни WinAPI) много ли людей будут при этом пользоватся студией?

А кто говорит о рейтинге? Я говорю о сложившихся неформальных стандартах. Большинство сред напоминают по структуре VS, потому, что там очень много удобных решений. M$ ворует не хуже других. И опять же отладчик там очень хорош.
И эта... Если мы будем допускать невозможное, то конструктивного разговора не выйдет. Давай так: есть масса средств разработки, у всех есть свои недостатки и преимущества. Но в силу конкуренции между ними есть среды, которые лучше многих других. Я считаю, что это Visual Studio. А кто-то так не считает. Поэтому при разработке альтернативной IDE нужно это учитывать. И сначала следует провести опрос хотелок.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 2.7.2008, 14:44
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Вот очень похожий проект: http://prog.org.ru/forum/index.php/topic,7336.0.html

P.S. По поводу VCL-я - там не поддерживается (практически) MVC, что вынуждает дублировать данные в контролах, либо делать всё на DataSet-ах. Для быстрой разработки морды к базе - само то (+ удобная формошлёпка) а если есть какая-то логика, то довольно тяжко в отличии от Qt, где ты можешь нарисовать слой логики на своих объектах а потом прикрутить к ниму слой отображения на моделях и делегатах...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
31512
  опции профиля:
сообщение 2.7.2008, 15:13
Сообщение #6


Студент
*

Группа: Новичок
Сообщений: 26
Регистрация: 13.3.2008
Из: Красноярск
Пользователь №: 119

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Tonal @ 2.7.2008, 19:44) *
Вот очень похожий проект: http://prog.org.ru/forum/index.php/topic,7336.0.html

P.S. По поводу VCL-я - там не поддерживается (практически) MVC, что вынуждает дублировать данные в контролах, либо делать всё на DataSet-ах. Для быстрой разработки морды к базе - само то (+ удобная формошлёпка) а если есть какая-то логика, то довольно тяжко в отличии от Qt, где ты можешь нарисовать слой логики на своих объектах а потом прикрутить к ниму слой отображения на моделях и делегатах...

Правильно. А это и нафиг не надо. Это уже написано сторонними разработчиками. Равно как и навороченные компоненты типа DevExpress. Всё в одном флаконе не есть good.
VCL - даёт базовые возможности и быструю разработку новых компонентов.
Среди недостатков VCL я бы выделил
1) Отсувствие кросплатформенности (только через дохлый теперь CLX).
2) Отсувствие Unicode. Лечится установкой других компонентов
3) Немногопоточность. Только через метод Synchronize.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Red Devil
  опции профиля:
сообщение 2.7.2008, 20:25
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 68
Регистрация: 6.6.2008
Из: Saint-Petersburg
Пользователь №: 194

Спасибо сказали: 1 раз(а)




Репутация:   3  


А и не говорил что в Visual Studio все хорошо. Есть многие места которые можно сделать лучше, но на данный момент другие IDE ей уступают по самым главным компонентам - скорости набора кода и отладки. Управление проектом можно сделать лучше.
Самый главный ресурс - это время, глупо его тратить чтобы вбивать весь код вручную, когда половину может за тебя набить программа.

Monkey Studio - я лично так и не понял чем она лучше KDevelop или Eclipse, что она умеет такого что не умеют другие. Ну кроме того что она на Qt написана.

Сообщение отредактировал Red Devil - 2.7.2008, 20:38
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
31512
  опции профиля:
сообщение 3.7.2008, 4:56
Сообщение #8


Студент
*

Группа: Новичок
Сообщений: 26
Регистрация: 13.3.2008
Из: Красноярск
Пользователь №: 119

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Tonal @ 3.7.2008, 1:07) *
Т.е. ты согласен со мной о
Цитата
...быстрой разработки морды к базе...
:)

Мой опыт мне подсказывает несколько иное. Видишь ли MVC, оно конечно, хорошо. Но не всем оно нужно и не всем оно нравится. Я с Delphi работаю уже очень давно. И реализовал в ней кучу проектов, которые ну никак с базой данных не связаны. Из последнего http://rados.ru/support-software.html Это задача промышленного уровня и надёжности. Опять же проекты The Bat, QIP, Nero и многие другие. То, что в ней очень удобно и быстро создаются GUI - это правда. И не обязательно для БД. И другие задачи в ней решаются не менее успешно. Пока дело не касается задач системного уровня(драйвера, например. Но и их можно создавать имея под рукой соответсвующий линковщик) и Linux Delphi вполне себе достойный инструмент.
Под Linux Qt лучшее (и единственное) что может быть. А действительно удобную, хорошую и заточенную под неё IDE мне найти так и не удалось. И чтоб отладчик хороший. Вот это реально серьёзная необходимость.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 3.7.2008, 8:41
Сообщение #9


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


[злостный оффтоп]
Ну если уж пошло мерение разными органами, то проект, на в котором я работал дольше всего (~10 лет), имел такую статистику: 180424 строк на паскале, 107346 на C++ и 289 на Asm
Delphi начиная с 4ки и заканчивая 7кой.
Последние ~1.5, 2 года я был тимлидом, и вёл поддержку/разработку 18 из 26 модулей delphi и половины модулей на С++.
Щас непомню в скольких регионах было промышленное внедрение, но крутится цифра 30...
Ушел оттуда ~6 лет назад.
Так что я в курсе возможностей Delphi. :)

А один мой хороший знакомый создал и поддерживал промышленную систему на VB6 там была и графика, и сложные рассчёты, и печатные отчёты и скриптование. Но не было базы данных. :)
[/злостный оффтоп]
[VCL vs Qt]
Главный недостаток VCL-я в кривой архитектуре и неподдержки MVC - из за этого приходится делать специализацию любых сложных контролов под конкретную задачу. Что и делают библиотеки EhLib, DevExpress, JVCL и много других. В названных тобой прогах используются в основном тоже свои внутренние специализации.
Причём специализация для VCL-я - это пакет Delphi, т.е. дополнительный проект, который должен быть установлен в среду.
Сравни это с Qt, где простым изменением модели (класс приложения) я могу заставить грид или дерево работать и с базой и с любым моим контейнером, или где для того, чтобы в комбобоксе показывалось дерево требуется классик ~100 строк в приложении.
Ну и пакеры в VCL существенно хуже чем в Qt - попробуй например создать форму с изменянмыми размерами, на которой 2 грида и каждый занимает ровно половину не зависимо от размеров (без кода).
Ну о мелких ляпах я не новорю - они везде есть да и подзабыл уже. :)
[/VCL vs Qt]
Как IDE Delphi тоже не айс (по крайней мере включая 7ку):
1) Нет возможности настроить несколько конфигураций сборки и их переключать - приходится каждый раз, при необходимости пересобрать релиз после дебага открывать настройки проекта и перенастраивать.
И так для каждого проекта в "группе проектов".
2) Нет возможности указать зависимости одного проекта от другого - либо пересобирать явно руками, либо все.
3) Нет возможности указать пользовательские шаги сборки (можно написать плагин к delphi но API долго не было описано и меняется с каждой версией).
4) Добавление обработки своего типа исходного файла мучительно (тоже через плагины)
5) Добавление подсветки своего типа исходного файла невозможно (может через плагины?)
6) Интеграция с системами контроля версий не от багланда появилась только недавно (плагин из JVCL)
7) Файл настроек проекта *.dof содержит как общую информацию так и пользовательскую, так что неудобно работать с системами контроля версий.
8 ) Файл *.dof содержит версию модуля, но игнорирует её изменение т.к. она же содержится в *.res файле. Поэтому для того, чтобы поднять вериси модулей нужно это делать руками в каждом проекте (или удалять *.res файлы модулей, а потом тупо жмякать на мессадж о том что *.res будет пересоздан для каждого проекта.
9) Редактор и среда не скриптуется (опять же можно через плагины)
10) Регулярные выражения для поиска в редакторе куцые
11) Фолдинга нет
12) Перехода по парам begin/end или if/then/else нет
13) Автоматического форматирования блока кода нет.
14) Узнать где используется символ невозможно (удобнейшая возможность в Slick-е)
15) Рефакторинга нет
16) Отладчик путается если пытаться ходить внутрь dll-ек или пакетов.
17) Отладчик часто ломается при исключениях.
18) Сломать отладку можно прото посмотрев значения свойства (всплывающая подсказка при наведении).

Короче, для своих применений среда вполне сносная. Особенно если доставить/дописать кучу плагинов для удобной работы. :)

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

Сообщение отредактировал Tonal - 3.7.2008, 8:46
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
31512
  опции профиля:
сообщение 3.7.2008, 14:09
Сообщение #10


Студент
*

Группа: Новичок
Сообщений: 26
Регистрация: 13.3.2008
Из: Красноярск
Пользователь №: 119

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Tonal @ 3.7.2008, 13:41) *


Эта... Я в общем с тобой согласен. Всё ты правильно говоришь, особенно касательно версий после Delphi 7. п. 16 - 18 в Delphi 7 у меня не наблюдались ни разу. После 7 сколько угодно. Мне эти недостатки также прекрасно известны. Рефракторинг есть начиная D2005. И начиная же с D2005 всё остальное очень плохо пахнет.
Не могу согласиться, пожалуй, насчёт кривой архитектуры и минуса неподдержки MVC. Повторюсь ещё раз: не всем она нравится и не всем и везде нужна. И рассуждения здесь вот какие. На имеющейся архитектуре можно создавать и поддержку MVC и много всего интересного. VCL даёт базовые возможности(пусть они и не фонтан). Дело в цене и в скорости разработки.
Для меня, как руководителя, ещё и в качестве разработки. И печаль не в том, что VCL хуже/лучше или Qt хуже/лучше. Печаль в том, что на Qt сроки разработки тут же распухают втрое и втрое распухает бюджет. То, что раньше на Delphi занимало 1 час, сейчас на Qt, c его С++, день.
Цитата
Ну и пакеры в VCL существенно хуже чем в Qt - попробуй например создать форму с изменянмыми размерами, на которой 2 грида и каждый занимает ровно половину не зависимо от размеров (без кода).

Хм. Признаться для меня это никогда не было проблемой. Но в Qt его Layout меня реально бесят! Чтобы сверстать форму, нужно париться час. Почему я не могу выровнять виджет по левой границе или по правой? Или на всю доступную область? В Qt своих тараканов хватает и они не маленькие. Особенно скорость компиляции... И почему бинарник должен в release весить 17 Мб?

Кстати, вот в свете последних изменений, а именно тех, что CodeGear продались EMBARCADERO MVC в Delphi может и появиться. Хотя разговоров я таких покамест не наблюдал, да и давно не следил за этим. А у нас вместо MVC используется PL. Не подошла нам MVC.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2024, 1:28