《编程高手箴言》读书笔记缘起


  前不久在 csdn 上偶尔看到梁肇新先生在 2009  中国软件英雄会上海站只讲风水的报道,一时觉得有点好奇,就找来梁先生的《编程高手箴言》放点耐心地阅读起来,因为六、七年前曾在书店里看了看目录和开头几页就没有放在心上。现在难得一段空闲,也正好消磨时光。(其实,这样的报道已不止一次。可见我的孤陋寡闻!)

 
  既然梁先生为我们预留下那么多的空白作读书笔记,那么就盛情难却了,别辜负这番美意罢。尽管前言里没有专门留下读书笔记的空白,可是前言的页眉、页脚 及其它空余真不少,真是开阔之极,倒比预留的更能容纳了。


  在找书的同时,也找来了 2009 年 10 月的《程序员》杂志,看了 2009  中国软件英雄会上海站的那篇报道。梁先生独立成块、自成一统,倒也自得其乐。


  仰赖当今互联网的发达与普及,我又搜索到好些相关资料。 关于梁先生《编程高手箴言》的评论文章也不少,可惜一时也还不能作个综述。只大概知道,有肯定、赞扬的,有否定、批评的,还有谩骂的,有人身攻击的,等等。还有对这些谩骂、批评、攻击,有说软件人相轻的,有说是以攻击名人出名的,不一而足。我无意参与那些攻击、谩骂之列,只想记录下我读书时的所想所思,以备日后回头看看曾经走过的路。


  只要不是漫骂、不是人身攻击、不是诋毁中伤,而只是学理的讨论、争论、批评,那么就算“相轻”又有什么不可呢?名师指点(虽我不是)都难找,何况又是免费的。良药苦口利于病,没病许能强身。真正的高手, 我想, 若有,就应该是越高越谦虚越能受纳的罢。 况且,吾辈没那斤两,也装不了什么高手, 对于我的读书笔记,欢迎您的严厉指正、批评。同时,借用一位网友的话:但是谩骂就不必了,谢谢。


  我的读书笔记或许不可避免地说及一些自己的经历、经验,如果您欲把我的经验及其谈论当作箴言的话,那么请就此止步罢。本人在此慎重声明:这只是在谈论过往旧事,愿您如同看小说一般,千万别当箴言看,否则后果自负!偿能在你闲暇之际帮您消磨些时光也就罢了,至于这些陈年旧事是否于您于现时有所裨益,则请您一定抱着一种健康的怀疑态度明鉴之,倘若还有点,自然总不免有些高兴的,即使无用、甚或有害,那也尽量减少着它的为害。曾几何时,读书笔记也变得这么诚惶诚恐了。


   看来,要借用《红楼梦》里的东西作模板了,就叫曾事隐,意即曾干过隐姓埋名的“事业”。当然,这个名并没有名人头上迷人的光环,只是姓名的名。


   曾事隐记于2010.12.28





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
讲述一个程序员成长的六个阶段: 1、能熟练地使用某种语言,这相当于练武中的套路和架式这些表面的东西。 2、精通基于某种平台的接口(如win的API),以及所对应语言的自身的库函数。这也就相当于可以进行真实的散打对练了,可以真实地在实践中做一些应用了。 3、此阶段能深入了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑” 4、此阶段能够直接在平台上进行比较深层次的开发。基本上能达到这个层次可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。这时已经不再有语言的束缚,此时语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。 5、此阶段已经不再局限于简单的技术上面的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是“手中无剑,心中有剑”。到了这个阶段就能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是MS Word这样的大型软件,只要有充足的时间,也一定能够设计出来。 6、最高境界,达到“无招胜有招”。这时候,任何问题都纯粹变成了一个思路问题,不是用什么代码就能表示的。此时,对于练功的人来说,他已不用再去学什么少林拳,只是在旁边看别人对战,就能把这拳来用。这个就是大师级别的人物。这时,Win32或Linux在眼里是没有什么区别的。
梁肇新开发技术总结,值得借鉴 这是我在网上能够找到的最清晰的版本,分享给大家 目录: 第1章 程序点滴 1 1.1 程序≠软件 1 1.1.1 商业软件门槛的形成 2 1.1.2 认清自己的发展 4 1.2 高手是怎样练成的 5 1.2.1 高手成长的六个阶段 5 1.2.2 初级程序员和高级程序员的区别 7 1.2.3 程序员是吃青春饭的吗 9 1.3 正确的入门方法 11 1.3.1 规范的格式是入门的基础 13 1.3.2 调试的重要性 17 1.4 开放性思维 18 1.4.1 动态库的重要性 19 1.4.2 程序设计流程 20 1.4.3 保证程序可预测性 21 第2章 认识CPU 23 2.1 8位微处理器回顾 23 2.2 16位微处理器 24 2.2.1 组成结构 24 2.2.2 8086寄存器组成 25 2.2.3 内存的寻址 26 2.2.4 中断处理 27 2.3 32位微处理器 29 2.3.1 寄存器组成 29 2.3.2 保护模式 32 2.3.3 80386的寻址方式 32 2.4 【实例】:在DOS实模式下读取4GB内存代码分析 36 2.4.1 程序的意义 37 2.4.2 程序代码 37 2.4.3 程序原理 41 2.4.4 程序中的一些解释 42 第3章 Windows运行机理 44 3.1 内核分析 44 3.1.1 运行机理 44 3.1.2 LE文件的格式 53 3.1.3 VxD的设计实现 59 3.1.4 【实例】:CPU降温程序代码分析 65 3.2 消息的运行方式 82 3.2.1 认识消息 82 3.2.2 Windows系统中消息的运作方式 84 3.2.3 消息处理过程实例 87 3.3 GDI的结构和组成 89 3.3.1 GDI的组成 89 3.3.2 GDI和DirectDraw的关系 91 3.4 线程的机制 93 3.4.1 线程的工作方式 93 3.4.2 线程与GDI的冲突:死机的主要原因 94 3.4.3 线程的内存泄漏的主要原因 96 3.4.4 进程管理 98 3.4.5 同步机制 100 3.5 PE结构分析 103 3.5.1 PE头标 103 3.5.2 表节 113 3.5.3 PE文件引入 119 3.5.4 PE文件引出 125 3.5.5 PE文件资源 129 第4章 编程语言的运行机理 133 4.1 汇编的原理 133 4.1.1 指令系统 133 4.1.2 汇编与Win API的接口方法 141 4.1.3 【实例】:自定义程序的入口点 145 4.2 高级语言的原理 151 4.2.1 C/C++的原理 151 4.2.2 解释语言的原理 165 4.2.3 【实例】:用C实现简单的BASIC语言环境 165 4.3 C、C++的学习方式 187 4.3.1 从BASIC到C 187 4.3.2 C、汇编、API的关系 187 4.3.3 接口的建立方法 190 4.4 挂钩技术 201 4.4.1 Windows上C的挂钩 201 4.4.2 C++的挂钩技术 213 第5章 代码的规范和风格 220 5.1 环境的设置 220 5.1.1 集成环境的设置 220 5.1.2 TAB值的设置 221 5.1.3 编译环境的设置 222 5.1.4 设置herosoft.dsm宏 224 5.2 变量定义的规范 227 5.2.1 变量的命名规则 227 5.2.2 变量定义的地方规定 228 5.2.3 变量的对齐规定 229 5.3 代码对齐方式、分块、换行的规范 230 5.4 快速的代码整理方法 232 5.5 注释的规范 233 5.6 头文件的规范 236 5.7 建议采用的一些规则 236 5.8 可灵活运用的一些规则 238 5.9 标准化代码示例 239 5.10 成对编码规则 243 5.10.1 成对编码的实现方法 243 5.10.2 成对编码中的几点问题 248 5.11 正确的成对编码的工程编程方法 251 5.11.1 编码前的工作 252 5.11.2 成对编码的工程方法 255 5.11.3 两个问题的解释 260 第6章 分析方法 266 6.1 分析概要 266 6.1.1 分析案例一:软件硬盘阵列 268 6.1.2 分析案例之二:游戏内存修改工具 274 6.2 接口的提炼 286 6.2.1 分离接口 286 6.2.2 参数分析 287 6.3 主干和分支 290 6.3.1 主干和分支分析举例 291 6.3.2 程序检?? 300 6.4 是否对象化 301 6.5 是否DLL化 307 6.5.1 DLL的建立和调用 307 6.5.2 DLL动态与静态加载的比较
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值