• Автор теми Автор теми Sefiroth
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 26.08.2007
Повідом.: 398
MFC - быдлокод?

Вопрос к программерам.

Недавно пришлось познакомиться с забавной вещью, именуемой MFC (Microsoft Fundation Class). По итогам знакомства возник закономерный вопрос. Неужели под это г***о кто-то ваще пишет? Да Страуструп в гробу перевернётся от такого быдлокода!

Или я чего-то не понимаю? О_о
 
Летом до определённого уровня погружался в изучение MFC. Скажем так, визуальное программирования в Delphi кажется слишком глупым и урезанным, а MFC более правильным, но в тоже время куда более сложным. Не думаю, что это плохо. Приёмы, используемые для относительно простых действий дают большой перечень возможностей.

Собственно, как и Skyggedans, не пойму суть вопроса. ТС попробовал изучить MFC и понял, что не потянет? или в чём вообще проявляется быдловость? О_О
 
ты на свалку именуемую .нет фреймворком посмотри
Хм... Чем же это те фреймворк не угодил? Вон сколько на нём щас пишут... Ты ещё скажи, шо Java ацтой. ))
Но я реально не знаю ни одной конторы (кроме самого мелка), которая пишет на MFC. Вот и и нтересуюсь.
Ты о чем вообще?
Да, когда-то писали, а под венду на плюсах тока на нем и писали.
Щас, конечно, уже есть такие вещи как Qt и wxWidgets.
Насколько я знаю, на MFC непосредственно не писали никогда (или я об этом не слышал). Есть куча надстроек-готовых решений. Но сама по себе либа ещё более неудобная чем WinAPI.
Добавлено через 4 минуты
Летом до определённого уровня погружался в изучение MFC. Скажем так, визуальное программирования в Delphi кажется слишком глупым и урезанным, а MFC более правильным, но в тоже время куда более сложным. Не думаю, что это плохо. Приёмы, используемые для относительно простых действий дают большой перечень возможностей.

Собственно, как и Skyggedans, не пойму суть вопроса. ТС попробовал изучить MFC и понял, что не потянет? или в чём вообще проявляется быдловость? О_О
Суть вопроса: применяется ли где-то MFC для разаботки? Если да - что на ней написано? Есть ли у неё будущее.

Быдловость заключается в полном испоганивании языка С++ как такового. Бесконечные макросы, куча дублирующих друг друга классов и т.д.
 
Никто. Просто есть определённый круг людей (походу не сильно шарящих, зато высокого о себе мнения), которые убеждают меня, что MFC - это удобная вещь. Вот и интересуюсь мнением общественности...
 
которые убеждают меня, что MFC - это удобная вещь.
ну дык... а где спряталось собственное мнение? Можно ведь самому попробовать и сказать удобно или нет?.. Может быть этому кругу людей очень удобно, ну и что же? Будет ли удобно тебе можешь сказать только ты сам, попробовав
 
большая часть оконного софта на сях под вынь до появления .нета(да и после тоже) написан с использованием MFC, как альтернатива VCL борландовский, но он менее распространен
qt под виндой, как мне кажется, очень редкое явление
собстно это есть следствием широкого распространения VC++

теперь же МС усиленно толкает .нет

не понимаю, почему это вызывает такое удивление?
ЗЫ: все вышеписанное имхо
 
Никто. Просто есть определённый круг людей (походу не сильно шарящих, зато высокого о себе мнения), которые убеждают меня, что MFC - это удобная вещь. Вот и интересуюсь мнением общественности...

1. В отличие от VCL - он без ошибок. ( ну или их намного меньше)
2. Напишите свое - будет лучше.
Есть альтернативы (уточняем - были альтернативы под Винду лет 5 назад)?
 
ТС, в изначальной формулировке можно тебя понять только так. Решил .Net быдлокодер посмотреть "а шо такое MFC". Не осилил и обозвал г***ном. Для гламуру приплёл сюда "старика" Бьёрна и высказал "авторитетное" мнение.

Ты бы хоть рассказал - почему MFC является сборищем быдлокода и т.п. Обоснуй свою позицию кроме как "г***но патамучта.".

Если мне не изменяет склероз, то в 90-х особой альтернативы MFC и не было. Потому и писали. Сейчас пишут в силу привычки, или есть просто масса собственных наработок под MFC.
 
