Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Windows Forms или MFC?


Автор: Kirill123 15.7.2006, 14:40
Здравствуйте. Вот решил изучить Visual C++ и не знаю, что лучше изучать: MFC или Windows Forms. Искал ответ на этот вопрос через поисковик, но ничего толкового не нашёл. Разъясните, пожалуйста, в чём плюсы и минусы у MFC или Windows Forms и что лучше начинать учить.

Заранее благодарен. 

Автор: Kirill123 16.7.2006, 16:26
Ясно... Рассчитывал на помощь... Хотел полностью покончить с паскаликом, изучил азы С++, достал Visual Studio 2005, начал разбираться, а спросить не у кого... В универе никто вообще не знает, что такое С++. Пришёл на форум- и здесь никто не объяснит. Спасибо Вам большое. 

Автор: 0x07L 16.7.2006, 17:48
Знаешь что, подожди будних дней. В выходные на форуме ошиваются только такие, как я... 

Автор: DeadSoul 16.7.2006, 17:53
Kirill123, учи не С++, а С#(в том числе WinForms). За это денег больше платят 

Автор: 0x07L 16.7.2006, 20:20
Как я ошибся... 

Автор: Kefir 16.7.2006, 20:30
Цитата(DeadSoul @  16.7.2006,  09:53 Найти цитируемый пост)
Kirill123, учи не С++, а С#(в том числе WinForms). За это денег больше платят  

Это откуды факт?! Неправду говоришь.


Kirill123, учи лучше Windows Forms. Насколько мне известно, МФЦ, хоть и хорошая штука, но МС её забросил. Да и, как человек, учивший и МФЦ и формы могу сказать, что формы удобнее как-то. Хотя может некоторым больше нравится и мфц.

В общем, учи формы - не ошибёшься! 

Автор: DeadSoul 16.7.2006, 20:38
Цитата(Kefir @  16.7.2006,  20:30 Найти цитируемый пост)
Цитата(DeadSoul @  16.7.2006,  09:53 )
Kirill123, учи не С++, а С#(в том числе WinForms). За это денег больше платят  
Это откуды факт?! Неправду говоришь.

За С++ под винду платят больше? Вы на сайтах работы бывали?
 

Автор: Kefir 16.7.2006, 21:13
DeadSoul, а вы работали?  smile  smile  smile  

Я сам хоть и на шарпе пишу, но это не потому что за него платят больше. Это потому что о нравится больше. А то что за С++ платят меньше это утверждение безосновательное. Всё зависит от фирмы / проекта, т.е. конкретного случая. Только так. 

Автор: takedo 16.7.2006, 21:16
если уж выбирать, то самое лучшее это наверное писать на MASM. Только можно обдристаться очевидно. WinForms? Я вообще не в курсе чего это такое. MFC - штука, по которой есть книжки, и это хоть и не совсем крутая вещь, но на её базе можно чего -либо сделать хорошее и достаточно быстро. Если недостаточно, то можешь и на API чего сбацать. C#? Спроси у тех кто пишет на C++ собираются ли они резво переходить на другой язык? Думаю, что перцы, которые уже зарабатывают себе на жизнь с помощью C++ не спешат... Есть ведь ещё и VCL. Только спросил ты вопрос на форуме под названием MFC - хочеь услышать, что люди тебе признаются в своей ошибке? Скорее скажут о том, как они круто поступили... Потому, спроси лучше на формуме по Basic. Получишь более вразумительный ответ. Но можешь просто поискать работу и посмотреть на требования, по ним и делай выводы. 

Автор: Kefir 16.7.2006, 21:41
Цитата(takedo @  16.7.2006,  13:16 Найти цитируемый пост)
самое лучшее это наверное писать на MASM

 smile  smile  smile 
Цитата(takedo @  16.7.2006,  13:16 Найти цитируемый пост)
MFC - штука, по которой есть книжки, и это хоть и не совсем крутая вещь, но на её базе можно чего -либо сделать хорошее и достаточно быстро.

