本書從為什么學習程序設計語言、評估程序設計語言和語言結構的標準、常見的設計權衡以及基本的實現方法開始講起,然后簡略描述了在本書中討論的大部分語言的演化。并且在第3章討論語法和語義,還在第4章為不開設編譯課程的學校新增了詞法和語法分析的內容。本書主要是描述命令式語言的主要結構的設計問題及其實現,涉及變量、數據類型、表達式和賦值語句、控制語句、子程序、數據抽象設施、支持面向對象程序設計的語言特性(繼承和動態(tài)方法綁定)、并發(fā)程序單元和異常處理等內容。在最后兩章描述了函數式程序設計語言和邏輯程序設計語言。本書適用面很廣,既可用作計算機專業(yè)本科生程序設計語言課程的教材,也可用作自學語言的參考書。經驗豐富的計算機工作者也可以用它來更新知識。本書通過陳述各種語言結構的設計問題,分析一些常用語言中這些結構的設計選擇,并比較不同的選擇方案,來描述程序設計語言的基本概念。本書并不教讀者如何使用一種語言,而是討論語言的結構與特征及其在不同語言中的不同設計與實現,以及如何為給定的任務選擇合適的語言。本書所使用的描述方式不但為讀者提供對現有的和將來的程序設計語言進行批判性評估所需的工具,而且可以增強讀者學習新語言和理解語言實現的重要性的能力。本書適合作為計算機專業(yè)本科生程序設計語言原理課程的教材,但對于成熟的程序員,這也是一本深入了解程序設計語言的理想書籍。本書特點:●使用Java、JavaScript、C++。Perl、Ada和Fortran來討論各種語言結構以及設計選擇方案●將面向對象程序設計與非面向對象的命令式語言結合起來討論●提供產生現有語言的特定設計選擇的歷史背景