Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.88
Lindemann66
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
#1

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

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

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

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

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

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

А что тогда использовать?
Windows Forms? WinAPI?
Что вы посоветуете?
Очень важно
Буду благодарен за любой ответ
http://www.cyberforum.ru/cpp/thread1467741.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2011, 10:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выбор технологии (C++):

Какие технологии актуальны для С\С++ программиста
Доброго времени суток. Какие технологии сейчас наиболее востребованы и...

Выбор инструмента/технологии
Доброго времени суток! Есть следующая задача. На входе файл в dbf формате(с...

Выбор технологии
Всем доброго времени суток. Возможно, не совсем в нужном разделе, надеюсь,...

Выбор технологии
Мне необходимо создать видеоплеер, с возможностью наложения текста и картинок...

выбор технологии
Хочу написать на delphi приложение. Есть пять таблиц, соединенных между собой...

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

Добавлено через 34 секунды
Если я создал MFC приложение под Framework 2.0, он ведь будет необходим для работы на клиентской машине?
0
oxotnik
1607 / 1084 / 69
Регистрация: 21.08.2008
Сообщений: 4,562
Записей в блоге: 1
03.08.2011, 10:56 #4
Цитата Сообщение от vitaly1981 Посмотреть сообщение
Qt очень удобен для разработки интерфейсов
и все? QNetwork, QXml, QSql и т.д. куда дели?
0
solar_wind
760 / 751 / 58
Регистрация: 06.07.2009
Сообщений: 2,988
Завершенные тесты: 1
03.08.2011, 10:57 #5
Lindemann66, Так можно использовать по лицензии LGPL если возможно, там вроде как и коммерческие продукты делать допускается, конечно с какими то ограничениями...

Для MFC требуются только студиевские библиотеки установить и все.
0
oxotnik
1607 / 1084 / 69
Регистрация: 21.08.2008
Сообщений: 4,562
Записей в блоге: 1
03.08.2011, 10:58 #6
Цитата Сообщение от Lindemann66 Посмотреть сообщение
по поводу QT - есть у него 1 большой минус, который сейчас перекрывает плюсы - это его цена для коммерческого использования...
а зачем его покупать? можно использовать и LGPL для коммерческой разработки, если не изменять саму Qt. А стоимость MFC?
0
solar_wind
760 / 751 / 58
Регистрация: 06.07.2009
Сообщений: 2,988
Завершенные тесты: 1
03.08.2011, 11:00 #7
oxotnik, Я не говорил что там можно разрабатывать только интерфейсы. Там много классов, однако основное преимущество Qt это все же интерфейсы, ну конечно и кроссплатформенность.
0
soft.creator
104 / 104 / 11
Регистрация: 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.
1
dr.curse
392 / 348 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
03.08.2011, 11:03 #9
Цитата Сообщение от Lindemann66 Посмотреть сообщение
по поводу QT - есть у него 1 большой минус, который сейчас перекрывает плюсы - это его цена для коммерческого использования...
насколько знаю MFC тоже платное. И еще говорят wxWidgets похож на MFC можно и это выбрать.

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

Добавлено через 49 секунд
Lindemann66, LGPL у них появилась сравнительно недавно, может начальник просто не в курсе...
0
oxotnik
1607 / 1084 / 69
Регистрация: 21.08.2008
Сообщений: 4,562
Записей в блоге: 1
03.08.2011, 11:11 #13
Цитата Сообщение от Lindemann66 Посмотреть сообщение
последнее время начинается отказ от него, потмоу что, как выразился начальник "Слишком дорого"
либо начальника гнать надо, за то что в предметной области не разбирается, либо он имел ввиду, что работники со знаниями Qt слишком дорого обходятся.
0
Lindemann66
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:12  [ТС] #14
Цитата Сообщение от oxotnik Посмотреть сообщение
для "формоклепателей" пересевших с билдеров бесспорно. Однако обычно интерфейс занимает не более 20% от основной логики софта.
Верно
Хотя мне и писали, что в MFC интерфейсы ни к чёрту, я думаю, что обычный интерфейс там спроектировать можно
но на данном этапе (сейчас у меня) разработка интерфейсов всё равно не слишком актуальна
0
oxotnik
1607 / 1084 / 69
Регистрация: 21.08.2008
Сообщений: 4,562
Записей в блоге: 1
03.08.2011, 11:14 #15
Цитата Сообщение от vitaly1981 Посмотреть сообщение
классы Qt мне лично экономят процентов 5 времени
ой ли? к примеру возьмем работу через SSL - сколько это дело надо реализовывать в MFC, или авторизацию на socks5 прокси? или работу с БД. Как надо допиливать CDatabase, CRecordset и т.п. что бы этим можно было пользоваться нормально? А если их еще с GUI попытаться связать, так вообще труба.
0
Lindemann66
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:14  [ТС] #16
Всё, теперь вопрос только в лицензии и возможности использовать QT для коммерции
0
oxotnik
1607 / 1084 / 69
Регистрация: 21.08.2008
Сообщений: 4,562
Записей в блоге: 1
03.08.2011, 11:15 #17
Цитата Сообщение от Lindemann66 Посмотреть сообщение
Всё, теперь вопрос только в лицензии и возможности использовать QT для коммерции
http://www.cyberforum.ru/cpp-cross-platform/thread239721.html
1
Lindemann66
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:16  [ТС] #18
Цитата Сообщение от oxotnik Посмотреть сообщение
или авторизацию на socks5 прокси? или работу с БД.
на MFC где-то строк 600 (я делал, ка краз авторизацию и работу с БД), на QT - строк 300(делал друг)
Это было тестовое задание на приём
0
solar_wind
760 / 751 / 58
Регистрация: 06.07.2009
Сообщений: 2,988
Завершенные тесты: 1
03.08.2011, 11:16 #19
Цитата Сообщение от Lindemann66 Посмотреть сообщение
на данном этапе (сейчас у меня) разработка интерфейсов всё равно не слишком актуальна
Это как посмотреть, у меня как то был прикол, начальник сказал что интерфейс нужно простенький, главное что бы программа работала как часы. После разработки, началось "а давай сюда лампочку добавим", "а здесь все пусть мигает", "а почему нельзя этот кусок интерфейса свободно перетаскивать?", "а пусть все рисунки масштабируются", и т.д.
1
Lindemann66
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:18  [ТС] #20
Цитата Сообщение от vitaly1981 Посмотреть сообщение
Это как посмотреть, у меня как то был прикол
да кстати, у меня такое много раз было

и кстати, а можно ссылку на то, что QT теперь под лицензией LGPL?
0
03.08.2011, 11:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2011, 11:18
Привет! Вот еще темы с решениями:

Выбор технологии БД
Всем доброго времени суток! Есть у меня задача создать программу для получения...

Выбор технологии
Добрый день! Ребята помогите определиться с выбором технологий. Есть 2 базы...

Выбор технологии программирования.
Всем привет! Задумался над непростым вопросом... Какие технологии, языки...

выбор технологии хранения данных
Здравствуйте! Я студент второго курса, учусь не совсем на программиста, но...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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