由单个程序员做的最复杂/重要的程序,是哪个?

这个问题来自 Quora,题主还补充问:

是谁写的?用了多长时间?

Victor Eijkhout (搞数学和音乐的全才) 的回复如下(2200+赞)

1978 年左右,高德纳(Donald Knuth)对电脑排版的质量越来越不满意。他认为自己可以解决这个问题。嗯,虽然这耗费了他 8 年时间,但他确实是解决了。从数学方面来说,TeX 排版系统渲染效果很漂亮,无以伦比。

结果发现,99%的数学家,至少 50% 的计算机科学家和物理学家都在用 TeX。甚至有些需要奇特字母(古冰岛语字典)或奇特设计需求(带解说的宗教经文和解说的解说)的人都在使用。

话说回来,TeX 系统完成的时代,计算机内存很小,运行速度也慢。为了效率,代码编写得很有技巧。基本是没有 Bug。高德纳大神曾放言过,如果你能在 TeX 代码中找到 Bug,他会给你写支票。不过暂无人收到他的支票。:)

(伯小乐补充:Victor Eijkhout 可能忘了,其实是有人收过高德纳的支票。比如:王垠)

(膜拜大神 高德纳)

----------【补充】----------

//@peng_gong:还有一个很重要的细节:TEX的第一版是Knuth用铅笔在笔记本上完成的——纸质笔记本,他花了大概半年在纸上“写”好程序,然后“誊写”到计算机上,详情可以读读Knuth的Literate Programming。反正我是被吓跪了 -_-#

//無銘幻影:Tex作者有因为别人找到bug发过支票吧,每次的金额还是前一次的两倍,不过因为这支票的意义比较大没人去换而是装裱起来就是了

------【2015-03-05 补充】------

Tex 的版本号不是自然数列,也不是年份,而是从3开始,不断地逼近圆周率 (3.14,3.141…目前最新版本是3.1415926)。高德纳再一次用行动宣告,我这个东西,不可能再有什么大的改进了,最多只能小修小补,使其趋近完美。他还专门设立了奖金:谁发现Tex的一个错误,就付他2.56美元,第二个错误5.12美元,第三个10.24美元…以此类推。

未经许可,禁止转载!

82 1 收藏


直接登录
最新评论
  • 匿名人士   2015/03/04

    大神的中文名是不是翻译错了

    • 黄利民 站长 2015/03/05

      他的英文名 Donald Ervin Knuth 直译为“唐纳德·尔文·克努斯”,“高德纳”这个中文名字是1977年他访问中国之前所取的,命名者是储枫(姚期智的夫人,计算机科学家)。

      摘自维基百科:http://zh.wikipedia.org/wiki/%E9%AB%98%E5%BE%B7%E7%BA%B3

推荐关注