Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.88
Lindemann66
3 / 3 / 0
Регистрация: 28.04.2010
Сообщений: 162
#1

Выбор технологии - C++

03.08.2011, 10:45. Просмотров 4076. Ответов 52
Метки нет (Все метки)

Всем привет!
У меня такой вопрос

Вот я сейчас работаю в компании, которая занимается разработкой ПО на С++
Начал разработку проекта

Про технологию речи не шло, я скачал много учебников (имею небогатый опыт прогарммирования на С++, и в учебниках есть необходимость)
Так уж получилось, что почти во всех учебниках, которые я скачал, и которые затрагивают Visual C++, речь идёт об MFC
Поэтому я и выбрал MFC, потому что про него много написано умными людьми (Том Арчер, Эндрю Уайтчепел, ну и в других книжках тоже есть)

Но последнее время с слышу отзывы вроде "Я бы не стал использовать MFC", "Вообще, не пиши на MFC", "Я больше к QT привык, MFC втопку" и т.д.
Но, при этом, эти комментарии неаргументированы.
Но мне всё равно очень интересно

А что тогда использовать?
Windows Forms? WinAPI?
Что вы посоветуете?
Очень важно
Буду благодарен за любой ответ
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
755 / 746 / 42
Регистрация: 06.07.2009
Сообщений: 2,967
Завершенные тесты: 1
03.08.2011, 10:53     Выбор технологии #2
Lindemann66, Скажем так, если ты нормально разберешься в MFC то твои программы будут прекрасно работать.
Windows Forms в плане разработки считается более безопасным, но поидее работает медленнее, и требует фреймворк (хотя на новых ОС это не так актуально наверное).
WinAPI это как бы более низкий уровень, поэтому и более надежный, однако требует более глубоких знаний предметной области.
Qt очень удобен для разработки интерфейсов, сам по себе имеет не очень хороший отладчик и различные косяки, которые, если их знать, вообщем то не очень сильно мешают. Qt+Visual Studio лучше, так как компенсирует проблему с отладчиком.
Lindemann66
3 / 3 / 0
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 10:55  [ТС]     Выбор технологии #3
Это первый аргументированный ответ, спасибо
по поводу QT - есть у него 1 большой минус, который сейчас перекрывает плюсы - это его цена для коммерческого использования...
так что его использование, к сожалению, отменяется
Кстати, а для MFC фреймворк не требуется разве?

Добавлено через 34 секунды
Если я создал MFC приложение под Framework 2.0, он ведь будет необходим для работы на клиентской машине?
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
03.08.2011, 10:56     Выбор технологии #4
Цитата Сообщение от vitaly1981 Посмотреть сообщение
Qt очень удобен для разработки интерфейсов
и все? QNetwork, QXml, QSql и т.д. куда дели?
solar_wind
755 / 746 / 42
Регистрация: 06.07.2009
Сообщений: 2,967
Завершенные тесты: 1
03.08.2011, 10:57     Выбор технологии #5
Lindemann66, Так можно использовать по лицензии LGPL если возможно, там вроде как и коммерческие продукты делать допускается, конечно с какими то ограничениями...

Для MFC требуются только студиевские библиотеки установить и все.
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
03.08.2011, 10:58     Выбор технологии #6
Цитата Сообщение от Lindemann66 Посмотреть сообщение
по поводу QT - есть у него 1 большой минус, который сейчас перекрывает плюсы - это его цена для коммерческого использования...
а зачем его покупать? можно использовать и LGPL для коммерческой разработки, если не изменять саму Qt. А стоимость MFC?
solar_wind
755 / 746 / 42
Регистрация: 06.07.2009
Сообщений: 2,967
Завершенные тесты: 1
03.08.2011, 11:00     Выбор технологии #7
oxotnik, Я не говорил что там можно разрабатывать только интерфейсы. Там много классов, однако основное преимущество Qt это все же интерфейсы, ну конечно и кроссплатформенность.
soft.creator
103 / 103 / 4
Регистрация: 17.10.2010
Сообщений: 283
03.08.2011, 11:00     Выбор технологии #8
WinAPI очень низкоуровневая, производительность труда (особенно при программировании интерфейсов) минимальна.

WinForms требует библиотеки .NET, не всегда подходит по системным требованиям. Плюс это просто библиотека для интерфейса, нет встроенной поддержки Model-View и т.д. Кроме того, мне лично расширения .NET для C++ кажутся издевательством над C++.

MFC - неплохая библиотека, но она довольно неудачно спроектирована и является лишь надстройкой над WinAPI - со всеми вытекающими.

QT для меня оказался оптимальным выбором. Она хорошо спроектирована, позволяет выполнить рутинные задачи по манипуляции с интерфейсом быстрее, имеет поддержку регулярных выражений, улучшенную по сравнению с MFC валидацию данных, она лучше расширяется под задачи пользователя в части, касающейся, скажем технологии Model-View. Плюс она кроссплатформенна.

Мой совет: если нет специфических системных требований, лучше использовать QT. Если есть код на WinAPI или MFC, который необходимо поддерживать, то MFC. Если надо делать быстро простые программы и можно использовать C#, тогда C#+WinForms.
dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
03.08.2011, 11:03     Выбор технологии #9
Цитата Сообщение от Lindemann66 Посмотреть сообщение
по поводу QT - есть у него 1 большой минус, который сейчас перекрывает плюсы - это его цена для коммерческого использования...
насколько знаю MFC тоже платное. И еще говорят wxWidgets похож на MFC можно и это выбрать.

