Charles Simonyi, the President of Intentional Software and a recent space traveller presents his views on the future of software development.
Charles talks about how to include domain experts in the development cycle by letting them express their intentions in domain specific languages.
See the whole interview (37 minutes) where Charles describes what Intentional Software is doing, their view of DSLs and Domain Driven Design and also talks a little bit what it was like to be a space tourist.
As an excerpt from the interview, Charles explains how the different domain specific input formats, be it domain code, tables or bubbles and circles, are integrated into the language workbench:
The circles and the bubbles are not in the domain code, they are a projection of the domain code and that’s a very important piece of technology that the domain workbench provides: the projection editor, and in a projection editor the domain can be expressed in a way that is convenient for the computer to process, so it will be an easy input for the generator. It’s very much like it has the power of databases, it uses very strong identities, it’s very strong versioning and all the references between domains and all the strengths that only databases have today and uses do not edit this directly instead the system projects it into the desired notation, any number of desired notations, not just into a single notation, which is also an important aspect. So, by separating how things are stored from how things are looked at what the particular notation is we can essentially have our cake and eat it too. It can have the convenient database for the processing and we can accommodate the kind of notation that was desired by the particular pension expert. And I might add that different pension experts like different and are comfortable with different notations so the change, the evolution of domains is also a very integral part of the system.