Prominent software designer promotes '21st century' techniques

05.11.2010
DSLs (Domain Specific languages), continuous integration, and event sourcing were stressed as key aids for software builders Friday by a dignitary in the agile development space.

In a presentation entitled "Software Design in the 21st Century," Martin Fowler, chief scientist at hailed these concepts at the QCon software development conference in San Francisco. Fowler was a participant in composing the Manifesto for Agile Software Development nearly 10 years ago.

Fowler touted productivity advantages of DSLs. Among DSLs used by developers include Microsoft LINQ (Language Integrated Query), Hibernate, and CSS (Cascading Style Sheets). "A well-chosen domain-specific language can really narrow down behavior of something and allow you to express your intention much better and that is the first and very significant advantage of a domain-specific language." Also, DSLs enable expression of programming activities in a way that non-programmers can understand, Fowler explained.  

With continuous integration, members of a software development team integrate their work frequently. Developers using continuous integration are not discouraged from refactoring to keep code clean, Fowler said. Additionally, the notion of continuous delivery allows developers to get software into production as fast as possible, he said.

Event sourcing, meanwhile, involves storing information about system changes as an event object. A record of changes is maintained. "This is an architectural technique, architectural pattern that I [have] run into quite a lot over my years and it is again one of those things not used as much as I think it ought to be."