Leslie Lamport:数学语言比编程语言更强大、简洁和优雅

2018-06-06 11:07:39 浏览数 (1)

采访嘉宾:Leslie Lamport 微软研究院首席研究员,2013年图灵奖获得者,美国计算机协会院士

采访视频:http://www.csdn.net/article/2015-12-21/2826528/5

采访文字实录

CSDN:您为何选择计算机研究作为自己的职业,并潜心研究这么多年?其中最有乐趣和最困难的部分都是什么?有没有什么故事能够与我们分享?

Leslie Lamport:我成为计算机科学家是很偶然的。我原先的专业是数学,我打算成为一名数学家。我编写计算机程序,是为了支持我自己的研究,并为了本科和研究生教学。在某一个时间点上,我有机会做出选择,进入计算机领域,或继续讲授数学课程。我出于非常偶然的原因选择了计算机科学。

至于有趣的部分,我想就是解决问题。我涉足并行问题研究,因为这个问题本身看起来比较有趣,比其他较小的编程问题都要难得多——例如,当时所有的顺序计算看起来都十分简单。但是,一旦涉及到并行问题,你可能会碰到10个线程的编程,你根本无法确定哪一个是正确的。所以,许多类似的难题都引起了我的兴趣。

在并行问题研究方面,有一个小故事,能够解释我所做的工作。当我刚刚接触到互斥问题时,我认为这简直是太容易了,根本不成其为问题。我随便堆砌了一些算法,就把论文集给了一家杂志。几周之后,论文被退了回来,编辑在上面指出了一些错误。这件事让我对自己非常恼火。我对自己说,从此以后我绝不会在没有仔细的证明的情况下编写算法了。其中另一个让我懊恼的原因是,我想解决这个问题,但编写出的却是面包房算法。

CSDN:那么其中的困难有哪些呢?

Leslie Lamport:我从来没发现什么难事——其中的原因在于,我开始涉足这个领域时,我根本没拿计算机当回事儿。我觉得,计算机编程不过如此,只是一些算法而已,我从来没有被当时的计算机科学家们吓倒。我觉得他们不过就是计算机科学家,与物理学家和数学家没啥两样。我当时没有任何心理压力,所以体验到的都是乐趣。

CSDN:您现在关注哪些研究领域?它们将如何影响到我们的生活,或者计算机科学?

Leslie Lamport:我现在所做的事情与研究没有太大的关系。我现在更多的是帮助工程师们确定参数,并拿出正确的设计,然后再付诸实施。因为在并行系统中,如果你在启动项目前没有一个坚实的基础,那它很快就会死掉。根本就没有办法对一个并行编程排查错误。你第一次就要做对。如果最基础的概念就是错误的,那么排查错误的同时就会引入同样多的错误。所以,现在我要做的事情是开发一些开发工具,并且教会工程师们如何从事开发工作,拿出准确、严格的设计。至于对我们生活或计算机科学的影响,那就是让计算机程序变得更加值得依赖。

CSDN:今天,许多大学生都是二十岁刚出头,而他们中有些人将来也会变成研究员。如果您能进行时间旅行,您会给当年二十刚出头的自己什么建议?您会对您自己说什么?

Leslie Lamport:当年,我走过了一些弯路,而它们本来是可以避免的。我确实有些发现,但当我发现它们时,我对自己说:为什么你没能在十年前发现它们?事情往往就是这样。你有了一个想法时,它往往只是一个很简单的想法,你会对自己说:为什么你早不这么想?

CSDN:观看这个视频的观众或许没有机会聆听您的演讲。你能否简短地把自己的演讲要点概述一遍?

Leslie Lamport:今天上午我的演讲主要是谈如何用数学语言而非编程语言来描述计算机程序、计算机系统或计算机算法,只是给大家一些提示,数学语言比编程语言更加强大、更加简洁、更加优雅。我没用多长时间——不过确实用了一段时间才意识到,如果你不是在编程,最好别用编程语言,而应该使用数学。

0 人点赞