书名:计算机达人成长之路——憧憬与迷茫篇
作者:朱云祥
出版社:华中科技大学出版社
最近读了一本名叫《计算机达人成长之路——憧憬与迷茫篇》的书,有一种相见太晚的感觉。如果在大学时期就有幸读到这类书的话,或许现在会少走一些弯路。
现将此书值得自己借鉴的一些内容记于此处,以作参考之用,但不同的内容对于不同的人来说,参考价值还是不同的,不可机械照搬。
1、程序设计时,先打好框架,再考虑细节;先设计蓝图,再添砖加瓦。打框架时不要被设计细节所蒙蔽,设计蓝图时不要被购买材料所羁畔。
2、无准备,不编程。编码之初,先做好设计分析,画出系统图,对某些复杂的模块甚至还要画出详细流程图,万事俱备,然后才开始输入代码。
3、简化原则。简化原则就是做数学题时可以化普通条件为特殊条件,即先把一个问题想简单,然后逐步复杂,直到回到题目本身。
4、数学是计算机的基础,要掌握计算机,学好数学必不可少。
5、计算机学习三宗罪之冒进。一味追求“时髦”知识,忽略专业基础知识的学习。
6、计算机学习三宗罪之浮躁。学习上浮于表面,没有深入理解专业知识。编程上只想编写一些所谓漂亮的、能够拿得出手的程序,而对于一些底层的支持程序置之不理。
7、计算机学习三宗罪之偏科。一是动手编程和理论学习二选一;二是专业知识偏好严重,喜欢这一门,不喜欢那一门。
8、第一种罪号召我们要必须要学习,第二种罪告诉我们如何学习,第三种罪则要求我们必须学习,不得遗漏。
9、化繁为简,实用优先。初学时抛弃复杂的内容,学习简单的内容,这就是化繁为简;先抛弃生僻的内容,学习常见的内容,待以后再逐步学习其他内容,这就是实用优先。
10、语言是相通的,“一门通,门门通”,精通一门编程语言后,很容易掌握其他的编程语言。
11、成功开发软件,其核心有五要素:分析、语法、系统、设计和工具。
12、“笑傲”工具第一招——“三十六计,走为上计”。在学习一门新语言时,要尽量避免使用花俏、时髦却相当复杂的“东东”。
13、“笑傲”工具第二招——“好读书,不求甚解”。
14、“笑傲”工具第三招——慧眼识珠,重点突破。正面应对,不是全面应对,切忌不可胡子眉毛一把抓,企图把所有东西烂熟于心。找出本次应用所需要的东西,然后予以重点突破。
15、要具备快速学习的能力,需要:一是打好基础,二是多练习。
16、几个可供练习的实例:
(1)设计中文输入法。其实所谓的输入法就是一个动态链接库程序,里面提供某种规则的API函数而已。网上搜索“输入法设计”或者“IME”。
(2)设计代理服务器软件。所谓代理,其实就是关于套接字的软件,它所做的就是把这边接收到的信息转发到那边。但是转发的信息必须具备某种格式。
(3)设计本机网络通信窃听程序。一种简单的方法,到网上搜索“API钩子”。届时可以将此程序专业化,设计其升级版本,比如设计程序监察网络斗地主游戏的出牌记录等。
17、木氏程序分析模型:暂略,详见书中第208页。
18、轻松学习数据结构的方法就是,一条射线、两种态度、三对要点、四段程序。
(1)一条射线:学好数据结构的关键和捷径就是精通线性表。
(2)两种态度:学习伊始,面对线性表、栈、队列、串和广义表等内容,应该注重动手编程;学习中期,面对树、图等,应该逐渐减少编程比重,增加算法思考时间;再往后,学习最小生成树、最短路径图、查找、排序等内容时,则更加侧重算法的学习而非编程实现。
(3)三对要点:存储方式中的顺序存储与链式存储,遍历方式中的的广度优先遍历和深度优先遍历,算法复杂度中的时间复杂度和空间复杂度。
(4)四段程序:线性表,逻辑代数化简,词法解释器(LEX),第四段程序暂无。
19、“天下武功出少林,天下语言出汇编,汇编语言就是一门绝世武功,理解了汇编语言就可以无敌于天下。”
20、挺过去,前面是片天。硬着头皮学下去,千万不要半途而废,等学到了后面,会发现前面不懂的东西自然而然就懂了。学习不能知难而退,而要迎难而上,就算不懂,先囫囵吞枣将其拿下,以后有的是时间慢慢消化甚至顿悟。
21、“好读书,不求甚解”。博览全书时要侧重“博”而非“精”,具体来讲就是说有的地方只需要知其然而不必知其所以然。不要妄想可以完全掌握所有的知识,有不理解的内容没有关系,等到知识积累到一定程度就水到渠成了。
22、全面学习是培养气质的最假手段。全面学习落实在计算机方面,就是全面学习各种经典的专业课程。