您所在的位置:Seago-Microsoft Windows>>原创及转载文章>> 采访唐纳德克努特

采访唐纳德克努特

作者:唐纳德克努特 来源:美国 日期:2008-04-29 

郑家富binstock和唐纳德克努特逆向对成功的开放源代码,问题与多核架构,令人失望,缺乏兴趣,在文学编程,威胁,可重复使用的代码,和市区的传说打赢编程竞赛与一个单一的汇编。
郑家富binstock :你是一个父亲的开放源代码革命,即使你没有被广泛预示着这样的。您先前曾表示,您发表的纺织品作为开放源代码,因为该问题的专有实现在时间,并请更正代码-这两者都是关键的驱动程序的开放源代码项目今天。你感到惊奇的成功,开放源代码自那时起?

唐纳德克努特:成功的开放源代码,也许是唯一的事,在计算机领域已经不奇怪,我在过去的几十年。不过,我们仍然还没有达到充分发挥其潜力;我相信,开放源代码程序将开始完全主导,随着经济的举动,越来越多的从产品走向服务,随着越来越多的志愿者出现,以改善代码。

举例来说,开放式的源代码可以产生数以千计的二进制文件,收看完全向配置的个人用户,而商业软件通常会存在的只有少数几个版本。一个通用的二进制可执行文件必须包括的东西一样,低效率的“同步”的指示是完全不适当的许多设施;这类浪费消失时,源代码是高度可配置。这应该是一个巨大的胜利开放源代码。

但我认为,一个数的程序,例如Adobe Photoshop来,将始终优于竞争对手一样的gimp -出于某种原因,我真的不知道为什么!我很愿意多付好钱,为真正好的软件,如果我认为这已制作完成,由最好的程序员。

请记住,虽然,我认为对经济问题是高度怀疑,因为我只是一个教育工作者和科学家。据我所知,几乎没有任何关于市场的。

郑家富:一个故事的国家,你一旦进入了一个编程竞赛在斯坦福(我相信)及您提交的得奖,其中正常工作后,一个单一的汇编。是这个故事是否属实?本着这一精神,今天的发展建立经常写作的小程序代码递增其次是即时的汇编,并建立和运行的单元测试。什么是您的想法,对这种方法的软件开发?

唐纳德:你听过的故事,是典型的传说是基于只有一小的核心真相。这里的实际情况:据美联社报道,决定在1971年有一个阵亡将士纪念日的编程比赛。所有的参赛者,除了我的工作在他的人工智能实验室,在山上以上的斯坦福大学,利用等待的时间共享系统;我是上了主校区,那里只有电脑给我是一个主机,对此我不得不冲床贺卡和提交他们处理在批处理模式。我用威茨的陵瓦特系统(前身帕斯卡尔) 。我的程序没有工作的第一时间,但幸好我可以使用教育署satterthwaite的优良离线调试系统为陵瓦特,所以我只需要两分。与此同时,人们用等待无法得到足够的机器周期,因为他们的机器,使超载。 (我认为,第二位的终结者,使用“现代”的办法,来了约一个小时后,我曾提交得奖与旧fangled方法。 )这不是公平竞赛。

至于你真正的问题,想法立即汇编和“单元测试”的上诉,我只有很少,当我感觉我的方式在一个完全未知的环境和需要的反馈意见是什么工程,什么不。否则,大量的时间是浪费的活动,我只是从来没有需要执行或什至思考的问题。没有什么需要“模拟” 。

郑家富:一对出现的问题,对于开发人员来说,尤其是客户端的发展,正在改变他们的思想写在程序的条款线程。这方面的关注,驱使的来临,廉价的多核电脑,一定会需要很多的算法改写为多线程,或至少必须线程安全。直至目前为止,大部分的工作,您所出版的第四卷为最先进的计算机编程( taocp )似乎并没有触及这个层面。你期望进入的问题,并发和并行编程在即将举行的工作,特别是因为它似乎是一个自然适合与组合主题您目前的工作呢?

唐纳德:领域的组合算法是如此广大,我会幸运收拾其顺序方面,分为三个或四个物理处理量,并且我不认为序贯方法是以往任何时候都将会不重要。反之,半衰期并行技术是在很短的,因为硬体的变化迅速,每一个新的机器需要有一个略有不同的做法。所以我决定早就要坚持什么,我知道最好的。其他人都明白,并行机好得多,比我做的;程序员应该听取他们的,不是我,为指导就如何处理的同时。

郑家富:供应商的多核处理器都表示感到沮丧的困难,提出发展这一模式。作为前教授,有什么想法,你对此过渡,以及如何使发生的?是一个问题的适当工具,如更好的本土支持的并发在语文,或执行的框架呢?还是有其他的解决办法呢?

唐纳德:我不想逃避你的问题完全。我可能会以及火焰一点我个人的不满目前的趋势走向多核架构。对我来说,这期待更多或更少一样,硬件设计师有一发不可收拾的想法,并且他们正试图通过归咎于为未来的消亡穆尔定律,以软件作者提供给我们的机器工作更快,不仅对几个关键的基准!我不会感到惊讶,所有如果整个多线程的概念,原来是一个失败,甚至比“钛”的做法,甚至有人认为他们可以使了不起-直到它原来认为,希望为编译器,基本上是不可能的收件。

让我这样说:在过去50年来,我写,以及超过一千节目,其中许多都具有相当的规模。我不能认为,即使5这些程序将得到加强,明显由多线程或并行。当然,举例来说,多个处理器是没有帮助纺织品。 [ 1 ]