Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
Так почему оно го**но, и чем его можно заменить?
10.09.04 18:29: Перенесено модератором из 'C/C++' — WolfHound
18.10.04 03:55: Перенесено модератором из 'Прочее' — Павел Кузнецов
Здравствуйте, Wind, Вы писали:
W>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>Так почему оно го**но, и чем его можно заменить?
WTL — но я не пробовал
привык к MFC
... << RSDN@Home 1.1.4 Писалось под звуки Boney M — Ma Baker>>
Здравствуйте, Wind, Вы писали:
W>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>Так почему оно го**но, и чем его можно заменить?
Qt,
wxWindows сам не пробовал.
Обе псевдо-кроссплатформенные
Здравствуйте, Mirror, Вы писали:
M>Здравствуйте, Wind, Вы писали:
W>>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>>Так почему оно го**но, и чем его можно заменить?
M>Qt, M>wxWindows сам не пробовал. M>Обе псевдо-кроссплатформенные
А почему псевдо?
Qt насколько я знаю, нормально в Линух себя чувствует...
... << RSDN@Home 1.1.4 Писалось под звуки Boney M — Ma Baker>>
Здравствуйте, ChipSet2k, Вы писали:
CS>Здравствуйте, Mirror, Вы писали:
M>>Здравствуйте, Wind, Вы писали:
W>>>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>>>Так почему оно го**но, и чем его можно заменить?
M>>Qt, M>>wxWindows сам не пробовал. M>>Обе псевдо-кроссплатформенные CS>А почему псевдо? CS>Qt насколько я знаю, нормально в Линух себя чувствует...
Потому что под каждую из платформ надо собирать отдельно.
Здравствуйте, Wind, Вы писали:
W>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>Так почему оно го**но, и чем его можно заменить?
А зачем тебе его заменять? Если ты владеешь в совершенстве MFC, если пишешь только под Windows, то что тебе ещё нужно от оболочек? У MFC и коды открыты, и поддержка производителя ОС, и она уже доведена до совершенства. И стоит вместе с компилятором $100. Что может быть лучше? Не знаю...
А заменить можно: WinAPI, Qt, WTL, можно свою обёртку написать.
Здравствуйте, Wind, Вы писали:
W>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>Так почему оно го**но, и чем его можно заменить?
я пробовал wtl
нормально. на довольно низком уровне работает, все прозрачно, не так закамуфлировано как mfc.
в принципе похоже на mfc, но wtl легче, там проще работать с COM.
к тому же MS вроде как уже не будет поддерживать mfc....
Здравствуйте, Ovl, Вы писали:
Ovl>Здравствуйте, Wind, Вы писали:
W>>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>>Так почему оно го**но, и чем его можно заменить?
Кстати, а кто-нибудь ответит человеку на первую часть вопроса? Я уже весь заждался....
Ovl>я пробовал wtl Ovl>нормально. на довольно низком уровне работает, все прозрачно, не так закамуфлировано как mfc. Ovl>в принципе похоже на mfc, но wtl легче, там проще работать с COM.
Ovl>к тому же MS вроде как уже не будет поддерживать mfc....
Да что Вы говорите. Вот так возьмёт и кинет своё детище, на котором сидит куча компаний? Это же вроде не IBM
Здравствуйте, Слава Шевцов, Вы писали:
СШ>Здравствуйте, Wind, Вы писали:
W>>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>>Так почему оно го**но, и чем его можно заменить?
СШ>А зачем тебе его заменять? Если ты владеешь в совершенстве MFC, если пишешь только под Windows, то что тебе ещё нужно от оболочек?
согласен
> и она уже доведена до совершенства.
смелое утверждение
СШ>А заменить можно: WinAPI, Qt, WTL, можно свою обёртку написать.
согласен
от себя:
ничего не делай просто так
если многие говорят что MFC говно, то что же мне идти теперь и переделывать свои проекты?
кто за это будет платить?
MFC далека от идеала, а идеала как известно вообще не существует, везде есть какой-то компромисс между плюсами и минусами.
Если тебе надо разрабатывать GUI для win, то я бы тебе посоветовал смотреть в сторону WTL.
WTL классная библиотека. На RSDN есть хорошие статьи по WTL для начинающих.
Или вообще уходить в .NET и WinForms.
Здравствуйте, Слава Шевцов, Вы писали:
СШ>Здравствуйте, Ovl, Вы писали:
Ovl>>Здравствуйте, Wind, Вы писали:
W>>>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>>>Так почему оно го**но, и чем его можно заменить?
СШ>Кстати, а кто-нибудь ответит человеку на первую часть вопроса? Я уже весь заждался....
Я не сказал бы, что MFC — го**но. 95% моих программ написано именно на MFC. Минусы есть, идеальной библиотеки не существует, но до такой характеристики этих минусов явно недостаточно. Основной минус, как мне кажется — сложность выхода за рамки стандартного подхода, предлагаемого MFC. Пока делаешь то, что в ней предусмотрено, всё отлично. Но как только пытаешься сделать что-то своё...
К>Основной минус, как мне кажется — сложность выхода за рамки стандартного подхода, предлагаемого MFC. Пока делаешь то, что в ней предусмотрено, всё отлично. Но как только пытаешься сделать что-то своё...
К примеру ?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Здравствуйте, Слава Шевцов, Вы писали:
СШ>Да что Вы говорите. Вот так возьмёт и кинет своё детище, на котором сидит куча компаний? Это же вроде не IBM
А что это за шпилька? (просто интерестно )
"Man feed machine
Machine feed man"
Peter Gabriel — OVO — The Tower That Ate People
Здравствуйте, Слава Шевцов, Вы писали:
СШ>Да что Вы говорите. Вот так возьмёт и кинет своё детище, на котором сидит куча компаний? Это же вроде не IBM
а почему бы и нет. MFC делался очень давно, и все попытки сохранить поддержку вылились в массивный гроб на колесах.
Я уже встречал в требованиях некоторых продуктов, что 98-ая не поддерживается. Не вижу причин, чтобы не отказаться от использования MFC.
Конечно, MS не в силах запретить писать на MFC
Я имел ввиду, что если кто-то найдет в нем новые баги, то исправлять будет сам, писать об этом в МС бесполезно.
Здравствуйте, AndrewJD, Вы писали:
AJD>Здравствуйте, Константин, Вы писали:
К>>Основной минус, как мне кажется — сложность выхода за рамки стандартного подхода, предлагаемого MFC. Пока делаешь то, что в ней предусмотрено, всё отлично. Но как только пытаешься сделать что-то своё...
AJD>К примеру ?
Сходу смог вспомнить такую задачу. Требуется сделать SDI с поддержкой нескольких типов файлов, но одинакового шаблона. Т.е., например, сделать текстовый редактор, с которым автоматически ассоциируются TXT-, LOG- и, скажем, INI-файлы, у каждого своя иконка, своё название типа в реестре, но открываться и обрабатываться в редакторе они должны совершенно одинаково. Т.е. делать несколько DocTemplate'ов нет смысла. Как я это сделал — можно почитать в этой статейке. Может, это и изврат, но я другого способа просто не нашёл.
Пока писал, вспомнил другой пример — всем известная проблема дизейбла пункта меню или кнопки тулбара. Ну почему бы не сделать просто EnableMenuItem(FALSE)? Так нет, берёт, самостоятельно внутри устанавливает обратно стиль Enabled. Да, проблема решается. Да, довольно просто решается. Но как её решить тому, кто не знает готового решения?..