Domain-Specific Languages with Martin Fowler
ฝัง
- เผยแพร่เมื่อ 14 ส.ค. 2012
- Martin Fowler discusses his book, Domain Specific Languages: www.informit.com/store/domain-...
The book provides developers with the knowledge they need to make important decisions about DSLs-and, where appropriate, gain the significant technical and business benefits they offer.
When carefully selected and used, Domain-Specific Languages (DSLs) may simplify complex code, promote effective communication with customers, improve productivity, and unclog development bottlenecks. In Domain-Specific Languages, noted software development expert Martin Fowler first provides the information software professionals need to decide if and when to utilize DSLs. Then, where DSLs prove suitable, Fowler presents effective techniques for building them, and guides software engineers in choosing the right approaches for their applications.
This book's techniques may be utilized with most modern object-oriented languages; the author provides numerous examples in Java and C#, as well as selected examples in Ruby. Wherever possible, chapters are organized to be self-standing, and most reference topics are presented in a familiar patterns format.
Armed with this wide-ranging book, developers will have the knowledge they need to make important decisions about DSLs-and, where appropriate, gain the significant technical and business benefits they offer.
The topics covered include:
• How DSLs compare to frameworks and libraries, and when those alternatives are sufficient
• Using parsers and parser generators, and parsing external DSLs
• Understanding, comparing, and choosing DSL language constructs
• Determining whether to use code generation, and comparing code generation strategies
• Previewing new language workbench tools for creating DSLs
Table of Contents
Preface xix
Part I: Narratives 1
Chapter 1: An Introductory Example 3
Gothic Security 3
The State Machine Model 5
Programming Miss Grant's Controller 9
Languages and Semantic Model 16
Using Code Generation 19
Using Language Workbenches 22
Visualization 24
Chapter 2: Using Domain-Specific Languages 27
Defining Domain-Specific Languages 27
Why Use a DSL? 33
Problems with DSLs 36
Wider Language Processing 39
DSL Lifecycle 40
What Makes a Good DSL Design? 42
Chapter 3: Implementing DSLs 43
Architecture of DSL Processing 43
The Workings of a Parser 47
Grammars, Syntax, and Semantics 49
Parsing Data 50
Macros 52
Click here for a complete TOC: www.informit.com/store/domain-...
Thanks for sharing! Working on my own DSL for Minecraft and its great to have these resources
Your discomfort was not at all obvious to me! LOL.
Thanks. It's nice to be able to put a face behind the books.
Thanks for all the thinking.
"That quote can't be any worse than fashions at that time" take my upvote!!
Great explanation and I love your book!
This was great! Do consider making another one.
IT WAS SOOOOO USEFUL TO ME!
THANK YOU VERY MUCH!
KEEP MAKING VIDEOS!
That was a very useful video!
That was beautifully explained
Both ATOLL and subsequent GOAL appear to be early DSL implementations by NASA. They were used for pre-flight verification of Saturn V and Shuttle launch vehicles respectively.
very usefull, thanks
Thank you💕🤜🤛
Thanks
Dr. David Cooper took me here. #curtinkind
here is an actual useful video - does not come with the British accent though (which is all Fowler seems to have brought to this one):
th-cam.com/video/L1dpggNU0zw/w-d-xo.html
"I refer to myself as a loudmouth on software development because I think words like guru are a bit too pretentious"
Way to say you are a guru without saying that you are a guru 😄
But it's OK because we know that he is.