第1章 基本概念
我们在深入学习程序设计语言原理之前,需要考虑几个基本的概念。首先我们将讲解,为什么计算机科学专业的学生以及专业软件开发人员需要学习语言的设计和评估的一般原理。这种讨论对于那些认为只要有一、两种程序设计语言的工作经验就足够了的计算机科学人员来说,是十分有价值的。接下来,我们将简略描述程序设计的主要范畴。然后,由于本书将评价各种程序设计语言的构成和特性,我们将会列出用于判别程序设计语言优劣的标准。紧接着,我们将讨论两个影响程序设计语言的重要因素,即计算机体系结构以及程序设计方法学。之后,我们将给出程序设计语言的不同分类。再接着,我们将阐述��语言设计中必须考虑的几种主要权衡取舍方法。
由于本书也叙述程序设计语言的实现,因而我们在这一章中概括了*常用的程序设计语言实现的方法。*后,我们将简略地描述几个程序设计环境的例子并且讨论这些环境因素对于软件产品的影响。
1.1 学习程序设计语言原理的缘由
学生们会很自然地问,他们如何能够从程序设计语言原理的学习中得益。毕竟在计算机科学领域里,还有其他大量的题材值得花费时间认真学习。下面,是我们认为计算机科学人员通过学习程序设计语言原理能够获得的种种益处。
•增进表达思想的能力。人们普遍认为,我们思维的深度受我们用来进行思想交流的语言以及这种语言的表达能力的影响。对自然语言而言,那些只掌握有限语言的人,其思维的复杂程度,特别是其抽象思维的深度,必然受到局限。换言之,人们对不能口头或笔头描述的事物结构必定很难将其概念化。
程序员在开发软件的过程中也同样受制于这个法则,用来开发软件的程序设计语言制约着程序员能够应用的控制结构、数据结构和数据抽象的类型,因而也制约着他们所能够设计的算法。了解多种程序设计语言的特性,能够使程序员在软件开发的过程中减少这种受限性。程序员可以通过学习新的程序设计语言的结构来拓宽软件开发的思路。
……