Category Archives: Code & Development

Domain-Specific Languages

There seems to be quite a lot of activity on the “Domain Specific Language” front at the moment. Martin Fowler published “Language Workbenches: The Killer-App for Domain Specific Languages?”, in which he concludes that the common programming pattern of setting up repeating data structures via either very similar lines of code, or an external configuration file, is actually a DSL. He also republished a paper by Dave Thomas entitled “Design to Accomodate Change” on the related topic of table-driven programming.

However, Martin’s essay goes beyond common programming and data techniques to look at the development of specialist tools which he calls “Language Workbenches”. I’m not completely convinced that we need these in the world of XML and XSD. If you have a defined schema for you XML-based DSL (and aren’t all the many *ML langauges just different DLSs?) then any schema-sensitive editor will provide you with good design and editing support. The leading IDEs (e.g. Visual Studio) all have such a tool built into their core capabilities. Surely we now have a sufficiently sophisticated set of XML-based tools and standards that we have an opportunity to exploit synergies rather than re-inventing the wheel?

See http://www.martinfowler.com/articles/languageWorkbench.html
Posted in Agile & Architecture, Code & Development, Thoughts on the World | Leave a comment

Growing a Language

I’ve just read a wonderful paper by Guy L Steele, “Growing a Language“. He argues strongly that programming languages must be “small”, but able to grow. Such a language will have a relatively simple structure, syntactic rules, and a small Continue reading

Wednesday, May 11, 2005 in Agile & Architecture, Code & Development, Thoughts on the World

Enterprise Integration Patterns

Integration, like other design activities, can benefit from sharing ideas and proven strategies in the form of patterns. An excellent starting point is Gregor Hohpe and Bobby Woolf’s Enterprise Integration Patterns website and book. In my recent work I’ve discovered Continue reading

Friday, March 25, 2005 in Agile & Architecture, Code & Development, Thoughts on the World

Blogger Me!

My blog is now fully live. My Thoughts on the World, and the articles in AgileArchitect.org, are now available via an RSS feed. For the technically inclined, I’ve built my blog using a combination of VB.NET, Active Server Pages, and Continue reading

Monday, March 7, 2005 in Code & Development, Thoughts on the World

A Fast Diff Algorithm

An implementation of a Diff algorithm in VB.NET, with various techniques to improve performance Continue reading

Monday, February 21, 2005 in Code & Development, My Publications, Thoughts on the World

Combining Risk Factors

A simple analytical approach to combine the effects of multiple risk factors Continue reading

Thursday, September 25, 2003 in Agile & Architecture, Code & Development, Thoughts on the World