мнение All об MFC
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.5] |
|
|
| Страницы: (7) « Первая ... 2 3 [4] 5 6 ... Последняя » все ( Перейти к последнему сообщению ) |
мнение All об MFC
|
Сообщ.
#46
,
|
|
|
|
Еще раз - текущей версии MFC - 4 года (VC6 появилась в 97 году), самой MFC - более 10.
В тот момент лучшего не было. Сейчас имеется СОВМЕСТИМОСТЬ. Сама MS нонимает неуклюжесть MFC и создает другие библиотеки ATL и WTL. На мой взгляд будущее за .NET. К стати это не только "работа с сетью". Возможно это будущий API Microsoft. Не только MFC проигрывает WinForms (это часть .Net, отвечающая за UI), но на мой вздляд C++ более неуклюж по сравнению с C#. |
|
Сообщ.
#47
,
|
|
|
|
2 DmitryRyvkin
Спешу сообщить что объектная ориентированость ОС не есть еквивалент с понятием ООП в целом.Изучите под отладчиком кернел любезный - я имею в виду НТ. 2 Flex Ferrum И еще по поводу гомогенности MFC.Что вы хотели этим сказать? Что набор классов однороден?Или что шаблоны однородны? или что-то еще? проясните плз...для поддержания плодотворного диспута так сказать пионерский привет |
|
Сообщ.
#48
,
|
|
|
|
Гомогенность - в смысле гомогенная иерархия классов, когда все классы растут из одного корня - в данном случае CObject. Но это уже другая тема для диспута - хорошо или нет использовать гетерогенные иерархии с возмолжностью множественного наследования. Я считаю, что библиотека много теряет ограничивая программиста одиночным наследованием. Но это исключительно ИМХО. Тут опять могут возразить, что MFC уже 10 лет и т. д. и т. п. Но тем неменее я считаю это недостатком.
|
|
Сообщ.
#49
,
|
|
|
|
Hi everybody
Вообще это не плохой подход -- рассмотреть вопрос о стоимости продуктов! Америка -- не совок, где цены устанавливаются по решению партии и правительства. Там, на сколько я знаю, цену на продукт устанавливают драконовские законы рынка. (Драконовские -- в том смысле, что если сделал не верный шаг, то значит пролетел.) Если VС++ стоит дорого, значит он столько и стоит! Думаете Борланд не хочет продавать свой продукт подороже? -- Хочет, да еще как! Но, увы, не может. Задерет цены -- продажи вообще встанут. А у нас в стране эти законы не действуют. Мы как были пиратами, так и остаемся ими по сей день. Потому как правосудие у нас не работает буксует в этом вопросе. А знаете сколько можно схлопотать за пиратство в США? Вот то-то и оно, что покупаем мы CD-юки с Броландом и M$ по одной цене. Так что, я думаю, наша азиатская страна не может быть "лакмусовой бумажкой" в вопросах оценки качества продукта. Для DmitryRyvkin -- несколько лет назад я писал на Delphi и, откровенно говоря, был счастлив. Но мне как-то попалась в руки книжка Дэвида Круглински (Боже, упокой его душу! Он несколько лет назад трагически погиб). Там черным по русскому было сказано, что "MFC не сделает программирование достоянием для масс". Я понял так, что MFC -- это для избранных (Я еще тогда не смотрел "Матрицу"). А быть избранным, страсть как хотелось... Кроме того, далее были слова, что Windows-программисты получают большую зарплату и "эта ситуация вряд ли изменится в ближайшем будущем". Вобщем, я заглотил наживку... Оглядываясь назад, я не могу сказать, что я жалею о смене своих убеждений. Скорее наоборот. Коммерческие проги я пишу на МС++. Но вот своих девченок (у меня две девочки 8 и 6 лет) я учу программированию на VB, а не на Делфи. Им еще сложно понять всякие там "синусы-косинусы", а кнопки расставить на форме и навесть на них обработчиков они уже умеют. Богу - богово! To Flex Ferrum 10 лет -- это плохо?! Я не уверен! А что, разве уже вышло положение об отмене тех задач, для которых, собственно, и был придуман С++? Конечно, С++ вместе со всеми его библиотеками не очень компактен. Хотя он и претендует на роль очень универсального языка, но все ж, давайте не будем на него вешать всех сабак! Появился Си-Шарп, ну и на здоровье! Это не значит, что плюсам пора на пенсию. Ассеблер ведь не умер, а занимает строго свою нишу. То же самое происходит и плюсами. То же произойдет и с Шарпом. Я еще раз хочу сказать, что если вы испытываете трудности в программировании, то либо вы взяли неправильный инструмент для решения своих задач, либо вы подошли к границе дозволенного. Тогда вам прямой путь в написании своего инструмента. Программистское общество вам скажет спасибо, а лет через 10 студенты будут изучать ваш инструмент. To DmitryRyvkin Я прочитал еще раз ваше самое первое высказывание -- "томоза при работе с битмэпом". Нет там никаких тормозов! Просто Вы, уважаемый, "не правильно пользуетесь вилкой"! К сожалению, MFC -- это библиотека достаточно тяжелая в освоениии. Но она стоит того! Делфи осваивается на прядок быстрее. A.Zh. |
|
Сообщ.
#50
,
|
|
|
|
Ну вот=опять разброд и шатание
1.не хрен обсуждать цены на софт=если-бы его все легально покупали програмеров бы вообще не было на свете 2.я по существу не услышал ни одного четкого мнения о subj 3.2 zhevak =я бы попросил не говорить за всех >>Спокойнее, господа, спокойнее! Здесь не >>место для публичных >>икзекуций иноверцев. Здесь место, где в >>основном тусуются >>фанаты от MFC, т.е _МЫ_. А стало быть нам >>не к лицу мочить >>наших же гостей из Дельфинария в нашем же >>доме. ![]() 4.лично я против MFC и вообще этих дуратских библиотек потому что: __A)может кто занимался RE? более кривого кода чем объектный придумать сложно __B)изучение чужой библиотеки занимает столько же времени сколько написание своей __С)ты всегда знаешь все недостатки (баги) своей а на изучение багов чужой потратиш в 20 раз больше времени и все равно ничего целиком не узнаешь __D)готовые библиотеки развращают=сколько оригинальных,красивых прог вы видели когда был дос?;а сейчас?=ЭТО ПРОСТО ТОРМОЗИТ ПРОГРЕСС 5.о начинающих: у них должны быть свои мозги,кто поумнее сам все поймет;и если уж на то пошло идеи "правильного" "неправильного" не имеют никого отношения к реальной жизни и твоем куске хлеба 6. вместо итога:если чел досконально знает API он волен применять любые библиотеки какие сочтет нужным |
|
Сообщ.
#51
,
|
|
|
|
Юзайте WTL - нормальная ОООболочка поверх ВИН32АПИ а МФС - это просто вилы с их РТТИ - уже легкой оболочкой не сойдет
Достаточно посмотреть на исходники класса ЦСтринг - курсовая для 3 курса не более. |
|
Сообщ.
#52
,
|
|
|
|
По поводу WTL мне особенно нравится вот что
(взято с сайта microsoft): Windows Template Library WTL 3.1 A library for developing Windows® applications and UI components. Extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more. Size (bytes): 317,880 Last Updated: 03/23/2001 Supported: no ^^^^^^^^^^^^^ Download Discuss in Newsgroups |
|
Сообщ.
#53
,
|
|
|
|
1. Создание собственных библиотек дело слишком дорогое удовольствие, доступное лишь для мощных компаний.
2. Vb или Delphi не для вычислений, тут я вижу люди которые не знают, что иные расчеты идут часами. 3. Что Microsoft приобрела главного Pascalчика тем хуже для них теперь VC будет похож на Pascal. Borland делает наоборот. 4. Ты крутой не потому что пишешь на MFC, а потому что ты пишешь, и как. И на том что удобнее и быстрее для тебя. 5. И ни кто с нуля программы не пишет, у каждого есть свои наработки. Под MFC требуются более обширные. 6. Как говорится смотри в корень: Кто нибудь стал бы писать на MFC если M было не Microsoft? |
|
Сообщ.
#54
,
|
|
|
|
2rodion: Главный паскальщик сделал C#, C++ только так, немного потрепали - добавили __gc
|
|
Сообщ.
#55
,
|
|
|
|
да здесь бесполезно что то обсуждать
вопрос из той же области - на чём писать проги - на асме или VB ![]() у каждой тулзы своя область применения но сторонников и той и другой ты не переубедишь, что их тулза не самая-самая если интересно моё личное мнение: 1)я против MFC (см. далее) 2)имея большой опыт программирования на API очень быстро создаются те вещи, которые предлагает MFC (т.е. MFC практически не ускоряет процесс создания программ) 3)вставляя прослойку ЧУЖОГО кода, вы увеличиваете размер программы и вероятность глюков 4)при повышении универсальности обязательно снижается эффективность; MFC универсальная библиотека, разработанная для применения в самых разных проектах, а значит она не является максимально адаптированной под ваш конкретный проект; т.е. используя МФС вы снижаете эффективность вашей программы (а вы не задумывались, как происходит связь между HWND и this?? прежде чем посмотреть исходники МФС возмите тряпочку чтобы стирать слюни с монитора) 5)используя МФС вы, например, не контроллируете основной цикл сообщений (иногда это создаёт проблемы, которые не кривыми способами решить невозможно) 6)С++ может быть очень низкоуровневым языком, а может быть и очень извращённым, похожим на паскаль или бейсик; МФС сдвигает его как раз в сторону последних (вспомните хотя бы навязанные классы исключений и сами исключения) (кстати а многие ли поклонники МФС обрабатывают эти исключения? а вы сами их обрабатываете? а вы вообще знаете что это такое? а вы знаете что в МФС бесполезно проверять new char[size] на NULL? а вы знаете, что большинство ГУЁвых классов МФС могут бросать исключения? у вас теперь не изменилось мнение о стабильности вашей программы?) 7)какая бы большая ни была библиотека, API всё равно разнообразнее и дают больше возможностей, а значит позволяют делать более разнообразные и оригинальные проги, эффективнее использовать систему |
|
Сообщ.
#56
,
|
|
|
|
Привет всем!
Возражения апологетам Microsoft® MFC. 1.По поводу Цитата Если VС++ стоит дорого, значит он столько и стоит!... Так что, я думаю, наша азиатская страна не может быть "лакмусовой бумажкой" в вопросах оценки качества продукта. А не кажется ли многоуважаемому All, что тот факт, что на дельфи в нашей стране больше (или, во всяком случае, не меньше) программируют, чем на VC (при одинаковой цене на эти продукты : ) как нельзя лучше говорит от том, что есть что?2. Далее, кто-нибудь из сторонников MFC изучал сорсы CAsyncSocket/CSocket? Тогда вы в курсе, что писать в такие сокеты из разных нитей если не невозможно, то связанно с колоссального размера геморроем. 3. Цитата Я вот часто пишу консольки с использованием некоторых MFC классов. И ведь действительно облегчает работу! Не то, чтобы даже облегчает, а скорее, ускоряет. Ускоряет? Вот win2k, судя по всему, почти все аж на VB написано, GUI, во всяком случае, уж точно:). Ускорение - просто летать стала по сравнению с WinNT. Попой вперед. (дамы, пардон ми) 4. Выше были реплики. Теперь подойдем систематически. Рассмотрим отдельно две сферы программирования: а)системное программирование б)написание прикладных GUI-программ и оценим удобство/надежность MFC как инструмента для реализации каждого из видов программ. А. Использование MFC для написания служб/драйверов не только неправильно, но еще и глупо - нельзя же ради какого-то класса CString и ему подобных использовать в серьезной программе либу, которая 1) немало весит и 2) ненадежна. Предвидя возражения по поводу ненадежности - напишите многопоточную прогу которая использует более-менее много классов MFC и погоняйте ее в NuMega Bounds Checker'е. Очень прикольно и поучительно. Посему писать системные программы нужно на чистом апи плюс (при достаточно уважительной причине) STL. Кстати, апи тоже не весь юзать можно. ShellAPI, например, не стоит; а в особо серьезных программах не стоит использовать и ф-ии из user32.dll. [отступление. для ценителей среды MS VC, в частности еённого дебуггера:). пробовал ли кто-нибудь отлаживать программы, использующие STL и делать "trace into" в эти шаблоны? далее, при запуске такой программы в дебаг моде не показываются некоторые memory leaks после завершения отладки. [/конец отступления] Б. Написание GUI-приложений. Спорить не стану, использовать MFC для этой цели _можно_. Но, пардон, вспомните, с какими траблами связана, казалось бы, такая мелочь - организация fullrowselect'а в листконтроле, размещенного на диалоговой форме. И так по мелочам. Тут говорилось о кубиках. Так вот, согласен, VCL - это разноцветные кубики разных размеров. А MFC - это круглые кирпичи + несколько отдельных типовых молекул:). Проблема программирующих интерфейсы на VCL заключается не в том, что VCL плох, а в том, что перед тем как писать программу, нужно подумать, спроектировать ее, в конце концов. А люди ленятся - они привыкают, что сложные с точки зрения MFC-программиста вещи делаются двумя щелчками мышки - и некоторые(подсознательно? )считают, что и думать за них компьютер должен. А программисту, использующему MFC думать нужно. И много думать. Ведь в MFC сделать потомка от CDialog'а с возможностью изменения размеров непросто. А чтоб добавить в CTreeControl элемент -минимум строк десять написать надо. Чуть поменьше чем на API. И т.д. и т.п.Вывод. Для написания GUI-приложений следует использовать VCL. Склонные к мазохизму и располагающие временем могут использовать MFC; кроме того, его глюкавость здорово стимулирует интерес к чтению MSDN. Для написания системных программ нельзя использовать ни то, ни другое. ------- Замечу, что про написание COM/ActiveX я ничего не говорил намеренно - я не специалист в этой области. И не мне судить. -- |
|
Сообщ.
#57
,
|
|
|
|
2 purpe:
Короче, увидел эту рубрику и решил почитать... Дочитал до высказывания PURPE о том что мол Web-server на MFC легче и лучше. А ты задумайся, сколько простоит в сети такой сервер???? (естественно, даже если не вмешиваться из вне. на мой взгляд, тут проблема состоит в том, что MFC приходится взаимодействовать с Windows, что само по себе не долговечно). Желаю удачи в работе с такими серверами!!! |
|
Сообщ.
#58
,
|
|
|
|
ну так ... это ....
я ж не собираюсь запускать вебсервак в 98-ых ![]() ясный пень, что без всяческих примочек сервак долго не простоит ![]() WinNT+грамотнонастроенный AtGuard+выбивание из NT лишней дури+грамотная настройка NT+а ещё NT можно посадить за проксю.... и т.д. кароче, четыре месяца ентот сайт просидел без перезагрузки при посещаемости 700-800 хостов в сутки. Чем больше возможностей в программе, тем быстрее она упадёт. Так что если сделать вебсервер безо всяких наворотов (типа апача) то енто хозяйство очень даже стабильно пашет!!! А реплики админов, которые даже не представляют, как защитить NT от взлома - не принимаются! |
|
Сообщ.
#59
,
|
|
|
|
Скорее всего, имелось в виду, что в таком веб-серваке будет куча дырок, например, типа buffer overflow vulnerability. Так что прикрытие портов гвардом не поможет (не будем обсуждать дырки в самом гваде:) ).
|
|
Сообщ.
#60
,
|
|
|
|
2jcukeng
Вы предлагаете писать GUI на VCL и... Паскале (aka Delphi) ? Я правильно понял ? Или стоит юзать Билдер ? Если так, тогда программер не только мазохист, но и садист. Когда элементарная прога весит больше метра и так тормозит, становится за себя стыдно. Что же касается неудобства ListView (а причем тут его размещение на диалоге ?) , то давно есть дополнения к MFC, создающие свои аналоги с более удобным интерфейсом (то же что и VCL). А MFC этих прибамбасов не предоставляет и правильно делает. Может им еще и Chart запихать туда ? И все таки не могла библиотека равиваться 10 лет , если она такая тупая, ненужная и глючная. Я не сомневаюсь, в M$ прграммеры сидят не сильно глупей нас с вами. Повторяю, нет ни у кого восторгов от MFC, но голым API сейчас не отделаешся. А замечание, что когда пишеш на MFC приходится куда больше думать, чем в VCL верно. Разве это плохо ? Посмотрите на кофы дельфистов. Конечно есть серьезные вопросы, но чаще - как подвинуть/ изменить размер формы.. итд итп. На MFC такого вопроса не возникнет - иначе до этого момента просто не дойдеш. |