От непонимания иерархии классов у него мысли об их дублировании. Мозгов таке не хватате на осознание того, что либы МФЦ есть в стандартной поставке винды и значит тащить их с собой не надо, заботиться о версионности не надо и т.д. Документ-Вью архитектура пусть и не самое изящное решение, но вполне имеющее право на жизнь. Да, морально подустарела либа, но написано с ее использованием немерянно софта.
ИМХО тему фтоппку.

DM +1.
 
Ууу... Стоило отойти не на долго, стока понаписывали. ))
И так попорядку.
ну дык... а где спряталось собственное мнение? Можно ведь самому попробовать и сказать удобно или нет?.. Может быть этому кругу людей очень удобно, ну и что же? Будет ли удобно тебе можешь сказать только ты сам, попробовав
Собственное мнение я сложил. И помоему из 1 поста это явно видно. Интересуюсь мнением общественности (уже не в первый раз повторяю)
большая часть оконного софта на сях под вынь до появления .нета(да и после тоже) написан с использованием MFC, как альтернатива VCL борландовский, но он менее распространен
qt под виндой, как мне кажется, очень редкое явление
собстно это есть следствием широкого распространения VC++

теперь же МС усиленно толкает .нет

не понимаю, почему это вызывает такое удивление?
ЗЫ: все вышеписанное имхо
Согласен. Только с маленькой поправкой, что писали не на чистом MFC, а с помощью надствоек и готовых решений. Также знаю, что особых альтернатив не было. Зато есть сейчас. Поэтому меня интересует мнение об удобстве разработки, т.к. особо проектов я не нём не писал.
ТС, в изначальной формулировке можно тебя понять только так. Решил .Net быдлокодер посмотреть "а шо такое MFC". Не осилил и обозвал г***ном. Для гламуру приплёл сюда "старика" Бьёрна и высказал "авторитетное" мнение.

Ты бы хоть рассказал - почему MFC является сборищем быдлокода и т.п. Обоснуй свою позицию кроме как "г***но патамучта.".

Если мне не изменяет склероз, то в 90-х особой альтернативы MFC и не было. Потому и писали. Сейчас пишут в силу привычки, или есть просто масса собственных наработок под MFC.
Почему я так решил - я уже написал. Но лично для тя повторюсь. ;) Сам факт, что это БОЛЬШОЙ МАКРОС превращает отладку в КОШМАР! Плюс мелочи.
ЗЫ: Для справки, я не дотнетовец. И не стоит считать меня быдлокодером... Не люблю хвастаться, но для своего возрата у меня достаточный уровень, имхо.

От непонимания иерархии классов у него мысли об их дублировании. Мозгов таке не хватате на осознание того, что либы МФЦ есть в стандартной поставке винды и значит тащить их с собой не надо, заботиться о версионности не надо и т.д. Документ-Вью архитектура пусть и не самое изящное решение, но вполне имеющее право на жизнь. Да, морально подустарела либа, но написано с ее использованием немерянно софта.
ИМХО тему фтоппку.
Ваще-то я понимаю суть модели "документ-представление". Я про то что функционал классов документа, представления, фрейма и приложения весьма часто друг друга дублирует, т.е. и то и то можно реализовать в разных классах. С другой стороны, это нагромождения избыточного интерфейса класса. И то и другое как бы противоречит концепции ООП.
Кстати, если версия либ не совпадает - винда тя пошлёт лесом. Не пробовал запускать NT-шные приложения MFC под не NT-шную винду? Попробуй... Кстати, у VCL с этим всё ок. И если уж тягать либы MFC вместе с приложенем, то оно будет весить гараааздо больше аналогичного VLC-евского.

ЗЫ: Если я в чём-то где-то не прав, не переходите на личности, как например DM и BFG-9000... А то пропадает всякое желание общаться с такими людьми, даже если они правы.
 
Я одно время программил на MFC. Могу сказать следующее. Изначально кажется очень классной и прикольной вещью. Намного более удобной чем WinApi. Хотя без понимания WinApi лучше не лезть в MFC. И вот когда посидиш на MFC около годика понимаешь, что не такой он уже и хороший. Когда писал более менее большую прогу стало вылазить столько глюков в этом MFC. Когда нужно быстро набросать какуето прогу то MFC был очень удобен(Если сравнивать с WinApi). Сейчас я не вижу у MFC никакого будущего. Помоему в некоторых конторах приветствуется знание MFC, но нигде не видел контору которая искала бы человека в этой области.
 
