翻译—‘The Art of Computer Programming’ by Donald Knuth

原文链接:https://medium.freecodecamp.org/the-art-of-computer-programming-by-donald-knuth-82e275c8764f


一些书架上的书看起来很漂亮。不仅仅是因为它们美观,还因为它们突出了作者。唐纳德·克努特(Donald Knuth)的4本精装书"计算机编程设计"。—所有的光芒都在深紫色的箱子里。—发出一个明确的信息:走开,麻瓜,因为你在一个真正的程序员面前。一个严谨的计算机科学实践者面前。

比尔盖茨曾经说过:"如果你认为你是一名真正的程序员……读一读计算机编程设计……如果你能阅读整篇文章,你一定要给我发一份简历。"

对我来说,订购这系列书籍感觉就像一项重要的专业成就。这些书送来之前,我在书架上给它们收拾出了一块特殊的地方,因为我可能要在谷仓里为新主机腾出空间。

它们是很权威性的书籍,地位无法动摇。所以我从不阅读它们,这也不是这些咧书籍真正的书评。抱歉。

这也不是像那些评论家早就厌恶的走出电影影评的情况。克努特的书是史诗级的作品,他真的是真正的计算机科学基础大师,它起源于数学以及这两个领域的交叉点。予以尊重。

只是我还达不到"计算机编程设计"(TAOCP)的深度。

我读了卷1的序言3、4次,我尝试想想了一下阅读整个系列书籍的情形。接下来的几个月我将不会上网,独自搬到美国怀俄明州山顶的小屋子里,里面装满了大量的纸,几盒铅笔,计算机编程设计系列书籍,还有几本需要补充的数学书籍,以及90多天的Adderall(药物,治疗注意力缺失)供应。

我将会远足跋涉在山中,对算法基础进行深度思考。没有笔记本,没有无线网,没有电力—这些使注意力分散的事物。日落后我只能借着烛光阅读和解决问题,我的梦想是神游在调和级数、二项式系数和非线性数据结构中。

这也就是想想…所以我昨天又看了一遍序言,到目前为止,我觉着我应该停下来反思一下我的学习之旅。

上图就是克努特对计算机的热爱,整个系列都致力于一个计算机:IBM的650大型机。它是首个批量生成的计算机,一个卖出几十万美元。这是克努特咬紧牙关买的机器。

对20世纪50年代的计算机的产生感到兴奋,也对那个时代数学的发展感到兴奋。早起的IBM650大型机有一个几本的数学运算和控制结构,它由十进制建立的而不是二进制。

没有展示机器,也没有命令行。人们是这样来操作系统的:控制台允许操作员启动或停止程序等等。

如果你想要用程序生成一段斐波那契数字。还不存在公式翻译程式语言(FORTRAN)——在650大型机发布4年后才出现。所以,在发展初期,你必须写出你想做的机器级操作代码,然后手工组装你的程序,然后把你的程序用钥匙打孔机打成一副卡片。

有一些方法可以优化你的程序。你可以设计更高效的算法或者针对问题部署更适合的数据结构。

你还可以从你的程序怎么样加载运行入手优化代码——用机器的纹理工作。磁鼓存储器,是现代硬盘驱动的先驱,是650大型机上主要的存储器,它运行是很缓慢的。所以你作为程序员的目标是最小化12500转/分钟鼓机的等待时间。这样在运行的时候,你所有的代码和数据会很轻易(以一个合理的时间)的到达CPU。你希望大型机的CPU周期和这些磁鼓存储器完美同步。

计算机科学是在数学和机械工程粗糙的交点上诞生的。一个很聪明的人才能理解它。但这样理解已经不在正确了。克努特和那个年代的程序员必须比IBM650大型机更聪明。他们了解每一个电子管和控制开关。我们不再比我们的计算机更聪明了。

这本书序言的第一段,克努特称编程是"一种审美体验就像作诗或绘画一样。"我认为这种审美观仍然吸引着每一个有抱负的程序员。自20世纪50年代以来沿着指数线走了很长一段路,知道审美观仍然完好无损是令人欣慰的。

虽然我们不再使用控制台并将代码输入到一个发热、发躁的计算器里,但编程的美感仍然存在于每一层抽象中。

我想知道编写软件的表演性质是如何从手工装配只有8kb内存的限制以及通过穿孔的工作来塑造的。我想象了一下克努特敲代码的时候是很有快感的,并且有走高丝的风险。因为小的错误让人很头疼。

从那以后,几十年的抽象堆积起来就像一堆床垫,我们大多数人只是在顶部滚动。

现代软件反复的小反馈和可塑性都需要一些代价。虽然今天的软件开发可能是更有趣的,但在我们没反应前黑客攻击也很容易,而且它也会造成很多问题。优秀的软件仍然需要大量的思考,我们很容易失去严谨性。

IBM650大型机的限制是艰难和快速的,而今天的机器的限制是更轻量的并且经常是自我强加的。手机的微型屏幕掀起了经济软件和接口设计的新浪潮。让我感到惊讶的是,任何选择了目标开发环境限制的人,都在为我们未来的创新选择竞争环境。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351

推荐阅读更多精彩内容

  • Literal 所谓Literal,也就是常说的 字面量单从这个翻译上来说,是不太容易理解它的意思的。所以这个翻译...
    Katou_Megumi阅读 9,807评论 0 3
  • 《白果倾城》 世界的独树一帜, 在于慵懒深邃的情结, 天地从来都不是牢笼, 它创造了虚无与真实, 无可名状。 苦命...
    踢球写诗的小何老师阅读 170评论 0 2
  • 请你对自己好一点别让自己太累 生活就像一场强奸做不到反抗那就去享受啊 再多的难受都是自己的 请你心疼点自己别让自己...
    小怡宝吖阅读 506评论 0 0