Sharpmark's Personal Home Page

《计算机程序的结构和解析》精彩摘录 2

心智的活动,出了尽力产生各种简单的认识之外,主要表现在:

  • 将若干简单认识组合为一个符合认识,由此产生出各种复杂的认识。
  • 将两个人是放在一起对照,不管他们如何简单或复杂,由此得到有关它们 的相互关系的认识。
  • 将有关认识与那些在实际中和他们同在的所有其他认识隔离开,这就是抽象。所有具有普通性的认识都是这样的道德。

计算过程是存在于计算机里的一类抽象事物,在其演化过程中,这些过程会去操作一些被称为数据的抽象事物。人们创建出一些称为程序的规则模式,以指导这类过程的进行。

一个强有力的程序设计语言,不仅是一种指挥计算机执行任务的方式,它还应该成为一种框架,使我们能够在其中组织自己有关计算过程的思想。

函数与过程之间的矛盾,不过是在描述一件事件的特征,与描述如何去做这件事情之间的普遍性差异的一个具体反映,人们有时也称它为说明性的知识与行动性的知识之间的差异。在数学里,人们通常关心的是说明性描述(是什么);而在计算机科学里,人们通常关心行动性的描述(怎么做)。

能够看清所考虑的动作的后果的能力,对成为程序设计专家至关重要。对结果的了解,才能反推出所需的过程。我们需要对计算过程中各种动作的进行情况作出规划,用一个程序去控制这一过程的进展。要学会去看清各种不同种类的过程会产生什么样的计算过程,只要在掌握了这种技能之后,我们才能学会如何去构造出可靠的程序,使之能够表现出所需要的行为。

《计算机程序的结构和解析》精彩摘录 1

I think that it’s extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don’t think we are. I think we’re responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don’t become missionaries. Don’t feel as if you’re Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don’t feel as if the key to successful computing is only in your hands. What’s in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

——Alan J. Perlis (April 1, 1922-February 7, 1990)

译文:我认为,在计算机科学中保持计算中的趣味性是特别重要的事情。这一学科在起步时饱含着趣味性。当然,那些付钱的客户们时常觉得受了骗。一段时间之后,我们开始严肃地看待他们的抱怨。我们开始感觉到,自己真得像是要负起成功地、无差错地、完美地使用这些机器的责任。我不认为我们可以做到这些。我认为我们的责任是去拓展这一领域,将其发展到新的方向,并在自己的家里保持趣味性。我希望计算机科学的领域绝不要丧失其趣味意识。最重要的是,我希望我们不要成为传道士,不要认为你是兜售圣经的人,世界上这种人已经太多了。你所知道的有关计算的东西,其他人也都能学到。绝不要认为似乎成功计算的钥匙就掌握在你的手里。你所掌握的,也是我认为并希望的,也就是智慧:那种看到这一机器比你第一次站在它面前时能做得更多的能力,这样你才能将它向前推进。