Добавлено через 2 минуты
Цитата Сообщение от soft.creator Посмотреть сообщение
мне лично расширения .NET для C++ кажутся издевательством над C++.
мне тоже, я вообще против .Net
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
03.08.2011, 11:05     Выбор технологии #10
Цитата Сообщение от vitaly1981 Посмотреть сообщение
однако основное преимущество Qt это все же интерфейсы
для "формоклепателей" пересевших с билдеров бесспорно. Однако обычно интерфейс занимает не более 20% от основной логики софта.
Lindemann66
3 / 3 / 0
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:09  [ТС]     Выбор технологии #11
Цитата Сообщение от oxotnik Посмотреть сообщение
а зачем его покупать? можно использовать и LGPL для коммерческой разработки, если не изменять саму Qt. А стоимость MFC?
Ну это нужно уточнить у начальства
Потому что у нас уже год используется QT, и вот, в последнее время, начинается отказ от него, потмоу что, как выразился начальник "Слишком дорого"
Странно
solar_wind
755 / 746 / 42
Регистрация: 06.07.2009
Сообщений: 2,967
Завершенные тесты: 1
03.08.2011, 11:11     Выбор технологии #12
oxotnik, Зависит от приложения, иногда интерфейс играет очень весомую роль.
Если сравнивать разработку "рабочей части" софта на MFC и Qt, то классы Qt мне лично экономят процентов 5 времени. Если сравнить время затрачиваемое на интерфейс, то экономия процентов 50 как минимум. Именно из этого я и исхожу.

Добавлено через 49 секунд
Lindemann66, LGPL у них появилась сравнительно недавно, может начальник просто не в курсе...
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
03.08.2011, 11:11     Выбор технологии #13
Цитата Сообщение от Lindemann66 Посмотреть сообщение
последнее время начинается отказ от него, потмоу что, как выразился начальник "Слишком дорого"
либо начальника гнать надо, за то что в предметной области не разбирается, либо он имел ввиду, что работники со знаниями Qt слишком дорого обходятся.
Lindemann66
3 / 3 / 0
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:12  [ТС]     Выбор технологии #14
Цитата Сообщение от oxotnik Посмотреть сообщение
для "формоклепателей" пересевших с билдеров бесспорно. Однако обычно интерфейс занимает не более 20% от основной логики софта.
Верно
Хотя мне и писали, что в MFC интерфейсы ни к чёрту, я думаю, что обычный интерфейс там спроектировать можно
но на данном этапе (сейчас у меня) разработка интерфейсов всё равно не слишком актуальна
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
03.08.2011, 11:14     Выбор технологии #15
Цитата Сообщение от vitaly1981 Посмотреть сообщение
классы Qt мне лично экономят процентов 5 времени
ой ли? к примеру возьмем работу через SSL - сколько это дело надо реализовывать в MFC, или авторизацию на socks5 прокси? или работу с БД. Как надо допиливать CDatabase, CRecordset и т.п. что бы этим можно было пользоваться нормально? А если их еще с GUI попытаться связать, так вообще труба.
Lindemann66
3 / 3 / 0
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:14  [ТС]     Выбор технологии #16
Всё, теперь вопрос только в лицензии и возможности использовать QT для коммерции
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
03.08.2011, 11:15     Выбор технологии #17
Цитата Сообщение от Lindemann66 Посмотреть сообщение
Всё, теперь вопрос только в лицензии и возможности использовать QT для коммерции
Лицензии GPL 1,2,3 - просто как раз, два и три ))
Lindemann66
3 / 3 / 0
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:16  [ТС]     Выбор технологии #18
Цитата Сообщение от oxotnik Посмотреть сообщение
или авторизацию на socks5 прокси? или работу с БД.
на MFC где-то строк 600 (я делал, ка краз авторизацию и работу с БД), на QT - строк 300(делал друг)
Это было тестовое задание на приём
solar_wind
755 / 746 / 42
Регистрация: 06.07.2009
Сообщений: 2,967
Завершенные тесты: 1
03.08.2011, 11:16     Выбор технологии #19
Цитата Сообщение от Lindemann66 Посмотреть сообщение
на данном этапе (сейчас у меня) разработка интерфейсов всё равно не слишком актуальна
Это как посмотреть, у меня как то был прикол, начальник сказал что интерфейс нужно простенький, главное что бы программа работала как часы. После разработки, началось "а давай сюда лампочку добавим", "а здесь все пусть мигает", "а почему нельзя этот кусок интерфейса свободно перетаскивать?", "а пусть все рисунки масштабируются", и т.д.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2011, 11:18     Выбор технологии
Еще ссылки по теме:

Облачные технологии на С++ C++
Литература по COM технологии C++ COM
Технологии OpenMP C++
Выбор технологии для написания приложений под Windows C++
C++ Запросы к сайту, их обработка: технологии, советы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Lindemann66
3 / 3 / 0
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:18  [ТС]     Выбор технологии #20
Цитата Сообщение от vitaly1981 Посмотреть сообщение
Это как посмотреть, у меня как то был прикол
да кстати, у меня такое много раз было

и кстати, а можно ссылку на то, что QT теперь под лицензией LGPL?
Yandex
Объявления
03.08.2011, 11:18     Выбор технологии
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru