|
读过这本书吗?
最近在读
读过
想读
还不熟悉
|
图书城书列:
加入到博客或社交网站:
|
|
我来评论这本书:
内容提要:
本书从为什么学习程序设计语言、评估程序设计语言和语言结构的标准、常见的设计权衡以及基本的实现方法开始讲起,然后简略描述了在本书中讨论的大部分语言的演化。并且在第3章讨论语法和语义,还在第4章为不开设编译课程的学校新增了词法和语法分析的内容。本书主要是描述命令式语言的主要结构的设计问题及其实现,涉及变量、数据类型、表达式和赋值语句、控制语句、子程序、数据抽象设施、支持面向对象程序设计的语言特性(继承和动态方法绑定)、并发程序单元和异常处理等内容。在最后两章描述了函数式程序设计语言和逻辑程序设计语言。
本书适用面很广,既可用作计算机专业本科生程序设计语言课程的教材,也可用作自学语言的参考书。经验丰富的计算机工作者也可以用它来更新知识。
作者简介:
Robert W.Sebesta于宾夕法尼亚州立大学获得计算机科学硕士和博士学位,现任科罗拉多大学科罗拉多斯普林斯分校计算机科学系副教授和系主任。他有三十多年的教授计算机科学的经验。他的专业领域和评估程度设计语言、编译器设计及软件测试方法和工具。他是ACM和IEEE计算机学会的成员。
编辑推荐:
本书通过陈述各种语言结构的设计问题,分析一些常用语言中这些结构的设计选择,并比较不同的选择方案,来描述程序设计语言的基本概念。本书并不教读者如何使用一种语言,而是讨论语言的结构与特征及其在不同语言中的不同设计与实现,以及如何为给定的任务选择合适的语言。
本书所使用的描述方式不但为读者提供对现有的和将来的程序设计语言进行批判性评估所需的工具,而且可以增强读者学习新语言和理解语言实现的重要性的能力。
本书适合作为计算机专业本科生程序设计语言原理课程的教材,但对于成熟的程序员,这也是一本深入了解程序设计语言的理想书籍。
本书特点:
●使用Java、JavaScript、C++。Perl、Ada和Fortran来讨论各种语言结构以及设计选择方案
●将面向对象程序设计与非面向对象的命令式语言结合起来讨论
●提供产生现有语言的特定设计选择的历史背景
目录:
出版者的话
专家指导委员会 译者序 前言 第1章 基本概念 1.1 学习程序设计语言原理的缘由 1.2 程序设计领域 1.3 语言评估标准 1.5 语言分类 1.6 语言设计中的权衡 1.7 实现方法 1.8 程序设计环境 本章小结 复习题 练习题 第2章 主要程序设计语言的发展 2.1 Zuse的Plankalk焞语言 2.2 最小硬件的程序设计:伪代码 2.3 IBM 704计算机和FORTRAN 语言 2.4 函数式程序设计:LISP语言 2.5 迈向成熟的第一步: ALGOL 60 2.6 商务记录的计算机化:COBOL 2.7 分时操作的开始:BASIC 2.8 用途广泛的语言:PL/I 2.9 两种早期的动态语言:APL 和 SNOBOL 2.10 数据抽象的开始:SIMULA 67 2.11 正交性语言的设计:ALGOL 68 2.12 ALGOL系列语言的重要后代语言 2.13 基于逻辑的程序设计:Prolog 2.14 历史上最大规模的语言设计:Ada 2.15 面向对象的程序设计:Smalltalk 2.16 结合命令式与面向对象的特性:C++ 2.17 万维网程序设计:Java 本章小结 文献注释 复习题 练习题 第3章 描述语法和语义 3.1 介绍 3.2 描述语法的普遍问题 3.3 描述语法的形式方法 3.4 属性文法 3.5 描述程序的意义:动态语义 本章小结 文献注释 复习题 练习题 第4章 词法分析和语法分析 第5章 名字.c绑定.c类型检测和作用域 第6章 数据类型 第7章 表达式与赋值语句 第8章 语句层次的控制结构 第9章 子程序 第10章 实现子程序 第11章 抽象数据类型 第12章 支持面向对象的程序设计 第13章 并发 第14章 异常处理 第15章 函数式程序设计语言 第16章 逻辑程序设计语言 索引 译者序:
译 者 序
本书由 Robert W. Sebesta 所著,是一本在美国、加拿大广泛使用的大学教材,被用于计算机科学或计算机工程专业二、三年级的程序设计语言课程。这里翻译的是它的第5版。它被多次再版的事实说明了该书受欢迎的程度。一本书的市场价值常常反映出了它在技术上的价值。
计算机科学离不开程序设计语言。在计算机工作者的一生中必然会接触到好几种语言。当一种新的语言问世并被广泛接受时,你必须学习这种语言以更新你的知识。当接手一个新项目时,你必须为它选择一种最合适的语言,也许你还必须为一个项目而专门设计并实现一种新的语言。本书向你提供程序语言方面广泛而又有深度的知识。该书并..
前言:
前 言
本书的目标、结构和方式与先前的四个版本相同。主要的目标是为读者提供对已有的和未来的程序设计语言进行批判性评估所需的工具。另一个目标是为读者学习编译器设计做准备。
第5版是第4版的一个更新版本,其中增加了新的一章描述词法分析和语法分析,还增加了对 JavaScript 的一些有趣的特征描述。还修改了Java 线程的讨论以反映这种语言后来版本中的变化。在许多地方,关于比较老的语言(例如ALGOL 68 和 Modula-2)的材料或者被删除或者用当代的语言(如 C++、Java和 Perl)中的类似材料来替代。
本书通过讨论各种语言结构的设计问题,用某些常用语言检查这些结构的设计选择,以及批判性地..
|