Здравствуйте.
Собственно вопрос состоит в том: почему до сих пор используются MFC, COM, ATL и так ли они хороши, чтобы сейчас их использовать? Дело в том, что я заметил, что на многих вакансиях C++ Developera в перечне необходимых навыков и знаний присутствуют MFC и\или COM, ATL. Неужели их так перспективно учить?
Почему? Где они используются и зачем их применять?
Взять тот же MFC. Он очень громоздкий, тяжелый, неудобный и т.д.... Есть ведь, к примеру, Qt, который намного удобнее и работать с ним приятнее. В чем смысл MFC тогда? Стоит ли его изучать? Зачем на нем писать новые проекты, когда есть более удобные фреймворки (Qt, GTK, SDL в конце концов).
А COM... Он тоже достаточно неудобный и сложный (впрочем как и кривой). Не понимаю почему в вакансиях они так часто встречаются. Enterprise? Но ведь для этого сейчас есть .NET (С# и т.д.) ну и Java конечно, да и такие вещи как WPF, где можно интерфейс сделать довольно-таки быстро и выглядеть он будет прилично.
P.S.: Особенно будет интересно послушать ответы Senior C++ Developerов и про то, используют ли они в своей работе данные вещи (это, конечно, зависит от специализации, но всё же), если да, то зачем и где, а также стоит ли эти технологии изучать (я знаю лишь основы этих технологий, мне тот же Qt больше нравится, чем, к примеру, MFC).
COM - универсальный клей для Windows. COM компонент можно написать на любом языке и вызвать из любого языка. Большое количество функций в Windows основано на COM.
Даже новое WinRT по своей сути является оберткой над COM-овскими объектами.
COM - это фундаментальная часть винды как и WinAPI.
Возможно, для прикладного софта COM стал громоздким, тяжелым, неудобным так же, как и WinAPI, но он - важная часть современной винды.
Всё дело в том, что есть куча старых проектов, которые используют эти технологии. Учить их вовсе необязательно, если не собираетесь сопровождать какой-нибудь старый проект. Microsoft-овская библиотека вообще не прижилась и сейчас существует множество лучших возможностей. СОМ использется в основном для сопровождения. За ATL не ручаюсь — не в курсе.
Qt, однозначно, сейчас более востребован
Сборка персонального компьютера от Artline: умный выбор для современных пользователей