安居多伦多
  • 多市生活
    • 多市生活
    • 加国税务
    • 旅游度假
    • 生活安全
    • 行车安全
    • 窍门集锦
  • 多市书苑
    • 热门
    • 小说
    • 教育
  • 家居信息
    • 家居信息
    • 房屋保养
    • 房屋贷款
    • 房屋租赁
    • 房屋建筑
    • 房前屋后
    • 家居风水
  • 健康保健
    • 健康保健
    • 饮食起居
    • 食品安全
    • 健身锻炼
  • 书苑账户
    • 书苑登入
    • 书苑注册
    • 忘记书苑密码
    • 书苑账户信息
    • 关于我们
    • 联系我们
    • 隐私政策
多伦多书苑
在线书籍:随时阅读,随身听书。
所有书籍 | 人文 | 人物 | 人生 | 健康 | 儿童 | 医学 | 历史 | 历史 | 古典 | 哲学宗教 | 商业 | 外国 | 寓言 | 小说 | 教育 | 风水 | 管理 | 语言 |
为使本公益资源网站能继续提供免费阅读,请勿屏蔽广告。谢谢!报告弹出广告被滥用。
  1. 安居多伦多
  2. 网上书苑
  3. 文学
  4. 人物
  5. 只是为了好玩 (Just For Fun)

只是为了好玩 (Just For Fun)

2021-08-03 0人点赞 0条评论
点赞
x
语速1.0: 2.0
进度0:

上一页   |   返回目录   |   下一页

1、开始编程

我真不知道该如何阐释自己对编程的狂热,但我可以试试。 对于任何编程的人来说,编程是世界上最有趣的事。它比下棋之类的游戏更有乐趣得多,因为它可以由你自己来制订游戏规则。而你制定什么样的规则,也就会导出与此规则相符合的结果。

然而,对于编程外行的人来说,它却似乎是世上最枯燥的事。 编程给人带来的最初兴奋的原因有部分是显而易见的,那就是:通过编程你可以支配一台计算机,你叫计算机做什么,它就做什么,永远准确无误,而且毫无怨言。 这本身就很有意思。

但是计算机在一开始让你入迷的盲从性,显然不得它成为招人喜爱的伙伴。事实上,这种特性很快就让人厌烦了。真正使编程令人欲罢不能的是:你能让电脑做你想做的事,但是你还必须想出怎样做到的办法。

我个人认为,计算机科学和物理科学有很多相似之处。两门学科都是在一个相当基础的层面上探讨一个体系是怎样运行的。当然,区别在于,在物理学中,你探究的是一个已经存在的客观世界的构成。而在计算机科学中,你却是在创造一个前所未有的体系。 在电脑世界中,你就是创世者,你对所发生的一切拥有最终的控制。如果你功力深厚,你可以是上帝――在一个较小的层面上。 我这么说恐怕要得罪地球上近一半的人口了。但是的确如此。你开始创造自己的世界,而唯一限制你的就是机器的性能,以及――在今天尤其如此――你自己的能力了。 想象一下建在树上的小屋的情形。 你可以建筑一个这样的房子,有一个活板门,既稳固又实用。但是每个人都可以看出一个仅仅以坚固实用为目的的树上小屋和一个巧妙地利用树本身特点的美妙小屋之间的差异。这是一个将艺术和工程融为一体的活计。编程与造树上小屋有相似之外,这是它之所以被看成是一项既有魅力同时又有实际贡献的活动的原因之一。在编程中,实用的考虑往往被置于有意思、美观伶俐或有震撼力的考虑之后。 编程是对创造的训练。

探究计算机工作原理的过程,是吸引我走进编程世界的最初原因。在这其中获得的最大的乐趣在于,我认识到了计算机科学与数学的类似:你必须从该体系自身的规则出发,推演出整个世界,在物理科学中,你被客观规律所束缚。但是在数学和编程中,只要能合乎逻辑地推演,就可以成立。思考数学问题,不会受到客观世界的逻辑的限制,数学只是逻辑自洽的符号体系。正如任何一名数学家都明白的,人完全可以建构出一套数学等式,以证明三加三等于二。事实上,你想有什么样的体系就可以什么样的体系。但是,随着复杂程度的提高,你必须多加小心,不要弄出什么与你创造的体系不一致的东西。 好的体系容不得任何错误。编程也与数学一样是这么回事儿。 人们对电脑如此着迷的原因之一,就是能从中获得自己创造一个新世界的体验,并贪图到它到底能够成为什么样子。在数学中,人们往往按照客观事物的可能性进行思想实验。比如,说到几何时,大部分人想的是与我们的经验相符合的欧几里得几何学。但是电脑却可以帮助人们形象化不同的几何,并不仅仅是欧几里得几何学。在电脑的帮助下,人们可以形象化这些虚构的世界,看到那些世界到底是什么样子。还记得 Mandelbrot set 吗――基于 BenoitMandelbrot 等式的 fractal images。要不是电脑,纯粹的数学世界绝不能这样形象地展示出来。

