Author Archives: Andrew
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 core vocabulary. However it must also be able to “grow”, integrating new data types and functions, in the form of user code accessed in exactly the same way as core functions.
Steele’s argument is highlighted by the paper’s unique style – he uses a small but growing language himself. He writes using only words of one syllable, gradually adding other words he has defined in these terms.
The paper works at many levels. As well as the fascinating intellectual exercise in style, it makes a strong case for:
- simple but extensible programming languages,
- improving the extensibility of Java, rather than its core vocabulary,
- an agile community process for developing languages, rather than up-front design of great monoliths,
- the communication power of simple language and words.
Steele exhorts us to think about extensibility mechanisms – if we get these right then the core functionality can always grow. And by example, he encourages us to use simple, direct language and benefit from its discipline. On both accounts I agree wholeheartedly.
See
http://homepages.inf.ed.ac.uk/wadler/steele-oopsla98.pdf
I’ve just posted my review of “Real Options”, a book about financial market techniques to put a quantitative value on the benefits of flexibility. Unfortunately I was rather disappointed by the book – read my review to find out why. Continue reading →
Monday, May 2, 2005 in
Reviews
I’ve just posted my reviews of two excellent books by Rob Eastaway and Jeremy Wyndham. “Why Do Buses Come In Threes?” and “How Long is a Piece of String?” The messages of these books are that mathematics is important to Continue reading →
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 →
In Extensibility Points, Gregor Hohpe describes architecture as a guessing game, trying to understand future changes to a business, and designing a system to cater for those changes. He’s written a good article on types of extensibility and where they Continue reading →
In a recent article, Gregor Hohpe asks “Is SOA Like Drunk Driving?” In our attempts to address the shortcomings of component-based development have we “swung too far” and introduced new problems? One recent experience suggests to me that we may Continue reading →
Another good article published in the Microsoft Architecture Journal: If you don’t fully understand what a Weblog (or “Blog”) is, how it works, or what it may mean to you and your business, then this is for you. The first Continue reading →
Thursday, March 17, 2005 in
Thoughts on the World
I’ve recently been catching up on the Microsoft Architecture Journal. This is an occasional MS publication, which can be downloaded from the .NET Architecture Center. It’s got a lot of good articles, with a software architecture and process focus. Of Continue reading →
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 →