Re[6]: Мысли об MFC
От: aloch Россия  
Дата: 03.06.17 12:54
Оценка:
Здравствуйте, peterbes, Вы писали:

P>Здравствуйте, AlexGin, Вы писали:


AG>>Однако, на сегодня MFC не выглядит таким инновационным, как это было примерно 15 лет назад


P>Он и 15 лет назад не был инновационным и свежим, сейчас и подавно.

P>Свежим и инновационным был борландовский OWL, в четвертой и пятой студии на MFC без слез смотреть было невозможно.
P>OWL родился на граблях и косяках турбовижн, так что опыт графического интерфейсостоения уже был. MS просто переписали OWL, выкинув попутно убогие борландовские контейнерные классы, заменив их своими, Таблицу реакций обозвали Картой событий и получили свой первый MFC. Если посмотреть, то все структуры классов в первых MFC в точности повторяли структуры точно таких же классов OWL.
P>Единственное достоинство MFC, это долголетняя поддержка и более и менее постоянный программный интерфейс, старые и не самые большие проекты еще как-то можно пересобрать на новых студиях, тогда как Борланд еле-еле съехал с 16 бит и закончил свою жизнь в VCL

что то с историей у тебя плохо

Из английской Википедии

In the early 1990s, Borland dominated the C++ market. In 1991, Borland introduced Borland C++ 3.0 which included OWL 1.0. At that time, C++ was just beginning to replace C for development of commercial software, driven by the rising of the Windows platform. During this period, OWL was a popular choice for Windows application development
In 1992, Microsoft introduced MFC as part of Microsoft C/C++ 7.0. As a similar C++ application framework for Windows, MFC immediately became OWL's primary competitor in the C++ application development market.
OWL 1.0 depended on Dynamic Dispatch Virtual Tables (DDVT), a proprietary extension to C++ that allowed the programmer to bind Windows messages (events) to functions (event handlers) in a simple manner and with little run-time overhead. MFC, on the other hand, used a solution that did not require a language extension.
In 1993, Borland launched Borland C++ 2.0 which included OWL 2.0. In this version of OWL, the proprietary DDVT extension was replaced by response tables, a macro-based solution compatible with standard C++ and similar to MFC in use. A conversion tool (OWLCVT) was included to migrate code from OWL 1.0 to OWL 2.0.


OWL 1 на каждый новый класс-окно Windows создавал новую таблицу виртуальных функций, с количеством функций большим, чем событий в Windows. Память это жрало как не в себя, но ведь это очень по С++ совски
МФЦ создавала для нового класса-окна создавалась небольшая карта событий, добавлявшаяся к базовой карте. В МФЦ обработчики событий — не виртуальные функции. В ОВЛ 2 (появившейся _ПОСЛЕ_ МФЦ 1) от виртуальных функций отказался и Борланд, сделав нечто по мотивам макросов МФЦ. Потом вообще лицензировал МФЦ для поставки.


Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.