http://www.codeproject.com/wtl/ . Там есть артиклы некоего Michael Dunn' а.Мало документации
Начинаем работать с C++.NET
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Раз пошла такая пьянка, вставлю и я свои 5 центов.
C# косвенно способствует развитию хорошего стиля программирования и направляет вышеупомянутых "горе-кодеров" в правильное русло - ООП. Поэтому мое мнение, что надо начинать не с каких-то библиотек и классов (как MFC, ATL, WTL (WTL кстати в умелых руках рулит)), а с ООП вообще. Купить книжек по шаблонам, по типичным задачам ООП и изучать их на примере C++ (нежелательно), Java (очень даже допустимо) или C# (рекомендовано Andy
).
Какой толк от вашего знания как отрисовывать UI через Custom Draw, если потом вашу разработку, вашу фишку, нельзя портировать в другой проект без большой порции мата и ящика пива? И вообще, программирование шареварных игрулек и примочек и РЕАЛЬНОЕ программирование отличаются друг от друга как день и ночь.
Ну а что учить далее? Далее надо изучать технологии. Причем не все конечно, а наиболее важные (остальные уже можно изучить по мере надобрости). Например технологии доступа и работы с данными (ADO.NET/XML) и т.п.
Всегда надо учиться с прицелом на будущие "через n лет".
Вот 8)
Серьезное или нет, зависит не от типа приложения (консоль/графика), а от его применения. И хорошо-выполненное приложение это не то, в котором красиво отрисованы кнопочки на тулбаре, а приложение, написанное в духе ООП и самых современных технологий. Меня (и не только меня) просто бесят не структурированные программы на C/C++, в которых хрен знает как и где объявленны переменные/функции и понять которую (а тем более модифицировать) просто невозможно. За такое надо увольнять, ну или хотябы уменьшать зарплату в 2 раза. :twisted:Вот прочитал я книгу по С++ , стандарты выучил , в консоле напрограмился и пора уже переходит на что то серьезное
взялся за NET -овскую платформу токо литературы нет нормальной
MFC- этот меня в ужас ставит своими мастерами (туповать по моему)
C# косвенно способствует развитию хорошего стиля программирования и направляет вышеупомянутых "горе-кодеров" в правильное русло - ООП. Поэтому мое мнение, что надо начинать не с каких-то библиотек и классов (как MFC, ATL, WTL (WTL кстати в умелых руках рулит)), а с ООП вообще. Купить книжек по шаблонам, по типичным задачам ООП и изучать их на примере C++ (нежелательно), Java (очень даже допустимо) или C# (рекомендовано Andy

Какой толк от вашего знания как отрисовывать UI через Custom Draw, если потом вашу разработку, вашу фишку, нельзя портировать в другой проект без большой порции мата и ящика пива? И вообще, программирование шареварных игрулек и примочек и РЕАЛЬНОЕ программирование отличаются друг от друга как день и ночь.
Ну а что учить далее? Далее надо изучать технологии. Причем не все конечно, а наиболее важные (остальные уже можно изучить по мере надобрости). Например технологии доступа и работы с данными (ADO.NET/XML) и т.п.
Romeo, не соглашусь. С юного возраста я занимался программированием на ассемблере. Я уже в Х лет знал "как все работает" скажем в ДОС 3.30. Вплоть от вызова функций прерывания int 21h и до перехода обработчика в фунции БИОСа и перехода функции БИОСА к обращению к портам I/O. Да, это мне многие современные вещи позволяет увидеть глубже - но есть ли сейчас от этго польза? Скорее всего нет. Потому что впрок не научишься. Как сказал кто-то известный - программист должен переучиваться каждые 2 года. И он возможно сказал правильно.Верно, начинать следует с изучения самой идеология программирования в среде Windows. И делать это желательно на Win32 API, чтобы прочуствовать как всё работает.
Forms не замена MFC. Form - это только UI, причем покамест в них нереализованны многие действительно необходимые вещи.И еще один совет. Забей на MFC. И на это приведу несколько причин(мое мнение).
- Есть более удачные реализации в виде Forms.
Если я кого-то убедил, то он понял, главное - это не думать что все в этом мире ясноГлавное он понял - начинать надо с Win32