А на формс ещё быстрее и удобнее.

Цитата(takedo @  16.7.2006,  13:16 Найти цитируемый пост)
Только спросил ты вопрос на форуме под названием MFC

а что тут по твоему сидят люди, которые кроме мфц только и знают?

Цитата(takedo @  16.7.2006,  13:16 Найти цитируемый пост)
спроси лучше на формуме по Basic

пацтулам
 

Автор: DeadSoul 16.7.2006, 21:47
Цитата(takedo @  16.7.2006,  21:16 Найти цитируемый пост)
Я вообще не в курсе чего это такое

Это не говорит о Вас хорошо.


Цитата(Kefir @  16.7.2006,  21:13 Найти цитируемый пост)
DeadSoul, а вы работали?        
Я сам хоть и на шарпе пишу, но это не потому что за него платят больше. Это потому что о нравится больше. А то что за С++ платят меньше это утверждение безосновательное. Всё зависит от фирмы / проекта, т.е. конкретного случая. Только так. 

В среднем. 

Автор: Kefir 16.7.2006, 21:53
Цитата(DeadSoul @  16.7.2006,  13:47 Найти цитируемый пост)
В среднем.  

Предлагаю закончить этот разговор в связи с наличием разных точек зрения  smile  smile  smile 
 

Автор: vvpC 16.7.2006, 22:42
Цитата(Kefir @  16.7.2006,  21:53 Найти цитируемый пост)
Предлагаю закончить этот разговор в связи с наличием разных точек зрения
 истину глаголешь

Если знаешь API - пофигу на чем програмить для винды, а если не знаешь - опять же пофиг на чем макроскриптописательством заниматься... Уважаемый афтар, изучи программирование для виндовс на си и все вопросы отпадут(не обвиняйте в сишном шовинизме, просто это тот язык на котором частично написан кернел.длл -асм уж не обсуждаем smile ).
скорее закрывайте тему.чел с басика(или делпхи) хочет по легкому программером стать - все заканчится матной перебранкой

 

Автор: Kirill123 16.7.2006, 23:44
Теперь по порядку...

За Masm я вообще ничего не спрашивал, я говорю о высокоуровневом программировании. И, если взять платформу .NET, то думаю, что ассемблер скоро должен вообще потихоньку забыться. Программирование Win API я знаю, так как писал свои приложения под Windows с использованием API на cpp, потом подумал, что хватит фигнёй заниматься и надо переходить на более абстрактный уровень, и выбрал, конечно-же, Visual C++. И сразу столкнулся с проблемой... С чего начать. Все книжки, что я качал, были о MFC.. C другой стороны, на одном сайте прочитал, что Windows Forms более гибкая и что MFC уже умерло. Вот и насторожился: надо-ли учить программирование под MFC и тратить кучу сил и времени, если ту же задачу я могу выполнить с помощью Windows Forms, тем более, что она более сходна по интерфейсу с программированием VCL на том же Delphi и Builder... Только вот сайту тому верить я не решился, и обратился за помощью на сюда, форум, чтобы выяснить все плюсы и минусы, которые имеют MFC и Windows Forms.

P.S. "Лёгким программером"... Ну спасибо за комплимент. Я всего-лишь решил сменить среду разработки на более гибкую и более оплачиваемую. Значит, по принципу "мы лёгких путей не ищем", все дружно переходим на asm и показываем всем, какие мы крутые... Среда для того и создаётся, чтобы делать часть рутинной работы и облегчать жизнь программиста. 

Автор: Kefir 16.7.2006, 23:58
Kirill123, учф. по-моему тут даже думать не надо. Сила(WindowsForms) == 100 * Сила(MFC)  smile 

Цитата(Kirill123 @  16.7.2006,  15:44 Найти цитируемый пост)
что Windows Forms более гибкая и что MFC уже умерло

