知识的积累

原创 2005年02月26日 11:14:00

最初认识Darwin的时候,我还是个没毕业的新手。那时,我在公司做毕业设计,题目就是用C++对部门内已有的一套C的库进行封装。那套库就是Darwin开发的,这次封装工作也是在他的领导之下进行的。当时,我对C++有着说不清的好感,心里认定那是成为高手的必经之路,因此很乐于参加到这个工作之中。Darwin当时的C语言已经达到了相当高的水准,而对于C++了解十分有限,大概比“C with Class”高不太多,这一点从当时的讨论上可以清楚的看出来。没过多长时间,我惊奇的发现,他对于C++的理解一下子加深了许多,有许多他谈到的东西已经不是我能够一下子理解的了。又过一段时间,他开始给大家讲设计模式,而之前他对于设计模式可以说是一窍不通,因为他看的是我买来后尘封许久的那本GoF经典。我惊讶于他吸收知识的速度,不仅仅是简单的学习,而是可以深刻的理解。

C++之父在《C++程序设计语言》第一章中,谈及学习C++时提到:“你学习一个新语言的方式依赖于你已经知道些什么,还依赖于你的学习目的。”

作为一个程序员,学习是生活中无可避免的部分。在面临项目压力时,通常学习的目的都是十分明确:解决遇到的问题。这时真正起决定性作用的基本上是自己的知识积累。工作几年之后,我开始理解这一点。对于一些真正用到的新技术,大多数时候,我只是简单的翻翻文档就可以拿过来用了;对于一些理念上的东西,也可以比较快的吸收理解,并能提出自己的一些见解。其实,并不是是我比毕业前后变得更聪明,而是我比那时接触的东西更多。所谓的新技术大多来源于已有的技术,有了基本的东西,面对新技术的时候,把它与已有的知识联系起来,在脑子简单比较一些异同,就可以对这项技术的优劣有个认识,再加上项目的实践,我便知道了这项技术运用在实际的项目中能够解决什么问题,比之从前的解决方案有何差异。

以我个人的一些经历而言,知识积累的过程中,思考是非常重要的一环。孔老夫子几千年前就教导我们说:“学而不思则罔,思而不学则殆”。在这个信息爆炸的年代,每个希望自己进步的人都会面对着一大堆要学的东西,盲目的学习,而不去思考,只会让自己迷失于知识的汪洋之中。在学习的过程中,思考可以让我们把新知识和已有的知识联系起来,这样,新知识便也不在孤单,而已有的知识也常常能被催发出新的活力,二者彼此推动,加深知识的理解。

记录,是促进思考的一种方式。我经常愿意向别人推荐blog,因为我每次写blog的过程都是我对一个主题进行深入思考的过程,有意或无意。自己想明白是一回事,把它解释明白又是另外一回事。当然,独乐乐和与人乐乐还是有所差异的,一个是加深自己理解,一个是与人分享。侯捷先生曾借用过胡适先生的一句话,“发表是最好的记忆”。,也许blog不比书籍、杂志等媒体,也许我没有那么多的读者,我并不在乎这些,德不孤,必有邻,能与人分享就好。记录的结果也常常使我有案可查。我的大脑能够记得东西是有限的,许多细节都会随着时间而消逝,知道哪里可以找到比记住全部细节更加有效。《恶斗EJB》写就之后,不知道有多少次被我重新查看。记录还可以比较好的锻炼自己的表达能力,谁说程序员只擅长写代码,写文章和写代码一样,只要多练习多思考,就能达到一个不错的高度,至于再进一步提升,那就要看天分和造化了。^_^

交流,是另外一种促进思考的方式。从小我就是一个比较愿意表达自己观点的人,工作之后,受Darwin的影响,这方面表现的越加明显了。交流之中遇到不同的观点简直是一件再正常不过的事了,毕竟大家经历不同、对问题的理解不同,正是有了这些不同的观点才使得交流更加有意义。和一些朋友讨论测试驱动开发时,一个一直从事测试工作的朋友提出的观点让我们几个程序员觉得非常新鲜,而我们对测试驱动开发的讨论也改变了他对单元测试的认识。只有从不同的角度理解问题,才能把问题看得更加的全面。有条件要讨论,没有条件创造条件也要讨论,现在一些的条件使我与外界的程序员交流的机会并不多,所以,除了参与一些网上的讨论之外,我们几个关系要好的朋友也经常自发的组织起来,利用业余时间进行各种各样的交流。

知识的整理可以帮我理清胡乱的思绪。整理是一个看起来容易,却需要很大功夫才能完成的。Martin Fowler值得我们尊敬,并不是他有多么伟大的发明创造,而在于他把一些知识(重构、分析模式、企业应用架构模式等等)很好的整理出来,让后来者可以很方便的进行学习。以同样方式让程序员们敬仰的还包括整理出《设计模式》的GoF。《代码阅读方法与实践》的价值所在也并不是其中具体涉及的阅读技巧,而是其对阅读代码所需内容做的整工作。