*provided AS IS
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
Скорее написанное расширяемо, с продуманным ядром итп. Этого можно добиться по идее и на голом С: ОС UNIX ведь до сих пор жива, хоть ей и за 20 давно уже. В то же время большинство third-party классов под Яву написано через Ж... Сомневаюсь, что в C# будет лучше. Конечно, в умелых руках современные языки более продуктивны.Andy писал(а):И хорошо-выполненное приложение это не то, в котором красиво отрисованы кнопочки на тулбаре, а приложение, написанное в духе ООП и самых современных технологий.
Так что изучать надо все-таки принципы структурирования больших проектов. А литературы на эту тему днем с огнем не найти. Вот например, сейчас изучаю я Оракл - книжек про сущности Oracle (table, index, sequence etc) навалом, а про то, как эти сущности надо использовать для проектирования реальных баз данных - нефига. По С++ был хотя бы Мейерс или Александреску. Придется, наверное, на Амазоне искать.
ДОС был объективно плохой ОСью. Ядро же Win32 проектировалось довольно грамотными людьми, некоторые из которых до этого писали OpenVMS. Так что знание ядра не повредит.Andy писал(а):Romeo, не соглашусь. С юного возраста я занимался программированием на ассемблере. Я уже в Х лет знал "как все работает" скажем в ДОС 3.30. Вплоть от вызова функций прерывания int 21h и до перехода обработчика в фунции БИОСа и перехода функции БИОСА к обращению к портам I/O.Верно, начинать следует с изучения самой идеология программирования в среде Windows. И делать это желательно на Win32 API, чтобы прочуствовать как всё работает.
2B OR NOT(2B) = FF
Absurd, не забывай - разработкой UNIX занимаются в основном большие профессионалы, а речь в топике идет как эффективно начать в нуля.UNIX ведь до сих пор жива, хоть ей и за 20 давно уже
Большинство программистов (как и людей любой другой профессии) в мире "средненькие". Они допускают утечки памяти, выход за границы массивов и т.п. Поэтому большинство ПО в мире потенциально дырявое. От этого никуда не уйти - даже в Майкрософт работают такие "умельцы". "Управляемый код" написанный в частности на C# потому и управляемый, что позволяет переложить (в небольшой степени) ответственность за безопасность и продуктивность исполнения кода с языка программирования и программиста C# на платформу .NET. Конечно это не значит, что теперь можно все, но программисты-чайники получили шанс писать нормальные программы.Сомневаюсь, что в C# будет лучше
ДОС был ОСью своего времени. Конечно он был на несколько порядков ниже UNIX. Даже больше - эти системы просто не сравнимы. Но скажу тебе как телекоммуникационщик - ДОС до сих пор используется в самых современных АТС как операционная система для отдельных блоков. Благодаря своей простоте и быстроте, его можно эффективно использовать как оболочку исполнения одной-единственной программы. Тут UNIX отдыхает...ДОС был объективно плохой ОСью.
*provided AS IS
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
Вот я к тому и клоню, что все изучение программирования с нуля и заключается в том, как написать программу, чтобы она работала как я задумал и не развалилась бы по пути. По началу будет не получаться. Потом человек может либо пойти либо в сторону грубой силы либо в сторону инженерной культуры.Andy писал(а): разработкой UNIX занимаются в основном большие профессионалы, а речь в топике идет как эффективно начать в нуля.
Такие ошибки обычно отлавливаются на этапе бета-тестинга. Проблема говеной архитектуры на этапе бета-тестинга, к сожалению, не решаема. Если кто-то использует наследование, чтобы получить доступ к protected полям класса - это не решается. Такие люди вообще рассматривают язык как некий источник проблем и тренируют свое умение такие проблемы обходить. "Такое-то поле объявлено как protected - а я применю наследование! Какой я хитрый!".Andy писал(а):Большинство программистов (как и людей любой другой профессии) в мире "средненькие". Они допускают утечки памяти, выход за границы массивов и т.п. Поэтому большинство ПО в мире потенциально дырявое. От этого никуда не уйти - даже в Майкрософт работают такие "умельцы".Сомневаюсь, что в C# будет лучше
Я не смотрю на фичи как на что-то обязательное. Ну, однозадачная... Ну, однопользовательская... Но ведь в принципе может быть объективно хорошая однозадачная однопользовательская ОС. В ДОСЕ ведь нельзя например вызывать прерывание ОС, находясь в прерывании. Функции БИОС вызывать можно, а ДОС - нельзя. И все потому что кто-то мозганул и сделал для ДОСА отдельно свой стек.Andy писал(а):ДОС был ОСью своего времени. Конечно он был на несколько порядков ниже UNIX.ДОС был объективно плохой ОСью.
Глядя на структурe ядра win32 можно много чему научиться, ДОС же весьмя эклектичен (скажу мягко).
2B OR NOT(2B) = FF