透明思考


Transparent Thoughts


遇到了好学的小孩

ThoughtWorks西安办公室搞了一个“开放日”活动,邀请在校学生来参观我们的工作环境,了解IT行业以及ThoughtWorks这家公司。在开放日上,遇到了西安电子科技大学的李朝印同学,一个好学的小孩,跟他谈到阅读一些根本性著作的重要性。

有点出乎意料,李同学晚上给我发来邮件:

下午和你聊到计算机“树根”,我想做个2~3年的阅读计划把这些最核心的知识吃透。以下是一个书单:
  • The C++ Programming Language
  • Computer Systems: A Programmer’s Perspective
  • Indroduction to algorithm
  • Compliers:Parinciples, Techniques, and Tools
  • Code Complete
  • The Pragmatic Programmer
  • Refactoring: Improving the Design of Existing Code
  • Thinking in java
  • Effective C++
  • The Art of Computer Programming(First Volume Hardcover)

这些是我根据网上大家的建议大致列出的,不足或不妥之处希望你能指出!

我的回复:

不错的书单。具体说起来,C++ Programming Language(如果你是指Stroustrup那本的话)比较生涩而且过于细节化,作为语言向导而言不如C++Primer。TAOCP很艰深,需要量力而为。算法导论和编译原理应该都是专业课里的内容,把课程和自学结合起来可以事半功倍。另外我推荐SICP,这本书关于计算本质的介绍是你的书单(以及整个中国的计算机教育)所缺少的。

如果能用两三年把这些书读完(不一定”吃透”,吃个七八分透就够了),对自己的水平提升是非常有好处的。另外记着读万卷书行万里路,多读书同时多写代码,学以致用是长进最快的。

不由得想起十年前在学校里,跟虫虫、孟岩等人一起读书的时光。好学的年轻人总是让人看着充满希望。