搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
程序设计语言原理
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111239512
  • 作      者:
    (美)Robert W. Sebesta著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2008
收藏
编辑推荐
  本书的主旨是为读者提供对现有的和将来的程序设计语言进行客观评价所需要的方法和思路,增强读者学习新语言的能力并理解语言的实现。本书从学习程序设计语言的原因,常用程序设计语言的演化史、评估程序设计语言结构的标准,以及这些语言基本的实现方法开始讲起,通过不局限于特定语言种类地分析语言结构的设计问题,检测设计选择,以及比较设计可选方案来讲述程序设计语言基本原理。本书并非讲授如何使用一门语言,而是讨论语言的结构、特性及其在各种情景中的设计和实现以及如何根据给定的任务选择合适的语言。
  本书特点及新增内容:
  把程序设计语言Python和Ruby融入相关章节。
  修改了关于操作语义的内容。
  新增有关支持Java 5.0和C#2005泛型类的内容。
  涵盖了当代语言(包括C#、Java、javaScript、perl、Python和Ruby等)有趣而重要的特性。
  收录了James Gosling、Larry Wall、Alan Cooper、Bjarne Stroustrup等人的访谈。
  以Prolog语言为例,剖析了逻辑程序设计语言。
  讨论了包括Scheme和ML在内的函数式程序设计语言。
  将面向对象和非面向对象的命令式程序设计结合起来讨论。
  提供了产生现有语言的特定设计选择的历史背景。
展开
作者简介
  Robert W.Sebesta,宾夕法尼亚州立大学获得计算机科学博士,拥有30多年的教授计算机科学课程的经验。目前担任科罗拉多大学科罗拉多斯普林斯分校计算机科学系的副教授、ACM和IEEE计算机学会的会员,主要研究方向是设计和评估程序设计语言、编译器设计以及软件测试方法和工具。
展开
内容介绍
    《程序设计语言原理(原书第8版)》从为什么学习程序设计语言入手,讲解了命令式语言的主要结构及其设计与实现,内容涉及变量、数据类型、表达式和赋值语句、控制语句、子程序、数据抽象机制、支持面向对象程序设计(继承和动态方法绑定)、并发和异常处理等方面。
展开
精彩书摘
  第1章 基本概念
  我们在深入学习程序设计语言原理之前,需要考虑几个基本的概念。首先我们将讲解,为什么计算机科学专业的学生以及专业软件开发人员需要学习语言的设计和评估的一般原理。这种讨论对于那些认为只要有一、两种程序设计语言的工作经验就足够了的计算机科学人员来说,是十分有价值的。接下来,我们将简略描述程序设计的主要范畴。然后,由于本书将评价各种程序设计语言的构成和特性,我们将会列出用于判别程序设计语言优劣的标准。紧接着,我们将讨论两个影响程序设计语言的重要因素,即计算机体系结构以及程序设计方法学。之后,我们将给出程序设计语言的不同分类。再接着,我们将阐述在语言设计中必须考虑的几种主要权衡取舍方法。
  由于本书也叙述程序设计语言的实现,因而我们在这一章中概括了最常用的程序设计语言实现的方法。最后,我们将简略地描述几个程序设计环境的例子并且讨论这些环境因素对于软件产品的影响。
  1.1 学习程序设计语言原理的缘由
  学生们会很自然地问,他们如何能够从程序设计语言原理的学习中得益。毕竟在计算机科学领域里,还有其他大量的题材值得花费时间认真学习。下面,是我们认为计算机科学人员通过学习程序设计语言原理能够获得的种种益处。
  ?增进表达思想的能力。人们普遍认为,我们思维的深度受我们用来进行思想交流的语言以及这种语言的表达能力的影响。对自然语言而言,那些只掌握有限语言的人,其思维的复杂程度,特别是其抽象思维的深度,必然受到局限。换言之,人们对不能口头或笔头描述的事物结构必定很难将其概念化。
  程序员在开发软件的过程中也同样受制于这个法则,用来开发软件的程序设计语言制约着程序员能够应用的控制结构、数据结构和数据抽象的类型,因而也制约着他们所能够设计的算法。了解多种程序设计语言的特性,能够使程序员在软件开发的过程中减少这种受限性。程序员可以通过学习新的程序设计语言的结构来拓宽软件开发的思路。
展开
目录
出版者的话
专家指导委员会
译者序
前言
第1章  基本概念
1.1  学习程序设计语言原理的缘由
l.2  程序设计应用领域
1.3  语言评估标准
1.4  影响语言设计的因素
1.5  语言分类
1.6  语言设计中的权衡
1.7  实现方法
1.8  程序设计环境
小结*复习题*练习题
第2章  主要程序设计语言的发展
2.1  Zuse的Plankalktil语言
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
2.18  脚本语言:JavaScript、PHP、Python和Ruby
2.19  一种基于c的新世纪语言:C#
2.20  标志与程序设计混合式语言
小结*文献注释*复习题*练习题*程序设计
练习题
第3章  描述语法和语义
3.1  概述
3.2  描述语法的普遍问题
3.3  描述语法的形式方法
3.4  属性文法
3.5  描述程序的意义:动态语义
小结*文献注释*复习题*练习题
第4章  词法分析和语法分析
4.1  概述
4.2  词法分析
4.3  语法分析问题
4.4  递归下降语法分析
4.5  自底向上语法分析

小结*复习题*练习题*程序设计练习题
第5章  名字、绑定、类型检测和作用域
5.1  概述
5.2  名字
5.3  变量
5.4  绑定的概念
5.5  类型检测
5.6  强类型化
5.7  类型等价
5.8  作用域
5.9  作用域与生存期
5.10  引用环境
5.11  命名常量
小结*复习题*练习题*程序设计练习题
第6章  数据类型
6.1  概述
6.2  基本数据类型
6.3  字符串类型
6.4  用户定义的序数类型
6.5  数组类型
6.6  关联数组
6.7  记录类型
6.8  联合类型
6.9  指针类型与引用类型
小结*文献注释*复习题*练习题*程序
设计练习题
第7章  表达式与赋值语句
7.1  概述
7.2  算术表达式
7.3  重载操作符
7.4  类型转换
7.5  关系表达式和布尔表达式
7.6  短路求值
7.7  赋值语句
7.8  混合模式赋值
小结*复习题*练习题*程序设计练习题
第8章  语句层次的控制结构
8.1  概述
8.2  选择语句
8.3  循环语句
8.4  无条件分支
8.5  守卫的命令
8.6  结论
小结*复习题*练习题*程序设计练习题
第9章  子程序
9.1  概述
9.2  子程序的基本原理
9.3  子程序的设计问题
9.4  局部引用环境
9.5  参数传递方法

9.6  子程序名作为参数
9.7  重载子程序
9.8  通用子程序
9.9  函数的设计问题
9.10  用户定义的重载操作符
9.11  协同程序
小结*复习题*练习题*程序设计练习题
第10章  实现子程序
10.1  调用与返回的一般语义
10.2  实现“简单”子程序
10.3  实现具有栈动态局部变量的子程序
10.4  嵌套子程序
10.5  块
10.6  实现动态作用域
小结*复习题*练习题
第11章  抽象数据类型和封装结构
11.1  抽象概念
11.2  数据抽象介绍
ll.3  抽象数据类型的设计问题
11.4  语言示例
11.5  有参数的抽象数据类型
11.6  封装结构
11.7  命名封装
小结*复习题*练习题*程序设计练习题
第12章  支持面向对象的程序设计
12.1  概述
12.2  面向对象程序设计
12.3  面向对象语言的设计问题
12.4  Smalltalk对面向对象程序设计的支持
12.5  C++对面向对象程序设计的支持
12.6  Java对面向对象程序设计的支持
12.7  C#对面向对象程序设计的支持
12.8  Ada 95对面向对象程序设计的支持
12.9  Ruby对面向对象程序设计的支持
12.10  JavaScript的对象模型
12.11  面向对象结构的实现
小结*复习题*练习题*程序设计练习题
第13章  并发
13.1  概述
13.2  子程序层次并发的介绍
13.3  信号量
13.4  管程
13.5  消息传递
13.6  Ada对并发的支持
13.7  Java线程
13.8  C#线程
13.9  语句层次的并发
小结*文献注释*复习题*练习题。程序
设计练习题
第14章  异常处理和事件处理

14.1  异常处理慨述
14.2  Ada中的异常处理
14.3  C++中的异常处理
14.4  Java中的异常处理
14.5  事件处理概述
14.6  Java的事件处理
小结*文献注释*复习题*练习题*程序
设计练习题
第15章  函数式程序设计语言
15.1  概述
15.2  数学函数
15.3  函数式程序设计语言的基础
15.4  第一种函数式程序设计语言:LISP
15.5  Scheme概述
15.6  COMMONLISP
15.7  ML
15.8  Haskell
15.9  函数式语言的应用
15.10  函数式语言和命令式语言的比较
小结*文献注释*复习题*练习题*程序
设计练习题
第16章  逻辑程序设计语言
16.1  概述
16.2  谓词演算的简短介绍
16.3  谓词演算与定理证明
16.4  逻辑程序设计概述
16.5  Prolog的起源
16.6  Prolog的基本元素
16.7  Prolog的缺陷
16.8  逻辑程序设计的应用
小结*文献注释*复习题+练习题*程序
设计练习题
参考文献
索引
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证