开放的源代码和linux诞生.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux诞生记 1、开始编程 我真不知道该如何阐释自己对编程的狂热,但我可以试试。 对于任何编程的人来说,编程是世界上最有趣的事。它比下棋之类的游戏更有乐趣得多,因为它可以由你自己来制订游戏规则。而你制定什么样的规则,也就会导出与此规则相符合的结果。 然而,对于编程外行的人来说,它却似乎是世上最枯燥的事。 编程给人带来的最初兴奋的原因有部分是显而易见的,那就是:通过编程你可以支配一台计算机,你叫计算机做什么,它就做什么,永远准确无误,而且毫无怨言。 这本身就很有意思。 但是计算机在一开始让你入迷的盲从性,显然不得它成为招人喜爱的伙伴。事实上,这种特性很快就让人厌烦了。真正使编程令人欲罢不能的是:你能让电脑做你想做的事,但是你还必须想出怎样做到的办法。 我个人认为,计算机科学和物理科学有很多相似之处。两门学科都是在一个相当基础的层面上探讨一个体系是怎样运行的。当然,区别在于,在物理学中,你探究的是一个已经存在的客观世界的构成。而在计算机科学中,你却是在创造一个前所未有的体系。 在电脑世界中,你就是创世者,你对所发生的一切拥有最终的控制。如果你功力深厚,你可以是上帝——在一个较小的层面上。 我这么说恐怕要得罪地球上近一半的人口了。但是的确如此。你开始创造自己的世界,而唯一限制你的就是机器的性能,以及——在今天尤其如此——你自己的能力了。 想象一下建在树上的小屋的情形。 你可以建筑一个这样的房子,有一个活板门,既稳固又实用。但是每个人都可以看出一个仅仅以坚固实用为目的的树上小屋和一个巧妙地利用树本身特点的美妙小屋之间的差异。这是一个将艺术和工程融为一体的活计。编程与造树上小屋有相似之外,这是它之所以被看成是一项既有魅力同时又有实际贡献的活动的原因之一。在编程中,实用的考虑往往被置于有意思、美观伶俐或有震撼力的考虑之后。 编程是对创造的训练。 探究计算机工作原理的过程,是吸引我走进编程世界的最初原因。在这其中获得的最大的乐趣在于,我认识到了计算机科学与数学的类似:你必须从该体系自身的规则出发,推演出整个世界,在物理科学中,你被客观规律所束缚。但是在数学和编程中,只要能合乎逻辑地推演,就可以成立。思考数学问题,不会受到客观世界的逻辑的限制,数学只是逻辑自洽的符号体系。正如任何一名数学家都明白的,人完全可以建构出一套数学等式,以证明三加三等于二。事实上,你想有什么样的体系就可以什么样的体系。但是,随着复杂程度的提高,你必须多加小心,不要弄出什么与你创造的体系不一致的东西。 好的体系容不得任何错误。编程也与数学一样是这么回事儿。 人们对电脑如此着迷的原因之一,就是能从中获得自己创造一个新世界的体验,并贪图到它到底能够成为什么样子。在数学中,人们往往按照客观事物的可能性进行思想实验。比如,说到几何时,大部分人想的是与我们的经验相符合的欧几里得几何学。但是电脑却可以帮助人们形象化不同的几何,并不仅仅是欧几里得几何学。在电脑的帮助下,人们可以形象化这些虚构的世界,看到那些世界到底是什么样子。还记得Mandelbrot set吗——基于Benoit Mandelbrot等式的fractal images。要不是电脑,纯粹的数学世界绝不能这样形象地展示出来。Mandelbrot就是人为地制定了一些本不存在的与现实没有一点关系的世界规则,却创造出了的图案。通过编程和电脑,你能够构筑一个新世界,有时其设计会是非常美妙的。 但是在大部分时间中你却不能欣赏自己创造的美妙世界。你只不过是在编写执行某一任务的程序。这时你就不是在创造一个新世界,而是在电脑世界中解决一个具体的问题。问题通过将思考结果应用到问题中而得到解决。而能够坐下来,盯着电脑屏幕,将一个问题彻头彻尾地贯穿思考,就需要某种特定的人。 比如,需要像我这种书呆子气十足的人。 操作系统是计算机的所有功能的基础。而创造一个操作系统则是最终的挑战。 创造操作系统,就是去创造一个所有应用程序赖以运行的基础环境——从根本上来说,就是在制定规则:什么可以接受,什么可以做,什么不可以做。事实上,所有的程序都是在制定规则,只不过操作系统是在制定最根本的规则。 创造操作系统就像在为你创造的这片土地制订宪法,而其他在电脑上运行的程序则是为宪法所允许的普通法律。 有时,这些法律根本讲不能,但这正是你要面对的问题。你需要找到解决办法,并能够意识到自己以正确的方法找到了正确的答案。 还记得那些在课上总能答对问题的同学吗?他们的答案比别人来得快,他们能这样是因为他们没有刻意去追求。他们不在乎他们应该怎样来答题。他们只不过找到了合理的考虑问题的方法。人们一听到正确答案,一切听起来就都是那么回事了。 在电脑上也是这样。你可以鲁莽、生硬地行事,愚蠢地死死纠住问题不放,直到问题不再成为问题。也可以通过找到正确的方法,使问题突然消失。

文档评论(0)

tt435678 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档