More from JAOO - Eric Evans on DSL
(JAOO was a few weeks ago now, but still not written all my notes up as I just started on a new project which is always an intense and busy time)
The last session of the DSL track was from Eric Evans of Domain Driven Design fame, in my view one of the very few must read software books. To some extent this session felt like a bit of 'reality check' (my words). Eric spoke about the process of knowledge crunching that happens between the business people and the developers, and that business people are not necessarily very good at abstractions. This reminded me of my question during the Intentional Software session - doesn't this interaction between developers and the business people add value? Eric made the point that this knowledge crunching is how we evolve our languages, can we get unambiguous shared understanding without this process? Eric gave an example to illustrate just how hard it is to get a nice clear abstraction for even well known domains such as date and time. He made the point that these languages require careful design and it is a specialist activity, who are the best people to do this?
For me one key parallel between what Eric spoke about and some of the earlier DSL sessions is the idea of developers becoming language designers which is a (very?) non-trivial task. I wonder if the key here is the ability to evolve these DSL's over time so we can get feedback from the business and make the changes they need quickly. So we make the creation of the DSL easier by using an iterative process, I think this approach is implicit in several of the different techniques for DSL I saw presented at JAOO and it's an idea I find attractive as a firm believer in Agile methodologies.
The last session of the DSL track was from Eric Evans of Domain Driven Design fame, in my view one of the very few must read software books. To some extent this session felt like a bit of 'reality check' (my words). Eric spoke about the process of knowledge crunching that happens between the business people and the developers, and that business people are not necessarily very good at abstractions. This reminded me of my question during the Intentional Software session - doesn't this interaction between developers and the business people add value? Eric made the point that this knowledge crunching is how we evolve our languages, can we get unambiguous shared understanding without this process? Eric gave an example to illustrate just how hard it is to get a nice clear abstraction for even well known domains such as date and time. He made the point that these languages require careful design and it is a specialist activity, who are the best people to do this?
For me one key parallel between what Eric spoke about and some of the earlier DSL sessions is the idea of developers becoming language designers which is a (very?) non-trivial task. I wonder if the key here is the ability to evolve these DSL's over time so we can get feedback from the business and make the changes they need quickly. So we make the creation of the DSL easier by using an iterative process, I think this approach is implicit in several of the different techniques for DSL I saw presented at JAOO and it's an idea I find attractive as a firm believer in Agile methodologies.


0 Comments:
Post a Comment
<< Home