всё правда. На мфц сейчас уже не стоит заглядываться. Ведь с выходом висты появится WinFX - а он, как вы догадались, на нете построен. МФЦ уже отжило своё... 

Автор: Kirill123 17.7.2006, 00:29
To Kefir

Понял, спасибо Вам огромное. А не подскажете книги, хорошие для изучения Windows Forms? Не хочу заказывать что попало, а что лучше читать не знаю.

За ранее благодарен. 

Автор: Kefir 17.7.2006, 08:07
Kirill123, сейчас читаю великолепную книгу - "C# 2005 для профессионалов". Более грамотной литературы я не видел. Вот http://forum.vingrad.ru/index.php?showtopic=101063&hl=2005 обсуждение данной книги. Именно эту книгу я бы и порекоммендовал. 

Автор: 0x07L 17.7.2006, 09:34
Цитата(Kefir @  17.7.2006,  00:58 Найти цитируемый пост)
Ведь с выходом висты появится WinFX

Ваши данные устарели. Выход WinFX отложен до следующей версии Windows (не раньше 2010-го года) 

Автор: Kefir 17.7.2006, 09:37
Цитата(0x07L @  17.7.2006,  01:34 Найти цитируемый пост)
Ваши данные устарели. Выход WinFX отложен до следующей версии Windows (не раньше 2010-го года)  

Очень возможно. Но суть фразы была не в том КОГДА он выйдет а в том, что он ВЫЙДЕТ. И будет построен на нете.
А за поправку спасибо. 

Автор: 0x07L 17.7.2006, 11:59
Простите, кажется это я привел неверную информацию. Видимо, я потерял WinFX из вида, потому что его переименовали в .NET Framework 3.0 Вот что по этому поводу написано в Википедии: .NET Framework 3.0, первоначально называвшийся WinFX — новый интерфейс программирования приложений, который Майкрософт вводит в новой операционной системе Windows Vista. Старый интерфейс, Win32 API, будет по-прежнему доступен в Vista, но из него не будет прямого доступа ко всей новой функциональности, появившейся в .NET Framework 3.0. 

Автор: Kirill123 18.7.2006, 15:37
Спасибо за совет по поводу книжки. В своём городе купить не смог- нету. В соседний город выбрался... Странно, но там её тоже нет. И скачать не удалось... smile Ну это ничего, я что-нибудь придумаю.  

Автор: Kefir 18.7.2006, 17:43
Kirill123, www.books.ru, www.ozon.ru. Там есть. Доставка по-моему почти везде. 

Автор: CobaltD 19.7.2006, 16:15
Есть много "долгих" проектов которые никто вот так лихо переводить с MFC на WinForms не будет. Особенно когда уже вышла какая-нибудь 5я версия. Изучая MFC придется глубже вкапываться в систему и принципы её функционирования. .NET и язык под него C# - проще, на него делает ставку Микрософт, кроме того переходить на него с дельфей будет проще. А более высокая зп шарпщиков обосновывается более быстрым выпуском продукта. Главное не зацикливайся на чтении книжек, а почуствовав в сибе силушку не дюжтинную сядь напиши какую прилагу, хотяб для себя. В процессе не раз зачтешься МСДНом, это будет полезнее. 

Автор: Kirill123 20.7.2006, 17:22
Да, я понимаю, тем более что мне очень нужно написать для себя резидентную программку, которая перехватывает хуки (или в Visual C# это уже не хуки) клавиатуры и вставляет в поля загруженной браузером страницы некоторые данные, или отмечает чекбоксы загруженной страницы, после чего отправляет полученые данные по методу Post (нажав на кнопку, что в странице или как-то на прямую). На делфи никто не знает, как такое можно сделать (был и на DelphiMaster и др форумах). Резидентную часть я организовал, связал с MySql базой данных, сделал отлов хуков, а вот как проставлять значения в элементы html- страницы, не имеющих даже handle, никто не знает. Думаю, на Visual C# с этим попроще будет.  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)