Your success—and sanity—are closer at hand when you work at a higher level of abstraction, allowing your attention to be on the business problem rather than the details of the programming platform. Domain Specific Languages—"little languages" implemented on top of conventional programming languages—give you a way to do this because they model the domain of your 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 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.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
দেবাশিস ঘোষ-এর জন্ম ৪ ডিসেম্বর ১৯৭১, হাওড়ায়। বিজ্ঞানে স্নাতক। স্নাতকোত্তর ডিপ্লোমা জার্নালিজম ও মাস কমিউনিকেশনে। চলচ্চিত্র ও প্রকাশনা বিষয়ে শিক্ষা গ্রহণ করেছেন। প্রথম চাকরি হিন্দুস্থান টাইমসের বিপণন বিভাগে। পরে বিভিন্ন সংবাদপত্র সংস্থায় বিজ্ঞাপনের কাজ। সাংবাদিকতার হাতেখড়ি আনন্দবাজার পত্রিকার হাওড়া ক্রোড়পত্রে। আকাশবাণীর সংবাদ বিভাগে কাজের অভিজ্ঞতাও রয়েছে। ছোটদের জন্য গল্প লিখেছেন আনন্দবাজার পত্রিকার রবিবাসরীয় আনন্দমেলা এবং শুকতারা-য়। আবৃত্তি, ছবি আঁকা, বই পড়া ভালবাসেন।
I was not impressed by this book. There are a lot of instances of 'in the next section we'll talk about X' where the section then turned out to be five lines long. Also one of the appendices really should have been a chapter as halfway through the chapters the author says 'if you haven't read the appendix yet, go and do so now'. Finally I didn't feel I really learned anything from the book. Part of this is due to prior knowledge (and not a fault of the book), but the other part is due to not being able to follow along. At quite a few points the code samples (with sidebar explanations) came before the text of the book which asked you to think about whether you knew the answer to the thing that had already been explained in the sidebar.
All in all, I didn't feel comfortable with on the one hand the level of over-explaining and at other times not explaining enough.
Great book on how to design, implement and use domain specific languages. Author started from common description of DSLs, show different approaches to they building (for both internal, and external DSLs), and provided a lot of examples in different languages (Groovy, Ruby, Clojure, and Scala (his favorite ;-)). So, after reading this book, you'll able to design and create your own DSLs.
P.S. there is also great philosophical appendix on designing "good" programs - it really worth to read it to many peoples.
P.P.S. more detailed review will published in my blog - I need some time to think about this book
This is a review of the early access copy of the book. All the chapters were complete when I read it, though there were noticeable editing mistakes.
What I bought this book for was an understanding of parser combinators in Scala. This book provided the depth I needed to be able to write a min-interpreter for Scheme in Scala. It also covers creating DSLs in Clojure, Java, and Groovy, all languages based on the JVM, as well as creating a parser with ANTLR and writing a DSL in Ruby. I'm sure I'll come back to these topics as the book is packed with example code. A great reference!