与我研究VCL框架代码的原因一模一样:就是N年了,感觉自己还是没有掌握Delphi,惊叹别人各种各样神奇的效果,自己却不会,更不知为什么这样做,离高手的距离还有十万八千里。而且编程的时候,就像侯捷说的那样:自己只是像傻子一样地东一个按钮,西一个按钮,东编一点码,西编一点码,很愚蠢,却又不得不这样做。

最近仔细看了VCL代码,才算大致明白了为什么要这样做,而且还没全明白。即使简单如Label1.Caption:='Hello World';或者Button1.Caption:='Hello Button';,其实都蕴含着深刻的道理,而且就是这样简单的两个赋值语句,两者的执行过程也完全不一样。更不用说鼠标点可以击非Windows控件,以及VCL自定义了许多Windows标准控件所没有的控件可以方便使用,更不用说还有那了不得的、极其方便的无限自定义控件功能。行了,不说了,再说就是变成吹捧Delphi的文章了。我这篇文章的意思只是好笑一下,原来大师也和我有一样的感觉,并作出了相同的选择。行了,不说了,再说就是给自己脸上贴金了^_^。

下一步的计划是要掌握更多的API,这样可以做出更多的效果,以及研究FreePascal,这样可以深刻理解整个程序的运作过程,而不是死记硬背那些语法规则和程序运行规则。

-----------------------------------------------------------

●侯捷回覆:
当初我写《深入浅出 MFC》,是因为,我发现,如果不了解 MFC 的运作,
自己只是像傻子一样地东一个按钮,西一个按钮,东编一点码,西编一点码,
很愚蠢。所以我决定要了解 framework 的基本架构。
虽然不是每个 framework 的架构都一样,但走这麽一遭就够了,我不会再对
任何 framework 进行这样的剖析,因为原理差不多。走了那麽一次之後,
我已经可以掌握 framework 的精髓,再来就是要应用它们。现在,使用任何
一个 framework,我都可以接受「东一个按钮,西一个按钮,东编一点码,
西编一点码」的工作方式,不再觉得自己很愚蠢。
《深入浅出 MFC》带给读者的主要价值应该是在这里。
你问『所有这些剖析,是否都要记往』。当然不必!有的书是工具书,
用来索引叁考;有的书是深度剖析,要很努力看,看过後心中浮现一种映像
(我所谓胸中自有丘壑)就可以了;有的书是入门引导,看了一遍可能就
没有价值了。书籍的价值有很多种,书籍的阅读法也有很多种。对待书籍
的态度也有很多种。
每个人要的东西都不一样。有大陆读者写信来说,《深入浅出 MFC》
花太多时间讲 MFC 的机制,对写 MFC application 没有帮助。
虽然持这样看法的人很少,但至少显示一点,青菜萝卜各有所好。
也有台湾读者嫌本书所附的读者来函、书评、Scribble 源码都是
浪费篇幅(他们以为这样是将书籍灌水,提高售价;却不知我的书籍
定价与厚薄完全无关)。你看,青菜萝卜各有所好呀 :)
你问『大陆有您写的《C++ Primer》买吗?』答案是没有。另,该书为我所译,
非我所着。

参考:http://bbs.lzjtu.edu.cn/bbsanc.php?path=%2Fgroups%2Fsci.faq%2FComputer%2FProgramOld%2FComputer_ABC%2F19%2F5%2F1%2F9%2F3.txt