Mandelbrot 就是人为地制定了一些本不存在的与现实没有一点关系的世界规则,却创造出了的图案。通过编程和电脑,你能够构筑一个新世界,有时其设计会是非常美妙的。 但是在大部分时间中你却不能欣赏自己创造的美妙世界。你只不过是在编写执行某一任务的程序。这时你就不是在创造一个新世界,而是在电脑世界中解决一个具体的问题。问题通过将思考结果应用到问题中而得到解决。而能够坐下来,盯着电脑屏幕,将一个问题彻头彻尾地贯穿思考,就需要某种特定的人。 比如,需要像我这种书呆子气十足的人。 操作系统是计算机的所有功能的基础。而创造一个操作系统则是最终的挑战。 创造操作系统,就是去创造一个所有应用程序赖以运行的基础环境――从根本上来说,就是在制定规则:什么可以接受,什么可以做,什么不可以做。事实上,所有的程序都是在制定规则,只不过操作系统是在制定最根本的规则。 创造操作系统就像在为你创造的这片土地制订宪法,而其他在电脑上运行的程序则是为宪法所允许的普通法律。

有时,这些法律根本讲不能,但这正是你要面对的问题。你需要找到解决办法,并能够意识到自己以正确的方法找到了正确的答案。 还记得那些在课上总能答对问题的同学吗?他们的答案比别人来得快,他们能这样是因为他们没有刻意去追求。他们不在乎他们应该怎样来答题。他们只不过找到了合理的考虑问题的方法。人们一听到正确答案,一切听起来就都是那么回事了。 在电脑上也是这样。你可以鲁莽、生硬地行事,愚蠢地死死纠住问题不放,直到问题不再成为问题。也可以通过找到正确的方法,使问题突然消失。你可以从不同的角度看问题。直到灵光突现地认识到:问题之所以成为问题只在于你的方法错了。 也许能够证明这一点的最佳例子不是来源于计算机科学,而是数学。故事发生在十七世纪,日后将成为伟大的数学家的高斯还在上中学。一天,老师厌烦了授课,就让学生们计算从 1到 100 的数字的和。他原以为学生们要花一整天来计算这道题。没想到初展才华的数学家仅花了五分钟就得出了正确答案:5050。他解答这个问题的方法不是真的把所有这些数字一一加起来,这样做既麻烦又愚蠢。他发现 1 加 100 等于 101,2 加 99 也等于 101,然后 3 加 98 还是 101,直到 50 加 51 等于 101。不要几秒种,他就注意到一共是 50 对 101,所以答案是5050。

也许这故事是虚构的,但它想说明的道理却很清楚:一个伟大的数学家不会采用平庸而繁琐的方法,因为他能看到隐藏在问题背后的真正内涵,并应用这一理解去找到更为简便的方法。

在计算机科学中也绝对如此。

没错,你能写一个程序来求出总数。这对于今天的电脑来说不过小事一桩。但是一个伟大的编程者能凭借其聪明的头脑就知道答案是什么。他知道怎样写出漂亮的程序,知道怎样采用一种全新的但最终会被证明是正确的方法。 不过还是很难说清楚,闭门冥思苦想地要找到解决某个问题的漂亮答案,为什么竟然有如此巨大的魅力?但是,你要是曾经有过找到更好方法的经历,你就会明白,这简直是无与伦比的感觉。

上一页   |   返回目录   |   下一页

类似书籍

从乞丐到元首
从乞丐到元首
林徽因传
林徽因传
特斯拉:电气时代的开创者
特斯拉:电气时代的开创者
蒋介石传
蒋介石传
特斯拉传:现代的发明者
特斯拉传:现代的发明者
胡雪岩全传2 红顶商人
胡雪岩全传2 红顶商人
Author:

标签: 暂无
最后更新:2021-08-03
< 上一篇
下一篇 >

本书评论

取消回复

©2021 安居多伦多 - 版权所有

本站由 好事来 Hostlike.com 提供技术支持。