DSLs in Action![]() Debasish Ghosh MEAP Began: October 2009 Softbound print: Summer 2010 | 375 pages ISBN: 9781935182450 |
|||
| Pre-Order options* | |||
| Order today and start reading DSLs in Action today through MEAP | |||
| MEAP + Ebook only - $27.50 | |||
| MEAP + Print book (includes Ebook) when available - $44.99 | |||
| * For more information, please see the MEAP FAQs page. | |||
| About MEAP Release Date Estimates | |||
Table of Contents, MEAP Chapters & Resources
| Table of Contents | Resources |
|
Part 1 Getting Started with Domain Specific Languages
1. Learning to speak the Language of the Domain - FREE 2. Domain Specific Languages in the Wild - AVAILABLE 3. DSL Driven Application Development - AVAILABLE Part 2 Implementing Domain Specific Languages 4. Internal DSL Implementation Patterns - AVAILABLE 5. Internal DSL Design with Ruby, Groovy and Clojure - AVAILABLE 6. Internal DSL deign with Scala - AVAILABLE 7. External DSL Implementation Artifacts - AVAILABLE 8. Implementing a Real World External DSL in Scala Part 3 Going Forward 9. Future of DSL based development |
|
DESCRIPTION
On any given day, a developer may encounter a system rife with languages, frameworks, and operating environments—none of which resemble the actual domain of the system he's being asked to develop! Success—and sanity—dictate that developers and designers work at higher levels of abstraction so that they can remain focused on the problems they're trying to solve. Domain Specific Languages, "little languages" implemented on top of a conventional programming language, provide a way to maintain the power of the underlying network of technology while writing code that more closely models the domain of the business problem.
DSLs in Action introduces the concepts and definitions a developer needs to build high-quality domain specific languages. It provides a solid foundation to the usage as well as implementation aspects of a DSL, focusing on the necessity of applications speaking the language of the domain. After reading this book, a programmer will be able to design APIs that make better domain models. For experienced developers, the book addresses the intricacies of domain language design without the pain of writing parsers by hand.
The gap in understanding between the development team and the business domain specialists can lead to errors during user acceptance tests. This book teaches developers to build DSLs that bridge this gap by offering API development techniques that closely model the domain vocabulary. Even non-programmer domain experts can benefit from this book by learning how DSLs can make them a more integral part of the team during the program development phase.
The book discusses DSL usage and implementations in the real world based on a suite of JVM languages like Java, Ruby, Scala, and Groovy. It contains code snippets that implement real world DSL designs and discusses the pros and cons of each implementation.
WHAT'S INSIDE
- Working with DSLs in real-life applications
- In-depth techniques of DSL implementation
- Meta-programming techniques
- Parser/Combinator based little languages
- Implementing DSLs on top of the JVM
- Real-world DSL examples
- Interoperability among JVM languages
- Correct level of abstraction for your domain APIs
- DSL and Domain Driven Design
This book is written especially for developers familiar with JVM-based languages, but many of the techniques presented will work in other programming environments as well.
About the Author
Debasish Ghosh, Chief Technology Evangelist at Anshinsoft, is passionate about programming languages and cooperative polyglotism. He has developed systems using multiple JVM languages and has designed DSLs using Java, Ruby, and Scala. Debasish is a senior member of the ACM and an active blogger on programming techniques and languages.
About the Early Access Version
This Early Access version of DSLs in Action enables you to receive new chapters as they are being written. You can also interact with the authors to ask questions, provide feedback and errata, and help shape the final manuscript on the Author Online
Want to learn More?
Sign up to read more content when it is released and to receive news about this book.