快笑死,侯捷研究MFC的原因的更多相关文章

  1. 评侯捷的<深入浅出MFC>和李久进的<MFC深入浅出>

    侯捷的<深入浅出mfc>相信大家都已经很熟悉了,论坛上也有很多介绍,这里我就不多说了. 而李久进的<mfc深入浅出>,听说的人可能就少得多.原因听说是这本书当时没有怎么宣传,而 ...

  2. From COM to COM 侯捷 1998.06.12

    摘要: 本文簡介 C++ Object Model 和 Component Object Model 的基本概念,並引介四本書籍: 1. Inside The C++ Object Model 2. ...

  3. 侯捷C++ Type traits(类型萃取

    泛型編程編出來的代碼,適用於任何「吻合某種條件限制」的資料型別.這已成為撰寫可復用代碼時的一個重要選擇.然而,總有一些時候,泛型不夠好 — 有時候是因為不同的型別差距過大,難以產生一致的泛化實作版本. ...

  4. 侯捷STL学习(一)

    开始跟着<STL源码剖析>的作者侯捷真人视频,学习STL,了解STL背后的真实故事! 视频链接:侯捷STL 还有很大其他视频需要的留言 第一节:STL版本和重要资源 STL和标准库的区别 ...

  5. list源码4(参考STL源码--侯捷):transfer、splice、merge、reverse、sort

    list源码1(参考STL源码--侯捷):list节点.迭代器.数据结构 list源码2(参考STL源码--侯捷):constructor.push_back.insert list源码3(参考STL ...

  6. 侯捷STL学习(十)--容器hashtable探索(unordered set/map)

    layout: post title: 侯捷STL学习(十) date: 2017-07-23 tag: 侯捷STL --- 第二十三节 容器hashtable探索 hashtable冲突(碰撞)处理 ...

  7. 侯捷STL学习(九)--关联式容器(Rb_tree,set,map)

    layout: post title: 侯捷STL学习(九) date: 2017-07-21 tag: 侯捷STL --- 第十九节 容器rb_tree Red-Black tree是自平衡二叉搜索 ...

  8. 侯捷STL学习(一)--顺序容器测试

    开始跟着<STL源码剖析>的作者侯捷真人视频,学习STL,了解STL背后的真实故事! 视频链接:侯捷STL 还有很大其他视频需要的留言 第一节:STL版本和重要资源 STL和标准库的区别 ...

  9. <软件架构与设计模式>侯捷老师关于Adapter类在STL中的深入解析和模式探讨

    题外话:侯捷老师难得一年就来上九堂课就要会宝岛,特此留念签名赠语及合照以自勉.  学海无涯,为勤是岸 <正文开始> 昨天晚上连上了3个小时的大课探究单单讲了Adapter一个类,幸运的是本 ...

随机推荐

  1. Actionform

    Actionform 2013年7月8日 15:08 Reset 用actionform是把数据恢复到初始状态 Getter/setter Validate 验证 已使用 Microsoft OneN ...

  2. 【BOZJ 1901】Zju2112 Dynamic Rankings

    Description 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是 ...

  3. 【BZOJ 2120】 数颜色

    Description 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜 ...

  4. 容器适配器之queue

    转载http://blog.csdn.net/thefutureisour/article/details/7751846容器适配器容器适配器其实就是一个接口转换装置,使得我们能用特定的方法去操作一些 ...

  5. [译] TypeScript入门指南(JavaScript的超集)

    你是否听过 TypeScript? TypeScript 是 JavaScript 的超集,TypeScript结合了类型检查和静态分析,显式接口.TypeScript是微软的开源项目,它是由C#之父 ...

  6. ios 缓存策略

    NSURLRequestCachePolicy 缓存策略   1> NSURLRequestUseProtocolCachePolicy = 0, 默认的缓存策略, 如果缓存不存在,直接从服务端 ...

  7. 来自平时工作中的javascript知识的积累---持续补充中

    ① SeaJs和RequireJS最大的区别 解惑:来自豆友 ② javascript中如何判断undefined var exp = undefined; if (exp === undefined ...

  8. Springmvc jar包介绍

    spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-m ...

  9. poi生成excel

    转自:http://www.cnblogs.com/bmbm/archive/2011/12/08/2342261.html 1.首先下载poi-3.6-20091214.jar,下载地址如下: ht ...

  10. 在C#中调用VBScript和JavaScript等脚本的实现

    在C#中调用VBScript.JavaScript等脚本的实现 作者:郑佐 2004-04-26 以前在做工作流(workflow)项目的时候,里面有一项就是在用户制定流程定义时可以编写脚本来控制活动 ...