要想在技术上再有突破,该读什么?

bigpanda 2006-11-10
T. S. Eliot写过这么一段话:"We must not cease from exploration. And the end of all our exploring will be to arrive where we began and to know the place for the first time."

没找到中文翻译,自己试一把,“我们永远不可停止探索。在探索的终点,我们发现又回到了出发的地方,放眼看来,已是另外一种境界”。

我现在感到技术上到了一个停滞不前的阶段,对WebWork,Spring,Hibernate,AspectJ还得搞,那是吃饭的本钱,但是这些让我达不到再一步的突破。

下面该读什么呢:

1. SICP 和 Scheme
2. 操作系统
3. 并行处理, 看看Erlang
4. Ruby
5. Compiler technique
6. 数据结构,Introduction to algorithms 或 The Art of Computer Programming。

现在倾向深入学习Compiler,Ruby,SICP,Schema这些东西,Ruby的语言威力太强大,让我认识到语言设计,DSL来解决复杂问题的威力。

大家发表发表意见。




clamp 2006-11-11
个人认为关键不在于读什么,而在于做什么
cookoo 2006-11-12
你想突破的方向太分散了点吧?
wzgme 2006-11-12
并行啊.

弄好了,可以给我提供点咨询.^_^
blueoxygen 2006-11-12
看怎么突破,WW spring hibernate这些都是工程上的用具,唯有钻研,不知道LZ指的是否事工程上的突破,我感觉不经历各种大型项目,怎么读书,都很难有所谓的突破,不过,多读书,当机会来临之时,适应会很快。
SCIP 编译原理 操作系统以及想看的RUBY Erland 这些感觉只能是对CS的本质的领悟有更深的一个层次吧,但是编译原理 操作系统 这些哪个钻下来都需要很大功夫的,而且感觉对普通的项目没啥大用处。就数据机构感觉平时用得稍多....
bigpanda 2006-11-12
我说的技术突破是指个人的技术突破,提高个人解决问题的能力。管理大工程的能力,目前不在我的兴趣范围之内,软件工程的前提在于人,然后是人与人之间的交流,把这两点抓好了下面的就好办了。

我现在感觉是就算把ww, spring, hibernate全搞精通了,哪怕是源代码都背下来,也无法达到更高的层次。所以想在别的地方探索一下。

Potian最近从某本书里摘了这么段话:

There are two schools of thought about teaching computer science. We might caricature the two views this way:

* The conservative view: Computer programs have become too large and complex to encompass in a human mind. Therefore, the job of computer science education is to teach people how to discipline their work in such a way that 500 mediocre programmers can join together and produce a program that correctly meets its specification.

* The radical view: Computer programs have become too large and complex to encompass in a human mind. Therefore, the job of computer science education is to teach people how to expand their minds so that the programs can fit, by learning to think in a vocabulary of larger, more powerful, more flexible ideas than the obvious ones. Each unit of programming thought must have a big payoff in the capabilities of the program.

就我个人来讲,当然对第二条感兴趣。

Computer Science这个东西,学时的确觉得对普通的项目没啥大用处,但实际上又处处用的上。比如说formal method这个东西,一般都用不上,但学一学那种思维方式对写Unit Test就大有好处。

现在基本倾向于深入学习SICP, Scheme(Lisp), Ruby,Compiler。这些东西都是相关联的,像很多C, Java里面没有的语言特性,如Closure,Continuation,要是翻翻编译器方面的书,理解起来就容易多了。

要想突破,就不怕下功夫,反正不然也是闲着。
seantan 2006-11-13
我现在更倾向的技术的突破更多的是基于实践。当然适当的阅读可以帮助突破的时间加快但是不能起到绝对性作用。
诺铁 2006-11-29
学艺术,书法,绘画等等。。。。。。
fantasy 2006-11-29
套用一句老话,"思想+算法=编程",一开始还不明白什么意思,但是等到学习编程几年之后,突然发现,很多时候我们都是在做熟练工作,但是正是因为这些熟练工作在渐渐的转换我们的思维.无论说OOP还是AOP,都在交织着我们的思想.
我想不是因为读了什么书,就会在技术上再有质的突破.
而是在于平时一点一滴的量的积累,最后才会产生质的突破.
按照自己的兴趣去读书,这样会有动力,总有一天,会达到"愕然回首,那人却才灯火阑珊处"的境界.
simohayha 2007-01-08
我是很想学学操作系统的东东,不过一直没时间.
Global site tag (gtag.js) - Google Analytics