出版時(shí)間:2008-6-1 出版社:機(jī)械工業(yè)出版社 作者:(美)賽巴斯塔(Sebesta,R.W.) 頁(yè)數(shù):514 譯者:張勤,王方矩
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書從為什么學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言入手,深入細(xì)致地講解了命令式語(yǔ)言的主要結(jié)構(gòu)及其設(shè)計(jì)與實(shí)現(xiàn),內(nèi)容涉及變量、數(shù)據(jù)類型、表達(dá)式和賦值語(yǔ)句、控制語(yǔ)句、子程序、數(shù)據(jù)抽象機(jī)制、支持面向?qū)ο蟪绦蛟O(shè)計(jì)(繼承和動(dòng)態(tài)方法綁定)、并發(fā)和異常處理等方面。最后兩章介紹了函數(shù)式程序設(shè)計(jì)語(yǔ)言和邏輯程序設(shè)計(jì)語(yǔ)言。 本書內(nèi)容豐富,剖析透徹,被美國(guó)和加拿大多所高等院校采用作為教材。本書既可用做高等院校計(jì)算機(jī)及相關(guān)專業(yè)本科生程序設(shè)計(jì)語(yǔ)言課程的教材和參考書,也可供程序設(shè)計(jì)人員參考。
作者簡(jiǎn)介
Robert W.Sebesta,賓夕法尼亞州立大學(xué)獲得計(jì)算機(jī)科學(xué)博士,擁有30多年的教授計(jì)算機(jī)科學(xué)課程的經(jīng)驗(yàn)。目前擔(dān)任科羅拉多大學(xué)科羅拉多斯普林斯分校計(jì)算機(jī)科學(xué)系的副教授、ACM和IEEE計(jì)算機(jī)學(xué)會(huì)的會(huì)員,主要研究方向是設(shè)計(jì)和評(píng)估程序設(shè)計(jì)語(yǔ)言、編譯器設(shè)計(jì)以及軟件測(cè)試方法和工具。
書籍目錄
出版者的話專家指導(dǎo)委員會(huì)譯者序前言第1章 基本概念 1.1 學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言原理的緣由 l.2 程序設(shè)計(jì)應(yīng)用領(lǐng)域 1.3 語(yǔ)言評(píng)估標(biāo)準(zhǔn) 1.4 影響語(yǔ)言設(shè)計(jì)的因素 1.5 語(yǔ)言分類 1.6 語(yǔ)言設(shè)計(jì)中的權(quán)衡 1.7 實(shí)現(xiàn)方法 1.8 程序設(shè)計(jì)環(huán)境 小結(jié)*復(fù)習(xí)題*練習(xí)題第2章 主要程序設(shè)計(jì)語(yǔ)言的發(fā)展 2.1 Zuse的Plankalktil語(yǔ)言 2.2 最小硬件的程序設(shè)計(jì):偽代碼 2.3 IBM 704計(jì)算機(jī)與Fortran 2.4 函數(shù)式程序設(shè)計(jì)語(yǔ)言:LISP 2.5 邁向成熟的第一步:ALGOL 60 2.6 商務(wù)記錄計(jì)算機(jī)化:COBOL 2.7 分時(shí)操作的開(kāi)始:BASIC 2.8 用途廣泛的語(yǔ)言:PL/I 2.9 兩種早期的動(dòng)態(tài)語(yǔ)言:APL和SNOBOL 2.10 數(shù)據(jù)抽象的開(kāi)始:SIMuLA 67 2.11 正交性語(yǔ)言的設(shè)計(jì):ALGOL 68 2.12 早期ALGOL系列語(yǔ)言的后代產(chǎn)品 2.13 基于邏輯的程序設(shè)計(jì):Prolog 2.14 歷史上規(guī)模最大的語(yǔ)言設(shè)計(jì):Ada 2.15 面向?qū)ο蟮某绦蛟O(shè)計(jì):Smalltalk 2.16 結(jié)合命令式與面向?qū)ο蟮奶匦裕篊++ 2.17 一種基于命令式的面向?qū)ο笳Z(yǔ)言:Java 2.18 腳本語(yǔ)言:JavaScript、PHP、Python和Ruby 2.19 一種基于c的新世紀(jì)語(yǔ)言:C# 2.20 標(biāo)志與程序設(shè)計(jì)混合式語(yǔ)言 小結(jié)*文獻(xiàn)注釋*復(fù)習(xí)題*練習(xí)題*程序設(shè)計(jì) 練習(xí)題第3章 描述語(yǔ)法和語(yǔ)義 3.1 概述 3.2 描述語(yǔ)法的普遍問(wèn)題 3.3 描述語(yǔ)法的形式方法 3.4 屬性文法 3.5 描述程序的意義:動(dòng)態(tài)語(yǔ)義 小結(jié)*文獻(xiàn)注釋*復(fù)習(xí)題*練習(xí)題第4章 詞法分析和語(yǔ)法分析 4.1 概述 4.2 詞法分析 4.3 語(yǔ)法分析問(wèn)題 4.4 遞歸下降語(yǔ)法分析 4.5 自底向上語(yǔ)法分析 小結(jié)*復(fù)習(xí)題*練習(xí)題*程序設(shè)計(jì)練習(xí)題第5章 名字、綁定、類型檢測(cè)和作用域 5.1 概述 5.2 名字 5.3 變量 5.4 綁定的概念 5.5 類型檢測(cè) 5.6 強(qiáng)類型化 5.7 類型等價(jià) 5.8 作用域 5.9 作用域與生存期 5.10 引用環(huán)境 5.11 命名常量 小結(jié)*復(fù)習(xí)題*練習(xí)題*程序設(shè)計(jì)練習(xí)題第6章 數(shù)據(jù)類型 6.1 概述 6.2 基本數(shù)據(jù)類型 6.3 字符串類型 6.4 用戶定義的序數(shù)類型 6.5 數(shù)組類型 6.6 關(guān)聯(lián)數(shù)組 6.7 記錄類型 6.8 聯(lián)合類型 6.9 指針類型與引用類型 小結(jié)*文獻(xiàn)注釋*復(fù)習(xí)題*練習(xí)題*程序 設(shè)計(jì)練習(xí)題第7章 表達(dá)式與賦值語(yǔ)句 7.1 概述 7.2 算術(shù)表達(dá)式 7.3 重載操作符 7.4 類型轉(zhuǎn)換 7.5 關(guān)系表達(dá)式和布爾表達(dá)式 7.6 短路求值 7.7 賦值語(yǔ)句 7.8 混合模式賦值 小結(jié)*復(fù)習(xí)題*練習(xí)題*程序設(shè)計(jì)練習(xí)題第8章 語(yǔ)句層次的控制結(jié)構(gòu) 8.1 概述 8.2 選擇語(yǔ)句 8.3 循環(huán)語(yǔ)句 8.4 無(wú)條件分支 8.5 守衛(wèi)的命令 8.6 結(jié)論 小結(jié)*復(fù)習(xí)題*練習(xí)題*程序設(shè)計(jì)練習(xí)題第9章 子程序 9.1 概述 9.2 子程序的基本原理 9.3 子程序的設(shè)計(jì)問(wèn)題 9.4 局部引用環(huán)境 9.5 參數(shù)傳遞方法 9.6 子程序名作為參數(shù) 9.7 重載子程序 9.8 通用子程序 9.9 函數(shù)的設(shè)計(jì)問(wèn)題 9.10 用戶定義的重載操作符 9.11 協(xié)同程序 小結(jié)*復(fù)習(xí)題*練習(xí)題*程序設(shè)計(jì)練習(xí)題第10章 實(shí)現(xiàn)子程序 10.1 調(diào)用與返回的一般語(yǔ)義 10.2 實(shí)現(xiàn)“簡(jiǎn)單”子程序 10.3 實(shí)現(xiàn)具有棧動(dòng)態(tài)局部變量的子程序 10.4 嵌套子程序 10.5 塊 10.6 實(shí)現(xiàn)動(dòng)態(tài)作用域 小結(jié)*復(fù)習(xí)題*練習(xí)題第11章 抽象數(shù)據(jù)類型和封裝結(jié)構(gòu) 11.1 抽象概念 11.2 數(shù)據(jù)抽象介紹 ll.3 抽象數(shù)據(jù)類型的設(shè)計(jì)問(wèn)題 11.4 語(yǔ)言示例 11.5 有參數(shù)的抽象數(shù)據(jù)類型 11.6 封裝結(jié)構(gòu) 11.7 命名封裝 小結(jié)*復(fù)習(xí)題*練習(xí)題*程序設(shè)計(jì)練習(xí)題第12章 支持面向?qū)ο蟮某绦蛟O(shè)計(jì) 12.1 概述 12.2 面向?qū)ο蟪绦蛟O(shè)計(jì) 12.3 面向?qū)ο笳Z(yǔ)言的設(shè)計(jì)問(wèn)題 12.4 Smalltalk對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的支持 12.5 C++對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的支持 12.6 Java對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的支持 12.7 C#對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的支持 12.8 Ada 95對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的支持 12.9 Ruby對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的支持 12.10 JavaScript的對(duì)象模型 12.11 面向?qū)ο蠼Y(jié)構(gòu)的實(shí)現(xiàn) 小結(jié)*復(fù)習(xí)題*練習(xí)題*程序設(shè)計(jì)練習(xí)題第13章 并發(fā) 13.1 概述 13.2 子程序?qū)哟尾l(fā)的介紹 13.3 信號(hào)量 13.4 管程 13.5 消息傳遞 13.6 Ada對(duì)并發(fā)的支持 13.7 Java線程 13.8 C#線程 13.9 語(yǔ)句層次的并發(fā) 小結(jié)*文獻(xiàn)注釋*復(fù)習(xí)題*練習(xí)題。程序 設(shè)計(jì)練習(xí)題第14章 異常處理和事件處理 14.1 異常處理慨述 14.2 Ada中的異常處理 14.3 C++中的異常處理 14.4 Java中的異常處理 14.5 事件處理概述 14.6 Java的事件處理 小結(jié)*文獻(xiàn)注釋*復(fù)習(xí)題*練習(xí)題*程序 設(shè)計(jì)練習(xí)題第15章 函數(shù)式程序設(shè)計(jì)語(yǔ)言 15.1 概述 15.2 數(shù)學(xué)函數(shù) 15.3 函數(shù)式程序設(shè)計(jì)語(yǔ)言的基礎(chǔ) 15.4 第一種函數(shù)式程序設(shè)計(jì)語(yǔ)言:LISP 15.5 Scheme概述 15.6 COMMONLISP 15.7 ML 15.8 Haskell 15.9 函數(shù)式語(yǔ)言的應(yīng)用 15.10 函數(shù)式語(yǔ)言和命令式語(yǔ)言的比較 小結(jié)*文獻(xiàn)注釋*復(fù)習(xí)題*練習(xí)題*程序 設(shè)計(jì)練習(xí)題第16章 邏輯程序設(shè)計(jì)語(yǔ)言 16.1 概述 16.2 謂詞演算的簡(jiǎn)短介紹 16.3 謂詞演算與定理證明 16.4 邏輯程序設(shè)計(jì)概述 16.5 Prolog的起源 16.6 Prolog的基本元素 16.7 Prolog的缺陷 16.8 邏輯程序設(shè)計(jì)的應(yīng)用 小結(jié)*文獻(xiàn)注釋*復(fù)習(xí)題+練習(xí)題*程序 設(shè)計(jì)練習(xí)題參考文獻(xiàn)索引
章節(jié)摘錄
第1章 基本概念我們?cè)谏钊雽W(xué)習(xí)程序設(shè)計(jì)語(yǔ)言原理之前,需要考慮幾個(gè)基本的概念。首先我們將講解,為什么計(jì)算機(jī)科學(xué)專業(yè)的學(xué)生以及專業(yè)軟件開(kāi)發(fā)人員需要學(xué)習(xí)語(yǔ)言的設(shè)計(jì)和評(píng)估的一般原理。這種討論對(duì)于那些認(rèn)為只要有一、兩種程序設(shè)計(jì)語(yǔ)言的工作經(jīng)驗(yàn)就足夠了的計(jì)算機(jī)科學(xué)人員來(lái)說(shuō),是十分有價(jià)值的。接下來(lái),我們將簡(jiǎn)略描述程序設(shè)計(jì)的主要范疇。然后,由于本書將評(píng)價(jià)各種程序設(shè)計(jì)語(yǔ)言的構(gòu)成和特性,我們將會(huì)列出用于判別程序設(shè)計(jì)語(yǔ)言優(yōu)劣的標(biāo)準(zhǔn)。緊接著,我們將討論兩個(gè)影響程序設(shè)計(jì)語(yǔ)言的重要因素,即計(jì)算機(jī)體系結(jié)構(gòu)以及程序設(shè)計(jì)方法學(xué)。之后,我們將給出程序設(shè)計(jì)語(yǔ)言的不同分類。再接著,我們將闡述在語(yǔ)言設(shè)計(jì)中必須考慮的幾種主要權(quán)衡取舍方法。由于本書也敘述程序設(shè)計(jì)語(yǔ)言的實(shí)現(xiàn),因而我們?cè)谶@一章中概括了最常用的程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)的方法。最后,我們將簡(jiǎn)略地描述幾個(gè)程序設(shè)計(jì)環(huán)境的例子并且討論這些環(huán)境因素對(duì)于軟件產(chǎn)品的影響。1.1 學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言原理的緣由學(xué)生們會(huì)很自然地問(wèn),他們?nèi)绾文軌驈某绦蛟O(shè)計(jì)語(yǔ)言原理的學(xué)習(xí)中得益。畢竟在計(jì)算機(jī)科學(xué)領(lǐng)域里,還有其他大量的題材值得花費(fèi)時(shí)間認(rèn)真學(xué)習(xí)。下面,是我們認(rèn)為計(jì)算機(jī)科學(xué)人員通過(guò)學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言原理能夠獲得的種種益處。?增進(jìn)表達(dá)思想的能力。人們普遍認(rèn)為,我們思維的深度受我們用來(lái)進(jìn)行思想交流的語(yǔ)言以及這種語(yǔ)言的表達(dá)能力的影響。對(duì)自然語(yǔ)言而言,那些只掌握有限語(yǔ)言的人,其思維的復(fù)雜程度,特別是其抽象思維的深度,必然受到局限。換言之,人們對(duì)不能口頭或筆頭描述的事物結(jié)構(gòu)必定很難將其概念化。
編輯推薦
《程序設(shè)計(jì)語(yǔ)言原理(原書第8版)》由機(jī)械工業(yè)出版社出版?!冻绦蛟O(shè)計(jì)語(yǔ)言原理(原書第8版)》特點(diǎn)及新增內(nèi)容:把程序設(shè)計(jì)語(yǔ)言Python和Ruby融入相關(guān)章節(jié)。修改了關(guān)于操作語(yǔ)義的內(nèi)容。新增有關(guān)支持Java 5.0和C#2005泛型類的內(nèi)容。涵蓋了當(dāng)代語(yǔ)言(包括C#、Java、javaScript、perl、Python和Ruby等)有趣而重要的特性。收錄了James Gosling、Larry Wall、Alan Cooper、Bjarne Stroustrup等人的訪談。以Prolog語(yǔ)言為例,剖析了邏輯程序設(shè)計(jì)語(yǔ)言。討論了包括Scheme和ML在內(nèi)的函數(shù)式程序設(shè)計(jì)語(yǔ)言。將面向?qū)ο蠛头敲嫦驅(qū)ο蟮拿钍匠绦蛟O(shè)計(jì)結(jié)合起來(lái)討論。提供了產(chǎn)生現(xiàn)有語(yǔ)言的特定設(shè)計(jì)選擇的歷史背景。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載