Software Languages: Syntax, Semantics, and Metaprogramming
暫譯: 軟體語言:語法、語義與元程式設計

Ralf Lämmel

  • 出版商: Springer
  • 出版日期: 2018-05-28
  • 售價: $3,240
  • 貴賓價: 9.5$3,078
  • 語言: 英文
  • 頁數: 424
  • 裝訂: Hardcover
  • ISBN: 3319907980
  • ISBN-13: 9783319907987
  • 海外代購書籍(需單獨結帳)

相關主題

商品描述

This book identifies, defines and illustrates the fundamental concepts and engineering techniques relevant to applications of software languages in software development. It presents software languages primarily from a software engineering perspective, i.e., it addresses how to parse, analyze, transform, generate, format, and otherwise process software artifacts in different software languages, as they appear in software development. To this end, it covers a wide range of software languages – most notably programming languages, domain-specific languages, modeling languages, exchange formats, and specifically also language definition languages. Further, different languages are leveraged to illustrate software language engineering concepts and techniques. The functional programming language Haskell dominates the book, while the mainstream programming languages Python and Java are additionally used for illustration.

By doing this, the book collects and organizes scattered knowledge from software language engineering, focusing on application areas such as software analysis (software reverse engineering), software transformation (software re-engineering), software composition (modularity), and domain-specific languages. It is designed as a textbook for independent study as well as for bachelor’s (advanced level) or master’s university courses in Computer Science. An additional website provides complementary material, for example, lecture slides and videos.

This book is a valuable resource for anyone wanting to understand the fundamental concepts and important engineering principles underlying software languages, allowing them to acquire much of the operational intelligence needed for dealing with software languages in software development practice. This is an important skill set for software engineers, as languages are increasingly permeating software development.

商品描述(中文翻譯)

這本書識別、定義並說明與軟體語言在軟體開發中的應用相關的基本概念和工程技術。它主要從軟體工程的角度介紹軟體語言,即探討如何解析、分析、轉換、生成、格式化以及以其他方式處理在軟體開發中出現的不同軟體語言的軟體工件。為此,它涵蓋了廣泛的軟體語言,最顯著的是程式語言、特定領域語言、建模語言、交換格式,以及特別的語言定義語言。此外,還利用不同的語言來說明軟體語言工程的概念和技術。本書以函數式程式語言 Haskell 為主體,同時也使用主流程式語言 Python 和 Java 進行說明。

通過這樣的方式,本書收集並組織了來自軟體語言工程的零散知識,專注於應用領域,如軟體分析(軟體逆向工程)、軟體轉換(軟體再工程)、軟體組合(模組化)和特定領域語言。它被設計為獨立學習的教科書,以及計算機科學學士(進階級別)或碩士大學課程的教材。附加網站提供補充材料,例如講義幻燈片和視頻。

這本書是任何希望理解軟體語言背後基本概念和重要工程原則的人的寶貴資源,使他們能夠獲得在軟體開發實踐中處理軟體語言所需的操作智慧。這是一項對軟體工程師來說非常重要的技能,因為語言在軟體開發中越來越普遍。