有了整理,与之对应就是摘要的工作。为什么同样的内容,有人写了一本书,而有人用一章甚至几句话就能够把核心理念描述出来,这便是摘要的工作。荣膺第14届Jolt大奖的《测试驱动开发:使用指南》用了第二章一章的内容,把一些常用的重构手法点明。对于大多数的重构工作来说,这些内容基本够用了,而对于重构,Martin Fowler写了一本书。同样用了一章来说明重构的还有Robert Martin的《敏捷软件开发》,书中还用了一章说明了测试驱动开发。当年关于考试的教导中常有“把书读薄,再把书读厚,最后把书再次读薄”的绕口令,其理念与此大抵相同。

谈到知识整理,不由想起了信息的整理。想必许多人和我一样,硬盘上存了大量的资料。不过不知道你是否能在需要的时候,快速的找到自己所需的内容。小时候养成的习惯让我很愿意把自己的东西随便乱扔,其结果经常是要什么不见什么。最初开始搜集资料的时候也常常是信手放置,结果往往是不知道自己有了些什么,用的时候也无处可寻。后来见founder_chen的资料整理工作做得相当的到位,需要时可以很轻松的找到,便也开始逐渐整理自己的资料,分门别类的进行整理,果然效果好了许多,以致于现在许多同事找资料的时候,首先考虑上我这里来查找。

不知不觉就着这个话题写了这么多,这应该算是我所作的又一次整理吧!

应该积累知识还是应该积累经验???

我常常思考的问题!!
  • henth
  • henth
  • 2006年02月02日 09:42
  • 400

关于知识积累与创新的思考

关于知识积累与创新的思考 转载时请注明出处:http://blog.csdn.net/absurd最近有网友提出这样的担心,现有知识太多了,会不会被这些知识所淹没,失去自己的创新。这种担心也是情有可原...
  • absurd
  • absurd
  • 2006年07月03日 21:52
  • 6439

科研经验1:云笔记积累个人知识体系

笔记的记录方式笔记是个人能力提高和知识体系积累的关键性习惯! 常见的笔记记录方式有三种,其实也是我个人笔记记录方式成长的三个阶段。1. 传统的纸记录方法。2008年我大学本科毕业前的记录方式,也可能...
  • woodcorpse
  • woodcorpse
  • 2017年07月17日 07:57
  • 527

知识积累方式的改变

         关于知识积累方式的改变,其实我是有很多话想说,自从互联网广泛的影响人们的生活之后,人们的学习的方式其实也是有着非常巨大的变化。想想,自己以前在大学之前是如何学习的,而到了研究生阶段是...
  • hiwzg
  • hiwzg
  • 2006年07月06日 17:23
  • 638

java日常基础知识

1、面向对象的特征有哪些方面?  答:面向对象的特征主要有以下几个方面:  - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不...
  • yys3155
  • yys3155
  • 2017年02月16日 17:06
  • 781

程序员如何积累编程技术或编程经验?

工作中总是被问到程序员如何积累编程技术或编程经验?首先我认为编程是一门实践性的很强的艺术,所以貌似唯有实践才能积累。然而把它当作一个个人软件过程(PSP)的问题,总感觉是有一些规律、规则或建议可以解答...
  • liulihuo_gyh
  • liulihuo_gyh
  • 2015年11月08日 20:25
  • 675

【Get深一度】信号 相干

相干性与关联性 一、举例 “很多脉冲的雷达回波的相加过程称为雷达脉冲积累;就像“长江后浪推前浪,一浪接一浪”;脉冲积累必须对包络检波器之前的正交分量进行, 称为“相干 积累”。 相干积累保...
  • u013346007
  • u013346007
  • 2017年02月26日 16:56
  • 349

怎样在工作中积累自己的资源!?

从业十多年,打交道的客户都比较认可我这个人,但是由于从事行业的原因,很多是人走茶凉,基本都不怎么联系了。现在静下来反思,其实也有自己的原因,一方面太过专注于工作,对客户在生活其他方面的交流较少,大家除...
  • xiaoniqiu
  • xiaoniqiu
  • 2015年07月12日 23:16
  • 284

转一篇谈研发和技术积累的好文:20年工作经验谈——马宁伟[转帖]

谈研发和技术积累的好文:20年工作经验 马宁伟我是一个有10年电子产品研发经验的工程师和10年IT知名公司研发中心管理经验的技术管理者。世上好的管理理念可能归纳起来就那么1~2百条,也都好理解,难的是...
  • tonystill
  • tonystill
  • 2007年05月17日 14:19
  • 2105

你必看的一个老程序员积累的20条编程经验

你必看的一个老程序员积累的20条编程经验 程序员 1. 估算解决问题所需要的时间。 不要怕,承认吧!我曾见过一些程序员为了解决...
  • sunyllove
  • sunyllove
  • 2016年11月30日 10:09
  • 770
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:知识的积累
举报原因:
原因补充:

(最多只允许输入30个字)