零起点,一年成为高级Windows程序员的最佳学习路线
此学习路线按照由浅到深、循序渐近的过程设计,并考虑了初学者的兴趣所在。必免了一开始就接触复杂的定理和概念,这样可以始初学者在每个阶段都会有满足的成就感,以便于增强信心,持之以恒。
各阶段的时间是以每天花8小时学习来计算的,如果你每天只能花4小时,则需延长一倍的时间。如果你在某阶段的学习少于最短时间,要么你是天才,要么就可能没有吃透。而超过最多时间的学习很可能会令你在当前的阶段感到困挠。
1. C++语言入门。可看任一本C++入门书,如果没有C语言基础应先学习C语言的基本语法。重点学习C++新的代码形式,养成良好的编程习惯,熟练掌握内存的管理技术,了解类的定义和使用方法,较复杂的类继承关系和泛型技术可不看。各部分主题不要过于深入的探索,但熟练掌握此阶段的内容则需一定量的练习(比如书中各章节后所附的简单的练习题),因各人基础不同需2-4个月。
2. MFC入门。可看《VC++技术内幕》或任一本常见的VC++入门书籍。此阶段要大量练习,熟悉掌握Visual Studio的开发环境,包括代码编辑、编译、调式和查阅MSDN的技巧,可加入http://community.csdn.net论坛参与讨论。熟练掌握Windows窗体程序的建立和基本编程方法。通过查阅MSDN,了解MFC库中各常用类的功能和基本用法,了解常用Windows API的基本使用方法和Windows的消息机制。关于SDK的深层次内容以及MFC内部实现和设计方法可先不作了解,此阶段需3-6个月。
3. SDK入门。学习脱离MFC,仅依靠SDK编写各种Windows程序界面。可看《Windows高级编程指南》,如能熟练查阅MSDN和利用互联网,可不必看书。熟练掌握WindowsAPI的调用方法,深入理解消息传递机制,掌握Windows内存管理机制。利用之前所学知识,练习和体会利用C++面向对象技术对API进行封装的基本方法。若有需要还可使用相应的参考书初步学习数据库、网络编程、多线程编程、GDI+、COM、OpenGL、 DirectX、WDK/DDK等专门编程技术。依所学内容的不同,需3-6个月。
4. C++语言精通,可参看《C++ Primer》,《Think In C++》,《(More) Effective C++》,《Essential、C++》,《C++ STL》等名著,熟练掌握C++泛型编程技术,深入理解类的继承机制,熟悉掌握STL的使用方法。在参考书的指导下阅读STL的内部实现代码,理解其设计思路,并可利用新学到的技术对上一阶段的内容进行实践。此阶段需2-4个月。
5. MFC和SDK的精通,可看《深入浅出MFC》,《Windows核心编程》。另可选择性概览《设计模式》,《人月神话》,《快速软件开发》,《UML和模式应用》以便了解当前大型项目的设计和管理模式。综合利用MFC、SDK和C++的面向对象与泛型技术解决实际问题,开发2-3个代码量在2000行以上的小项目。时间因人而异,需2-4个月此阶段为入门学习的最后一个阶段,完成后就可以称之为一名高级的Windows程序员了。
6. 如要进行更深层次的学习,应脱离语言和系统,学习专业编程知识或各类算法。如果要走学术型路线,可深入学习各类数学,包括高等微积分、高等代数、数值分析、数理统计、离散数学等。可参考的计算机专业书籍有《数据结构》、《算法导论》、《现代优化算法》、《模式识别与机器学习》、《人工智能导论》、《TAOCP》……学海无崖,祝君好运!