Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Почему начинаем с Win32 API а не с MFC или WForms?


Автор: kresh 7.2.2008, 00:05
....Практика показывает, что те программисты, которые начинают осваивать программирование для Windows сразу на уровне MFC или Windows Forms, не имея никакого опыта работы с Win32 API, сталкиваются с серьезными проблемами, как только дело доходит до создания реальных приложений. Напротив, опыт программирования с Win32 API позволяет осваивать более высокие технологии гораздо гармоничней и продуктивней.....---выдержка из книги "Win32 API. Эффективная разработка приложений

Юрий Щупак"
  люди нужно ваше мнение по этому высказыванию, почему по вашему мнению автор утверждает "те программисты, которые начинают осваивать программирование для Windows сразу на уровне MFC или Windows Forms, не имея никакого опыта работы с Win32 API, сталкиваются с серьезными проблемами, как только дело доходит до создания реальных приложений."


 smile 

Автор: Fazil6 7.2.2008, 00:30
Цитата(kresh @  6.2.2008,  23:05 Найти цитируемый пост)
люди нужно ваше мнение по этому высказыванию, почему по вашему мнению автор утверждает 

ну его надо спросить почему он так утверждает. 
Вообще можно подумать, что реальные приложения исключительно в винде существуют. Короче галиматья это фсё. Я, например, не помню что в какой последовательности нужно сделать для написания хэловорлд на винапи. Ни сколько не страдаю.

Автор: EnergoHokum 7.2.2008, 10:15
Ну, моё скромное мнение: MFC -- дрянь редкостная, корявое, раздутое и нелогичное нифига поделие; WinForms -- если не ошибаюсь, тупиковая ветвь эволюции, на неё уже забили. WinAPI, конечно, тоже не фонтан, но это основа, многое об устройстве windows становится понятным, если плотно поработать с WinAPI.

Автор: ppoger 7.2.2008, 18:09
2EnergoHokum winforms - это дотнет, и пока он в тупик не зашол, наоборот, микрософт старается его толкать вперед. 

По теме: лично мне винапи просто нравится, как правильно сказали, понимаешь как устроена винда и тд и тп. а изучать или нет - дело твое. 
пс. книга Щупака мне понравилась, для новичков самое оно, все понятно написано. 

Автор: Earnest 12.2.2008, 09:17
Не важно, с чего ты начнешь, важно, куда зайдешь. Возможно, автор книги имел в виду, что без знания WinAPI под виндоус эффективно работать нельзя. С этим полностью согласна. А с какой библиотеки начнешь, или прямо с голого АПИ - это как получится, у каждого свой путь.

Автор: Nastya 13.2.2008, 11:08
Earnest,  согласна на все 100%
ИМХО как это все работает знать нужно. Без знания API с MFC  сложнее разобраться как по мне 

Автор: SABROG 13.2.2008, 12:48
Все эти mfc, dot.net'ы - обертки для существующих API (аналоги: VCL в дельфи, классы Qt). Все это заточено под компиляторы Microsoft.
Если умеешь работать с API, то можешь писать программы под любым из существующих компиляторов: gcc (mingw), bcc (borland compiler), intel compiler, masm, tasm, fasm, nasm, msvc и т.д. и т.п.

На примере дельфи и Qt хорошо видно, как существующие VCL классы меняют свои свойства и имена. Некоторые исчезают вообще, некоторые полностью заменяются другими. Все это приводит к тому, что прежние исходники перестают собираться. И приходится переписывать код. С API такая вероятность гораздо ниже, т.к. разработчики операционных систем стараются оставить обратную совместимость со старыми API. Некоторые API функции являются ничем иным как Псевдонимом других - новых Api. Делают это для того, чтобы пользователи не оставались на старых версиях ОС только потому, что новые программы не работают в новых.

К тому же смерть какого-нибудь проекта более вероятна, чем смерть ОС.

Автор: jonie 13.2.2008, 18:03
Цитата

Все эти mfc, dot.net'ы - обертки для существующих API (аналоги: VCL в дельфи, классы Qt). Все это заточено под компиляторы Microsoft.
... а микросхема обертка для кристалла....а кристал.....
Цитата

С API такая вероятность гораздо ниже, т.к. разработчики операционных систем стараются оставить обратную совместимость со старыми API.
ага, да..еслибы. библиотеки как раз дают уровень абстракции от API, и в отличие от низкоуровневого API их переносимость выше. и вообще API - это тоже библиотеки.

Автор: SABROG 13.2.2008, 18:32
Это всего-лишь еще одна точка зрения. Абстракций может быть сколько угодно и они появляются и умирают, а API остается. Я не говорю, что абстракция это не правильно. Это удобно, быстро, универсально. Для коммерческих проектов это идеально подходит - продукт продал, исходники удалил. Начал новый проект в новой IDE. Но я все чаще вижу посты типа: "Подскажите как сделать то-то на Delphi 3.0. Проект 20 лет писался под него, поэтому перейти на Delphi 6.0 мы не можем...", "Скажите как сделать то-то в Qt 0.0.1. В Qt 4.3 проект не собирается...". И в таком духе...

Автор: Dronchik 14.2.2008, 17:30
Вин32 АПИ это как алфавит(блин, школу вспомнил smile ) для программеров под Винду. Действительно достаточно просто изучить какую либо бибиотеку под вин зная Вин32Апи. Но при программировании под другие ОС это не даёт преимущество. Например: большинство линуксоидов-программеров могут даже не знать этого алфавита(ВинАПИ всмысле). И ничего не теряют, они ведь под пингвина кодят. А вот под вин если кодить то ВинАПИ нужно знать. ИМХО. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)