摘要: 程序开发完毕,实现了功能,我们的脸上红扑扑的,显示出我们感觉到自己多么的富有成就感。然而,用户忽然来报,你nnd看你编的烂程序,运行起来我的电脑其他的事情就不用干了!~~~我们的脸更红了~~ 或多或少,作为程序员,我们都碰到过这种事情。我们的程序需要优化,从什么地方下手呢?我们有些茫然,这类的书不怎么多。 我想,要解决这个问题,我们需要一个经典名言,透过现象看本质。 ok,先从看的见,摸的着的说,恩,一台电脑。电脑的本质是什么呢?存取程序控制。恩,回答完毕。涉及三个问题,存取,程序,控制。存取:数据的存取,指令的存取,程序:算法,控制:人鸡(注:“鸡”通“机")交互。 好,一个程序执 阅读全文
posted @ 2010-12-08 20:53 有只茄子 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 作为一个会思考的程序员,晚上睡不着觉的后果就是胡思乱想。显然,我也是其中的一员。而今天我讲述的胡思乱想的内容,居然是关于时空的...我们知道我们身处的空间是个三维空间,用三条互相垂直相交的直线代表三个维度,可以建立一个三维坐标系。除此之外,我们还有个诡异的维度:时间。我们先来想想如何建立一个坐标系来表现这个时间维度和我们的三维空间维度。 我在上一个随笔中,讲到了相似性和相对性。没错,就相似性来说我们可以建立一个深层次的坐标系。我们知道点是可以无限小的,当然相对的逆向考虑它就是可以无限的大。假如我设定我建立了一个三维空间,按照庄周小年不知大年的说法,我们可以认为我们的三维空间实际上是一个点。o. 阅读全文
posted @ 2010-12-08 11:27 有只茄子 阅读(342) 评论(4) 推荐(0) 编辑
摘要: 事实上我们在软件开发的过程中总是:遇到问题,解决问题,这么一个 简单的过程。处理一般类似问题的时候,我们经过抽象,有的提取算法,有的提取结构,有的提取流程等等,这样的过程可以简单理解为就是抽象。然而问题是多种多样的,我们不可能碰到的都是相同的问题,所以不可避免的我们会面临特殊情况,相对的就有新的算法,新的结构,新的流程。这就是特例化。 如果仅仅是一个简单的问题,那么一层的抽象大概够用了。问题总是复杂的,有的时候用这样的算法,有的时候用那样的算法,有的时候有不同的结构,有的时候又有不同的流程,不可避免,我们的聪明人又做了一次抽象,抽象处理这些问题的方法,这就是泛型、面向对象、设计模式。恩、实际. 阅读全文
posted @ 2010-12-08 00:41 有只茄子 阅读(1720) 评论(4) 推荐(4) 编辑