linux开源码,开放的源代码和linux诞生..pdf

linux 诞生记

1、开始编程

我真不知道该如何阐释自己对编程的狂热,但我可以试试。

对于任何编程的人来说, 编程是世界上最有趣的事。 它比下棋之类的游戏更有乐趣得多, 因

为它可以由你自己来制订游戏规则。 而你制定什么样的规则, 也就会导出与此规则相符合的

结果。

然而,对于编程外行的人来说,它却似乎是世上最枯燥的事。

编程给人带来的最初兴奋的原因有部分是显而易见的, 那就是: 通过编程你可以支配一台计

算机,你叫计算机做什么,它就做什么,永远准确无误,而且毫无怨言。

这本身就很有意思。

但是计算机在一开始让你入迷的盲从性, 显然不得它成为招人喜爱的伙伴。 事实上, 这种特

性很快就让人厌烦了。 真正使编程令人欲罢不能的是: 你能让电脑做你想做的事, 但是你还

必须想出怎样做到的办法。

我个人认为, 计算机科学和物理科学有很多相似之处。 两门学科都是在一个相当基础的层面

上探讨一个体系是怎样运行的。 当然,区别在于,在物理学中, 你探究的是一个已经存在的

客观世界的构成。而在计算机科学中,你却是在创造一个前所未有的体系。

在电脑世界中, 你就是创世者, 你对所发生的一切拥有最终的控制。如果你功力深厚, 你可

以是上帝——在一个较小的层面上。

我这么说恐怕要得罪地球上近一半的人口了。 但是的确如此。 你开始创造自己的世界, 而唯

一限制你的就是机器的性能,以及——在今天尤其如此——你自己的能力了。

想象一下建在树上的小屋的情形。

你可以建筑一个这样的房子, 有一个活板门, 既稳固又实用。 但是每个人都可以看出一个仅

仅以坚固实用为目的的树上小屋和一个巧妙地利用树本身特点的美妙小屋之间的差异。 这是

一个将艺术和工程融为一体的活计。 编程与造树上小屋有相似之外, 这是它之所以被看成是

一项既有魅力同时又有实际贡献的活动的原因之一。 在编程中, 实用的考虑往往被置于有意

思、美观伶俐或有震撼力的考虑之后。

编程是对创造的训练。

探究计算机工作原理的过程, 是吸引我走进编程世界的最初原因。 在这其中获得的最大的乐

趣在于, 我认识到了计算机科学与数学的类似: 你必须从该体系自身的规则出发, 推演出整

个世界,在物理科学中, 你被客观规律所束缚。但是在数学和编程中, 只要能合乎逻辑地推

演,就可以成立。思考数学问题,不会受到客观世界的逻辑的限制,数学只是逻辑自洽的符

号体系。 正如任何一名数学家都明白的, 人完全可以建构出一套数学等式, 以证明三加三等

于二。事实上,你想有什么样的体系就可以什么样的体系。但是,随着复杂程度的提高,你

必须多加小心,不要弄出什么与你创造的体系不一致的东西。

好的体系容不得任何错误。编程也与数学一样是这么回事儿。

人们对电脑如此着迷的原因之一, 就是能从中获得自己创造一个新世界的体验, 并贪图到它

到底能够成为什么样子。在数学中,人们往往按照客观事物的可能性进行思想实验。比如,

说到几何时, 大部分人想的是与我们的经验相符合的欧几里得几何学。 但是电脑却可以帮助

人们形象化不同的几何, 并不仅仅是欧几里得几何学。 在电脑的帮助下, 人们可以形象化这

些虚构的世界,看到那些世界到底是什么样子。还记得 Mandelbrot set 吗——基于 B

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值