


- DOMAIN SPECIFIC LANGUAGES MARTIN FOWLER PDF DOWNLOAD SOFTWARE
- DOMAIN SPECIFIC LANGUAGES MARTIN FOWLER PDF DOWNLOAD CODE
DOMAIN SPECIFIC LANGUAGES MARTIN FOWLER PDF DOWNLOAD CODE
Problems with the example Depends on APIs Code does not match the way the domain is described Still difficult to read and verify ĭSL style Reveal intention better Take advantage of Ruby features Untyped declaration No parenthesis parameter Metaprogramming support i.e. When to justify DSL Repeated need of solutions to particular problems You have a good understanding of problem domain There is a ready-to-use DSL in that domain Or if you have to invent one… What should it look like? Įxample - Coffee Order DSL Starbucks Coffee Order (*) “ Venti half-caf, non-fat, no foam, no whip latte” Traditional Implementation (*) Agile DSL Development in Ruby – Obie Fernandez () LEL – Layout Expression Language layout = ' ' Source: What is DSL? No standard definition Specific vs General depends on point of view VB vs VBA It helps revealing intentions Language that domain experts understand It becomes more and more popular because of tooling support You can apply DSLs to solve your problems You can even create your own DSL! ĭSL Examples Telecom Adhersion Business Natural Language BNL Pattern Matching Regex Object Relational Mapping Hibernate Publishing Postscript Database Manipulation SQL Domain DSLĭSL – Telecom App Framework Adhearsion (open source telecom application framework) + Asterisk (open source telephony platform) What Languages are they? Hello World Hello World Of course – HTML! What Languages are they? IBusinessLogic.* SpringAOP What Languages are they? #include main() AspectJ Mini Game “ What languages are they?” Are they languages for specific domains? From What is DSL? Mini-language to solve specific “domain” problem Why is it important? SQL – Relational Database Manipulation Language Domain specific vs General purpose What constitutes “domain specific” in programming languages?
DOMAIN SPECIFIC LANGUAGES MARTIN FOWLER PDF DOWNLOAD SOFTWARE
Programming Paradigm Shifts Domain Specific Languages Generative Programming Model Driven Architecture (MDA) - OMG Intentional Programming – Charles Simonyi, ex-Microsoft Language Oriented Programming – Sergey Dmitriev, JetBrains (Home of IntelliJ IDEA) Software Factories – Jack Greenfield, Microsoft Who am I? oop guy (Pantip) SweetCorn () Wee () UIUC – Home of Illiac, Transistor, Superconductivity, Mosaic, Paypal, YouTube, Design Patterns, Refactoring Motorola Labs, Schuamburg IL ThoughtWorks Inc., Chicago IL

SweetCorn” ’s NJUG Meeting #3 22 July 2007
