Длинный вопрос, читайте внутри. Про программирование под Windows.

компьютеры программирование программы windows C++

Два вопроса:

1. Согласны ли вы с утверждением:
"...Те программисты, которые начинают осваивать программирование для Windows сразу на уровне MFC или Windows Forms, не имея никакого опыта работы с Win32 API, сталкиваются с серьезными проблемами, как только дело доходит до создания реальных приложений. Напротив, опыт программирования с Win32 API позволяет осваивать более высокие технологии гораздо гармоничней и продуктивней."?

2. Почему так происходит?

Отвечать могут все кто знает, не только Jesterok.
Ответы:
я бы согласилась.. как бы чем более пытаются упростить программисту жизнь, тем менее он понимает как работает система, хотя конечно иногда это не нужно, а вот когда нужно, тогда и начинают возникать проблемы.
Потому, что те, кто знаком с технологией создания кирпичей, знает лучше как из них потом построить прочный дом.
Ну, если говорить о системном программировании, то без знания API под конкретную среду делать нечего. Так что... Да и Windows Forms - это лишь надстройка .NET (которая между прочим написана на этом самом Win32 API :) ), позволяющая создавать красивые интерфейсы программ. К программированию под виндовс (если конечно речь идет о СПО) оно относится по скольку постольку.
Нужно делать упор на свои приоритеты, чем хотите заниматься, и что хотите писать. Если хочется маяться всякими полезными штуковинами на уровне ядра ОС (ну или там драйверами, к примеру), то знать API необходимо. Ну а ежели речь идет о каких-то платформонезависимых программках (к примеру... граф. редактор или текстовый процессор, ну и другие прикладные вещи иже с ними), то зубрежка Win32 API может оказаться ненужным грузом. Ведь там куча всего.
Однако, для общего развития думаю можно освоить азы :). Почему? Ну хотя бы потому, что начинаешь понимать, как ОС устроена изнутри и познаешь то богатство средств, которое она предоставляет.
Утверждение не совсем корректное, говорить о том, что лучше, можно только тогда, когда речь идёт об оконном интерфейсе. Если понадобится что-то ещё, то API, связанный с этим, Вам, всё равно, изучать придётся. В MFC оно, даже, если и есть, то в виде простой обёртки API функций.
MFC - пример плохого дизайна библиотеки пользовательского интерфейса.
Работать с неэлегантным кодом, тем более высокого уровня (фреймворк), вредна для программиста, особенно новичка. Точно так же, как слушать плохую музыку, читать книги, написанные неграмотными людьми, смотреть пропагандистские фильмы, принимать участие в лохотроне (в любом качестве) вредно для развития человека вообще.
Интересно, что следует понимать под реальными приложениями?
Думаю автор имел ввиду объём кода измеряемый в строчках.
1. Отчасти, если в "реальных приложениях" встречаются нестандартные задачи. В общем если задача не требует использования API-вызовов, то и хорошо. Абстрагируясь от низкого уровня мы экономим время.
Тот же Рихтер писал нечто подобное про COM в 2000 году, а потом вдруг стал про C# писать и dotnet рекламировать, говоря о "внутреннем устройстве Windows" как о никому не нужном балласте.
Я думаю тут всё из-за того, что надо всё осваивать последовательно. Я сначала изучал html, потом Паскаль, сейчас я изучаю c# а недавно начал делать приложения в windows forms. С особыми затруднениями я не столкнулся и пока всё идёт нормально.


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.