程序之路感悟点滴【转】
原则:
1 PREDO:这是我梦到我遇到一个微软科学家(略胖的40-50岁老头)给我介绍他写的宏的名字。PREDO也是一条原则。别整天光研究理论,先做。做着 做着好多理论你也想出来了。世上绝大部分的理论都是为了解决某些特定问题。理论从来都不是凭空出现的,一定要多写程序。(汗:PREDO应该是做......之前的意思,看来在作者的梦里,老外说的是标准的Chinese English)
2 别走捷径,也是我发现的一条学习计算机的原则。只有隐藏了很多东西,才称为捷径。走过之后,该接触的问题没有接触,该学习的内容没有学习。想在这行有成就,好多东西迟早要接触。
程序员之路:
只学VB,只知道怎么用控件。只学VC-MFC,永远不理解操作系统机制。只学VC-WIN32API,永远不理解编译器怎么执行。当你学会了汇编,用汇 编写程序时,你会直接理解很多C/C++隐藏的编译器处理细节,而且够努力的话,还会接触到并慢慢理解,BOIS的原理,保护模式和系统权限如何管理,以 及写一些磁盘格式化,整理之类的系统软件,修改操作系统(比如更改WINDOWS启动界面),ODBC接口,PE(和各种其他操作系统的ELF等)文件格 式,学会文件格式,就可以做把LINUX操作系统下的文件修改为WINDOWS可用等等(最起码是可以识别,运行,但运行正确性一般会有问题),也便于自 己写出跨平台移植性更好的软件(什么?不想写?记住,不想写和不能写是两个概念),加密,解密,等等,太多了。到这里真的是眼前就象进了一座宝山,捶手就 可得到各种技能。想写病毒?嘿嘿,不过这么缺德的事还是别干为好。可以做和做同样是两回事。但不要到此就为止了。很多高手就沉浸在其中了,停止脚步了,终 身不理会外面的世界了,新出了各种新技术,完全不管了,“我就爱写DOS程序,因为他们都在我的掌控中。”那世界IT界只好抱歉地说声:“兄弟,你掉队 了,T无赦。”世界总会不断的由简单到复杂向前发展,任何事物也都是这个趋势。我们不能因为简单而沉醉在里边。怕复杂不是我辈的风范。基本上到这里可以分 阵营走了,LINUX阵营的去不断学习LINUX的新技术,WINDOWS阵营的去不断学习WINDOWS新技术,其他阵营也一样。关键是要不断学习,而 不是止步不前。有些人要问了“我吃了这么多苦,怎么又要重走老路?早知道直接跟.NET混了!”但是,我说,兄弟,你之前所练的真是基本功 (写的代码多了,水平绝对提升。写过100000行代码的和10000行的基本功绝对不在一个等级上)。还有就是你已学会了九阳神功。汇编和汇编的各种下 位技能恰恰就是最厉害的内功。
继续向上,不要怕,研究各个语言的接口,各个操作系统的文件格式。这时候,别人说VB是破烂,这时的你,就可以拿VB+汇编+各种语言混合编程,而且这时 的你也应该更加理解VB的执行瓶颈(你要相信,眼光和功力真的是成正比的,你练功的同时也在不知不觉练眼力),你完全可以拿VB做骨架,各种语言写擅长的 模块补其缺点。写出的程序一样执行效率高,而且远比当年用VB能干的事多。是的,没错,现在你拿VB都可以写系统软件,甚至外挂,木马病毒等。基本什么都 可以干。这时就真正到了一种境界:仗一把木剑都可横行天下。到这里,我敢说,程序员写程序只能写到30岁的规则对你已不适用了,你可以轻松的做到退休。以 后就根据自己爱好选路线了,搞病毒,搞操作系统,编译器,系统软件,架构师等,选一个,只要再继续学相关领域的理论,在相关行业写上几年代码,就可以做该 领域的专家。以后,你将活地比其他人都轻松,因为你吃了他们没有吃过的所有苦,走了他们没有走过的弯路。