关于计算机编程的两件事

“两件事情”这篇文章里的内容可以用下面的引用做最好的概括:

几年前,我在一个酒吧里和一个陌生人聊天。当我告诉他我是个经济学家时,他说,“哦,那么 … 什么是经济学里的’两件事‘呢?”

“嗯?”我狡诘的回答道。

“你知道的,两件事呀。对任何一个学科,都只有两件事情你需要真正的去了解。任何其它的东西都是对这两件事的应用,或着根本不重要。”

“哦,” 我说。“是这样的,对于经济学确实有两件事情。一:刺激经济很重要。二:天下没有免费的午餐。”

从这个晚上起,我就走进了“两件事情”的游戏中。

关于“两件事情”自身的两件事,文章说人们往往不愿意承认这两件事情,特别是面对计算机问题。所以我想做为一个例外。下面就是我的两对两个事情:

计算机编程:

  1. 任何问题,只要你把它细化成很多小问题,都能被解决掉。
  2. 计算机永远都是精确的按照你要求它的方式运行。

软件工程:

  1. 写程序是最简单的。写出来的东西能够让后来的其他人明白才是最重要的。
  2. 先让它跑起来,然后让它优雅起来,然后让它快起来。
[英文原文:The Two Things about Computer Programming ]
分享这篇文章:

7 Responses to 关于计算机编程的两件事

  1. 听临 says:

    除了两件事,是不是还有一个超越具体事情的目标,比如说:

    MicroSoft的目标是让个人电脑走进每户人家 …

    也许这个更重要…

  2. ade says:

    呵呵,有意思哦

  3. Kenny Yuan says:

    计算机编程:

    任何问题,只要你把它细化成很多小问题,都能被解决掉。
    计算机永远都是精确的按照你要求它的方式运行。

    ============================

    第一个显然不成立,比如停机问题,俩将军问题等

    第二个只是大概率下成立,不是绝对的。因为磁盘可能出错,内存可能出错,CPU可能出错,出错的概率比人们想像中的要大太多太多了(具体参见各路论文)

  4. mikespook says:

    计算机编程:

    1. 所有问题,首先是人的问题。
    2. 如果人都不能解决的问题,那就找上层决策人的问题。

    软件工程:

    1. 所有人的问题是团队的问题,反之亦然。
    2. 最快的解决问题的办法是最好的工程方法,反之亦然。

  5. 太阳能 对这篇文章的反应是赞一个
  6. 一个好人YES 对这篇文章的反应是赞一个
  7. ManagerLin 对这篇文章的反应是赞一个

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.