И не стоит считать меня быдлокодером...
Выражайся яснее и не будет никаких недопониманий. Я высказал скорее вопросы к формулировке, нежели к конкретной личности (я ведь с тобой не работал :) ).
Если я в чём-то где-то не прав, не переходите на личности
Я на личности и не переходил (см. выше).

В целом ситуация вокруг MFC (равно как и ATL, STL, WTL...) очень часто напоминает известную пословицу/присказку/анекдот о кошках :)
 
Вот цитата из книги Чарльза Петсольда о программировании под Windows. Сразу извиняюсь за многобукафф, но это мнение достаточно авторитетного человека в области программирования под винду. ТСу будет интересно.

"Я не собираюсь учить вас тому, какой интерфейс или язык выбирать для со-
здания приложений для Windows, — вы должны это сделать самостоятельно в
зависимости от поставленной перед вами задачи и доступных ресурсов.
Если вам нужны дополнительные источники по Windows API, то многие на-
шли полезной в этом плане мою книгу Programming Windows (5-е изд., Microsoft
Press, 1998).
Мне никогда не нравилась MFC. Еще до выхода этой библиотеки у меня сло-
жилось отрицательное впечатление об ее конструкции, более того, я считаю, что
MFC едва ли можно назвать объектно-ориентированной библиотекой. Но это мое
личное мнение, другие программисты с успехом используют MFC, и это до сих
пор один из самых популярных подходов к программированию для Windows.
Хорошее пособие для изучения MFC — книга Джефа Прозиса (Jeff Prosise) Programming
Windows with MFC (2-е изд., Microsoft Press, 1999)- Для более опытных про-
граммистов также могу порекомендовать книгу Джеффри Рихтера (Jeffrey Richter)
Programming Applications for Microsoft Windows (Microsoft Press, 1999)1.
С моей точки зрения, библиотека Windows Forms организована намного луч-
ше, чем MFC, и в моем представлении она намного ближе к идеальному объект-
но-ориентированному интерфейсу для Windows. За 14 месяцев, отданных этой
книге, использование Windows Forms стало моим любимым подходом к програм-
мированию для Windows.
В терминах программирования как MFC, так и Windows Forms работают, вы-
зывая функции Windows API. С точки зрения архитектуры, можно сказать, что эти
интерфейсы расположены наверху Windows API. Это интерфейсы более высоко-
го уровня, предназначенные для облегчения программирования для Windows.
Вообще MFC и Windows Forms позволяют решать поставленные задачи с меньшим
числом операторов, чем при использовании функций API.
Очевидно, что MFC и Windows Forms не только повышают производительность
программиста, но и, подобно любому интерфейсу более высокого уровня, обладают меньшей гибкостью по сравнению с интерфейсом более низкого уровня.
Windows API позволяет делать много такого, что невозможно при использовании
классов Windows Forms."
Добавлено через 10 минут
Но я реально не знаю ни одной конторы (кроме самого мелка), которая пишет на MFC. Вот и и нтересуюсь.

Ну... летом помниться мне при поиске программерских вакансий на сайте kharkov rabota много где на самом деле в требованиях к знаниям мелькал MFC.

Хотя мое мнение таково, что начинать учиться MFC сейчас уже бесперспективно, когда есть более понятный, удобный и развивающийся framework (пусть и со своими недостатками). Те, кто изучал MFC, кто работает на нем сейчас, потому что его отлично знает, не признают того, что MFC не перспективен (для них это как ножом по сердцу), и молодое поколение программеров будут называть .net-овскими быдлокодерами. Ну это вполне нормально и закономерно.
 
Хотя мое мнение таково, что начинать учиться MFC сейчас уже бесперспективно, когда есть более понятный, удобный и развивающийся framework (пусть и со своими недостатками). Те, кто изучал MFC, кто работает на нем сейчас, потому что его отлично знает, не признают того, что MFC не перспективен (для них это как ножом по сердцу), и молодое поколение программеров будут называть .net-овскими быдлокодерами. Ну это вполне нормально и закономерно.

Золотые слова. Я неплохо знал MFC. Уже подзабыл его. Чем меньше пишешь на, чемто тем больше забываешь. И я могу стопроцентно сказать, что MFC бесперспективен. Для общего развития неплохо его знать. Но углублять внутрь не рекомендую. Человек который понимает общие принцыпы WinApi и ООП сможет за месяц освоить MFC. Мораль такова. Если есть реальная вакансия где нужно иметь знания в области MFC можете идти туда стажером и учить MFC. А если нет такой вакансии то .............
 
Назад
Зверху Знизу