Business users doing programming? Charles Simonyi and Henk Kolk presents how Intentional Software offers a radical new software approach that separates business knowledge from software engineering knowledge, which means that business experts can be more innovative and responsive to the changes in the domain.
In this presentation, Jay Fields introduces his concept of Business Natural Languages (BNL). BNLs are a type of Domain Specific Language, designed to be readable by any subject matter expert, which allows to create maintainable specifications and documentation. The example languages are implemented using Ruby.
There is a widespread opinion that a good DSL has to be English-like. Dave Thomas advocates against such approach asserting that DSL are not about getting as close as possible to natural languages and that having this as a guiding principle of DSL design can be rather detrimental. He also highlights what he believes is important in DSL design and provides some examples of successful DSL.
Achieving readability and expressiveness by writing English-like code is one of the trends on the rise in today’s industry. Michael Feathers advocates for considering other alternatives that can be instrumental for improving code expressiveness. He argues that in some circumstances symbolic approach is more appropriate than the narrative one and highlights some trades-offs between them.
Charles Simonyi, the President of Intentional Software and a recent space traveller presents his views on the future of software development. He talks about how to include domain experts in the development cycle by letting them express their intentions in domain specific languages, about Intentional's view on DSLs and Domain Driven Design and about what it was like to be a space tourist.
Software-Engineering Radio, the "Podcast for Professional Software Developers" has published their exclusive interview of InfoQ's own Ruby editor Obie Fernandez about Domain Specific Languages (DSLs) and how Ruby facilitates writing internal DSLs.
InfoQ is proud to present a comprehensive discussion of Ruby's various eval methods, full of rich code examples, by Domain-Specific Languages master Jay Fields.