编程高手是怎样练成的
我不是高手,是个初学者。在论坛中发现很多人和我一样,编程这条路不知道该如何走。近日偶得一书,对我启发很大,解答了我近日来一直思考和迷惑的问题。现将书中介绍的高手成长的六个阶段写下来,与和我同样迷茫但又同样对编程有爱好和兴趣的朋友们共享之。
第一阶段:熟练地使用某种语言。相当于练武中的套路和架式这些表面的东西。
(作者推荐学习C语言。我学的是C++。其实C++的思想是面向对象,C面向的是更底层的东西。要想成为真正的高手,懂得C语言和BASIC语言是必不可少的。作者强烈反对一开始就从JAVA,MFC开始,这些高级的东东对底层的东西进行了多次包装,你永远不可能清楚底层的东西,你也永远成不了高手。我对此有同感:最开始学的是JAVA,三个月就编出来一个信息查询系统,后面又开始学MFC,半年后还不清楚是怎么回是。经高人指点,才开始走上C++学习之路)
第二阶段:精通某种平台的接口(如Win 32的API函数)以及所对应语言的自身的库函数。相当于可以进行真实散打对练了。
(我认为这个阶段学习windows界面编程是比较好的,既能熟悉API函数,又能加深对语言自身的库函数的理解,同时还有一定的成就感。推荐一本入门书,《windows程序设计》。)
第三阶段:深入地了解某个平台系统的底层。相当于开始由修炼硬功转变成修炼初级内功了,也就是“手中有剑,心中无剑”。
(我也还没有到达这个阶段,我的感觉就是对CPU、计算机硬件、操作系统原理、软件调试技术等方面的内容的学习。)
第四阶段:能直接在平台上进行比较深层次的开发,比如能进行VxD或操作系统内核的修改,语言已经不再束缚你了。相当于进行了高级内功的修炼。
(这个阶段就要对内核加以深入研究了,掌握进程、线程、内核等方面的知识。推荐一本进阶的书,《windows核心编程》)
第五阶段:能够从全局上把握和设计一个比较大的系统体统结构,从内核到外层界面。可以说是“手中无剑,心中有剑”。
(我认为这时应该学习软件架构和设计模式了。)
第六阶段:这是最高境界,任何问题都纯粹变成了一个思路的问题。也就是“手中无剑,心中也无剑”。
(这时还有什么说的呢?耐心 + 兴趣 + 开放性思维 + 天赋。) 哟西
相当滴不错啊,支持 本帖最后由 惜双双 于 2009-10-4 15:46 编辑
呵呵..指出一个不恰当的地方..但不是错误..
第四阶段..
既然能开发内核模块.比如VXD和SYS.等.这个时候绝对不应该是推荐看windows核心编程..
windows核心编程我看过...也是讲述基本的Win32编程原理.只不过是基于SDK的.比MFC或者其他的学起来有点
棘手...所以这本书我建议应该换成第三阶段.你想一下.基本的windows win32的运行机制都不懂的情况下.就先钻内核..这个..我觉得未必好处很大..
第四阶段才是 学习内核运作机制.....(内核不公开.学习资料匮乏..相对来说更加磨人和打击学习者的信心...)...
当然了.这两种想法都各有利弊.就拿我来说.先学win32原理.那个时候windows核心编程上说呀.互斥..内存区对象..还有什么内核对象啊.我都根本不知道是什么东西.怎么一回事.然.等我学了内核后才恍然大悟..
如果先学内核.你先知道了.这些.但是你不一定不知道这些东西有什么用..在平台下能做些什么...
OK..就扯这么多吧..这些东西都是概念性.争议性超大的..多说无益..只有自己才能走出一条符合自己的学习之路. 恩 谢谢指教 跟着学学 很不错!感谢分享经验! = =我路过看看,我以前稍微学过,但放弃了= = 值得学习,。。。。。。。。。。。。。。。。。。。。。。。 路过看看,值得学习 学习了,理论基础 貌似先要学习汇编啊。!!!!
页:
[1]
2