Design Concepts in Programming Languages (Hardcover)

Franklyn Turbak, David Gifford

  • 出版商: MIT
  • 出版日期: 2008-07-18
  • 售價: $4,740
  • 貴賓價: 9.5$4,503
  • 語言: 英文
  • 頁數: 1346
  • 裝訂: Hardcover
  • ISBN: 0262201755
  • ISBN-13: 9780262201759
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

商品描述

Choice Outstanding Academic Title, 2009.

Hundreds of programming languages are in use today—scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation. The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as its premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple.

The book presents a set of tools (a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming, state, control, data), static semantics (types, type reconstruction, polymporphism, effects), and pragmatics (compilation, garbage collection). The many examples and exercises offer students opportunities to apply the foundational ideas explained in the text. Specialized topics and code that implements many of the algorithms and compilation methods in the book can be found on the book's Web site, along with such additional material as a section on concurrency and proofs of the theorems in the text. The book is suitable as a text for an introductory graduate or advanced undergraduate programming languages course; it can also serve as a reference for researchers and practitioners.

商品描述(中文翻譯)

《Choice Outstanding Academic Title, 2009》

今日有數百種程式語言在使用中,包括用於網路商務的腳本語言、用於使用者介面的程式設計工具、用於試算表的巨集語言、頁面格式規範語言等等。設計一種程式語言是一種元程式設計活動,與使用常規語言進行程式設計有某些相似之處,但在程式設計中,清晰和簡潔比在普通程式設計中更為重要。這本全面的教材使用一個簡單而簡潔的框架來教授程式語言設計和實現的關鍵思想。該書獨特的方法基於一系列語法簡單的教學性語言,讓學生能夠系統地探索程式語言概念。它的前提和起點是,當語言行為變得極其複雜時,對行為的描述必須極其簡單。

該書介紹了一套工具(數學元語言、抽象語法、操作語義和指示語義),並使用這些工具來探索一套全面的程式語言設計維度,包括動態語義(命名、狀態、控制、數據)、靜態語義(類型、類型重建、多態性、效果)和實用語義(編譯、垃圾回收)。書中的許多例子和練習提供了學生應用教材中解釋的基礎思想的機會。書中還提供了一些專題和實現書中許多算法和編譯方法的代碼,以及有關並發性和文本中定理證明的附加材料。該書適合作為研究生或高年級本科程式語言課程的教材,也可作為研究人員和從業人員的參考資料。