正在阅读:《编程高手箴言》读后感(1)《编程高手箴言》读后感(1)

2004-04-05 10:08 出处:CSDN 作者:seacloud 责任编辑:sdq

  只想混口饭吃,找个工作,可能教你成为MFC的高手之类的书对你就足够了。
=======================================
  现在的同志好幸福啊,国内在不停的引进国外的名书。想当年在95年左右的时候,外国参考书实在是不多。我建议大家在计算机领域里面看书最好是找老外的。不是我崇洋媚外,老外出书基本上还是蛮负责的,而国内引进的大多还不错。但是即使你在修炼国外大牛们关于MFC的书,如果你不认真实践,那么光靠书你是不可能成为MFC高手的。MFC这个类库的设计已经有很多人在抨击了,我们不多谈,但是如果你真的深入到MFC的源代码里面去,其他我不知道,但是你肯定可以对Windows的运作有个很深入的理解。

  从最低层做起,从最基本坐起。
=======================================
  笔者的看法是从中间层做起。就以Win32上的Java为例,一开始我绝对不会从Java虚拟机规范,java和本机系统的交互,Java垃圾回收算法的实现等等很底层的东西着手。也不会一开始就涉及那些什么设计模式,Frameword框架之类的高层抽象。我会就从Java语言本身着手,熟悉它的语法,熟悉它的基本库,试着不断用Java描述问题。在这个过程中,你自然会遇到一些或高层或底层的问题,这个时候你在去钻研它们绝对不迟,并且只可能是事半而功倍。

  高手成长的六个阶段
=======================================
  《箴言》一书把程序员的成长分成了六个阶段。笔者却认为只有第一阶段,即熟练的使用某种语言是每个程序员必备的。其他的一些能力对于不同的开发方向应该是不同的。比如《箴言》认为第二阶段是精通某种平台的接口(比如Win32 API)。然而,很多做高层开发的同志,往往不太接触这些底层的API,因为在他下面,操作系统上面已经叠加了很多的层次了。比如,如果你用Java在Win32上面编程,几乎不需要和系统API打交道。这其实也体现了软件分层的思想:每一层只负责自己的职能,只和自己相邻的层通讯。
  《箴言》认为能够进行VxD编程,或者进行操作系统内核的修改就算进入了高层次了。且不说VxD已经被Microsoft抛弃了,新的Win32驱动模型WDM,Linux/Freebsd kernel的小修改笔者都参经碰过,但是我从来不认为我到了很高的层次,尤其和那些做高层开发的朋友比。因为实在是没有办法比,比较是要在同一个层面上进行的,不同层面的东西你怎么比?就算你设计了操作系统,如果让你去规划一个ERP系统,你也未必成功。再说了,我写过WDM,觉得WDM也不那么神秘。但反观如果让我设计一个ERP Framework,我倒是觉得很多东西需要学习,我想反之也是一样。至于说到底层开发,难度大概应该实在比较少的资料和例子程序(尤其在Win32下面),不太友好的调试工具,以及较少的系统支撑。不妨举个例子,在做应用程序开发的时候,开发环境往往有完善的调试工具,也不太容易把整个操作系统搞死。然而做Kernel开发就不一样了,一不小心操作系统就崩溃了。记得笔者在做WDM开发时,就挂了第二个硬盘,随时准备Ghost,呵呵。

  这时Win32或Linux在你眼里已经没有什么差别了。
=======================================
  从操作系统的角度看,Win32和Linux就都是操作系统,没什么差别。但是涉及到具体的开发,你就不得不清楚的认识到两者的不同,用户态程序还好一点,大致把几个重要的发面,比如线程,消息机制,GUI等方面抽象一下,就像QT,GTK做的那样,就可以实现Win32和Linux的跨平台。然而,在内核里面,两者差别是很大的,我从来没有看到过有什么Driver开发库能够做到很好的在Win32和Linux下面跨平台。我所看到的最接近的可能是Driver Works带的那个C++库。BTW,也许有什么好的库我不知道,希望知道的朋友不吝赐教:-)

察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品