翻译连载: 第0篇 计算机编程的结构与解释 译者的序言



计算机编程的结构与解释,这是一本美国的大学教材。几年前我就译了一部分,今年又接着译下来。
计算机的理论与实践的结合十分紧密的学科。国内的教材,像参考书,或者是某某使用指南似的,
罗列了知识点。如果会了这种知识,去查找相关的知识,是有益的。如果让学生入门,是不容易的。

计算机编程的结构与解释以实践为主线,在其中穿插了算法分析,数据结构,编译原理,汇编语言,
门电路逻辑等相关的编程理论内容。让我们能够了解这些课程的意义所在,有了需求才能推动产生相关的技术。

计算机是数学世界与物理世界的桥梁。数学的思想是计算机的灵魂,物理的法则是计算机的身体的构建的基础。
现代的计算机,比喻成人体,那么晶体三极管就是它的细胞。三极管是固体物理学的产物。它构成了门电路,实现了
数学中,计算的基本单位,门逻辑。数学与物理学在三极管的连接下,连接在一起,使我们能在数学的虚拟世界下,
看到了来自于物理学的真实世界。

下面说一下本书的主题,编程的方法学。计算机的编程离不开数学的思想。数学的本质特征是抽象性。
编程的根本方法也就是抽象的方法。在抽象方法之中,有它的三板斧,即程序抽象,数据抽象,语言抽象。

第一。程序抽象,它体现在几乎所有的编程语言之中,在汇编语言中,就有了子程序的概念与实践。在高级编程语言中,例如C语言,就可以以指针的方式,实现函数式的编程,即函数可以被命名并引用,它可以存在函数参数中,程序体中,返回值中,数据结构之中,即函数是编程的代码中的第一等公民。函数式编程就是程序抽象的最大化的体现。

第二。数据抽象,各种抽象的数据结构就是数据抽象的应用。线性表,树和图,都是直接对现实世界的模拟。
最近,如日中天的面对对象编程,就是数据抽象的最好的体现。

第三。语言抽象,就是在通用化的语言内容嵌入了领域专用语言,例如CSS,SQL等,如火如荼的编程语言的框架,实质上也就是语言抽象。因为对框架的使用,以编写配置文件或者是注解标签的方式进行,而配置文件的格式是XML或者是JSON,它们都是微型的编程语言。

这三个抽象对应着书中的第一,第二,第四,这三章内容。对于程序是如何运行的,理解这一点是很重要的。
所以1.1.5的替换模型(应该是比较简单的)和第三章的环境模型(很重要,这也是理解编译器的基础)
都是必须要很好地理解的。第五章,让我们理解汇编语言,机器语言等,对于创建模拟器程序,是功不可没的。

这本书细读过之后,让我们忘记了编程语言之争,因为没有实质性的意义。摆脱了编程语言的语法细节的纠缠,理解与掌握了编程的核心方法与原理。甚至可以创建属于自己的更好的编程语言。 未来是光明的,属于每个人。

猜你喜欢

转载自blog.csdn.net/gggwfn1982/article/details/80622970