Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2012, 17:17   #11
plgrm44
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Evenstain Посмотреть сообщение
ну а что сейчас более востребовано среди работодателей. может вообще глядеть в сторону сишарпа или джавы
hh.ru или тому подобные сайты вам помогут
plgrm44 вне форума Ответить с цитированием
Старый 26.07.2012, 22:36   #12
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Цитата:
Сообщение от plgrm44 Посмотреть сообщение
наверно, удобно называть вещи, в кот. вы не разбираетесь - зоофилией)
Поясню. Я действительно не слишком хорошо разбираюсь в MFC. Уровня знаний вполне хватает, чтобы в случае необходимости спокойно писать программы уровня курсовых. Однако, во время работы над ними я не получаю от процесса никакого удовольствия.
Огромное количество автоматически генерируемых файлов поистине зубодробительного содержания. Какие-то непонятные конструкции (макросы?) в них, задумываться над значением которых откровенно не хочется (а знают это значение наверняка только просветленные гуру). Хорошего во всем этом мракобесии только то, что нет необходимости самому все эти странности писать. С другой стороны, если бы это приходилось писать самостоятельно, я бы в жизни к MFC не прикоснулся. И, скорее всего, далеко не только я один.
Карты сообщений. Работать с ними можно только с помощью мастера и/или такой-то матери.
MFC - всего лишь обертка над WinAPI. Причем очень прозрачная обертка, тот торчит из всех щелей. ООП-шность, похоже, была добавлена в библиотеку исключительно для галочки. Бесконечные Create и OnInitDialog заставляют создателей понятия "конструктор" плакать кровавыми слезами.
Венгерская нотация. Ну я ее просто не люблю, кроме того, она загромождает код; не дает никаких преимуществ в языке со статической типизацией; нередко дает ложную информацию, когда типы переменных успели измениться, а имена остались.
Обращение к элементам интерфейса происходит через одно место с использованием обезличенных ID, которые очень легко перепутать.

Вот немного навскидку лично от меня. Еще раз повторюсь, что я не большой знаток MFC - так, читал книжку, пытался разобраться, немного ковырялся. Опытные пользователи, уверен, приведут гораздо больше фундаментальных косяков этой библиотеки, до которых я просто не дошел. Кое-что можно найти в этой статье.

Может быть, я действительно не разбираюсь в MFC. Но она не сделала ничего для того, чтобы я захотел в ней разобраться. У некоторых других библиотек проблем с этим не возникало.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 26.07.2012, 22:46   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

mfc два года как не обновляется.
да и микрософт ей уже внимания практически не уделяет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.07.2012, 15:43   #14
plgrm44
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
Огромное количество автоматически генерируемых файлов поистине зубодробительного содержания
они вам спать мешают или че?)

Цитата:
Сообщение от Гром Посмотреть сообщение
Какие-то непонятные конструкции (макросы?) в них, задумываться над значением которых откровенно не хочется (а знают это значение наверняка только просветленные гуру).
ну так все за вас уже написало, нужно только уметь пользоваться

Цитата:
Сообщение от Гром Посмотреть сообщение
Обращение к элементам интерфейса происходит через одно место с использованием обезличенных ID, которые очень легко перепутать.
кто вам мешает ID называть по-человечески, например, idButtonDoSomeAction?
во вторых для каждого элемента диалога можно привязать переменную типа контрола и работать с контроллом через переменную
например, СomboBox можно привязать к переменной типа CComboBox cbMyCombo;

Цитата:
Сообщение от Гром Посмотреть сообщение
MFC - всего лишь обертка над WinAPI. Причем очень прозрачная обертка, тот торчит из всех щелей. ООП-шность, похоже, была добавлена в библиотеку исключительно для галочки. Бесконечные Create и OnInitDialog заставляют создателей понятия

"конструктор" плакать кровавыми слезами.
зато МFC позволяет переопределить все и везде
например, VCL грешил тем, что создавал кучу всего лишнего внутри себя и повлиять на это нельзя было

Цитата:
Сообщение от Гром Посмотреть сообщение
Венгерская нотация. Ну я ее просто не люблю, кроме того, она загромождает код;
Я лично не представляю как жить без таких префиксов в модулях где в среднем по 2 тыс. строк и там пересикаются разного типа переменные. Венегрет да и только.

Цитата:
Сообщение от Гром Посмотреть сообщение
нередко дает ложную информацию, когда типы переменных успели измениться, а имена остались.
че-то такого не помню не только в МFC, но и в других либах, типа STL, ACE, Boost.

Цитата:
Сообщение от Гром Посмотреть сообщение
Карты сообщений. Работать с ними можно только с помощью мастера и/или такой-то матери.
раньше это было необходимое зло, кот. было лучше, чем виртуальные функции

косяки MFC, на мой взгляд:
- сложна в обучении
- нужно помнить много вещей, чтобы сделать простые вещи)
- если что-то сделаешь не так, то трудно быстро понять, что не так(хотя чем дольше используешь MFC, то уже такие вещи встречаются все реже и реже)
- использование ASSERT'ов везде(хотя терь к ним привык и они мне даже нравятся)
- есть куча сторонних библиотек для разных нужд, включаю бесплатного гиганта UltimateToolBox
- отсутсвие кроссплатформенности
- ужасно тормозной дизайнер форм




QT не знаю. Собираюсь изучить.
Но вот косяки, кот. бросаются в глаза сразу же обычному пользователю:
- убогий интерфейс;
- раньше достаточно было показать как работает Drag&Drop, чтобы вселить ужас в рядового пользователя)(думаю такого типа косяки и в свежих версиях есть)
plgrm44 вне форума Ответить с цитированием
Старый 27.07.2012, 16:35   #15
plgrm44
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
Цитата:
Инструментарий MFC требует от программиста использования модели Document/View и шаблонов.
все зависит от того, что вы хотите сделать

Цитата:
Сигнал может передавать любое число аргументов.
Сообщение в MFC может тоже передавать любое кол-во аргументов в виде указателя на структуру

Цитата:
MFC не обеспечивает компоновку (layout) элементов управления внутри окна
для этого есть различные либы, например UTB и его COXLayout

Цитата:
Методы представлены без сигнатуры.
ни разу не видел

вообще аналога MSDN в линуксе - нет
если надо будет сделать чуть по сложнее, чем написать обработчик под нажатие кнопки - вы будете сильно озадачены

Про юникод там вообще смешно: типа в Qt все только на юникодe, поэтому она лучше, хотя никто не мешает в MFC делать изначально тоже все на юникоде.

Про ID ресурсов:
Диапазон ID-ов ресурсов можно смешать куда угодно, для этого есть специальный инструмент.

Другие преимущества Qt:
я бы и не стал использовать системные вещи из Qt - нафига изобретать велосипед?? когда уже это все есть? Типа Boost с регулярными выражениями и так далее.

Цитата:
Вы создаете программы лучше и быстрее.
А как насчет скорости самой программы?
plgrm44 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Microsoft Visual Studio 2010 Митовей Общие вопросы C/C++ 5 13.04.2015 13:26
Работа в Microsoft Visual Studio 2010 Арабелит Visual C++ 5 22.01.2012 02:38
Посоветуйте книгу по Visual Studio 2010 tolmik Помощь студентам 1 02.10.2011 22:15
ошибка при установке Microsoft Office 2010 Professional Plus 2010 VL [Оригинальный образ Microsoft] syperman96 Microsoft Office Word 2 12.02.2011 12:50