Archive for the 'Application Design and Architecture' Category

So I was browsing around the Cairngorm site this morning and while I was there I happened to look at the RSS feed and saw something entitled “Quoted in “Professional Cairngorm” “. Turns out one of the authors I quoted in my chapter on criticisms of Cairngorm found the quotation in a Google book search. It also turns out that I may not have fully conveyed the intent of the author’s criticisms. As such, I wanted to post a link to the authors post so that you can look at it directly and allow the author to correct anything I may have mis-represented.

Update:
Heard back from the author at the cited post. The issue was not that I misquoted the author in the passages that I cited, but rather I did not convey the full scope of the author’s criticisms of Cairngorm. The passages I quoted focused on criticisms of Singletons (which are one of the major criticism levelled at Cairngorm), but the author has also made criticisms of Cairngorm that go beyond its use of Singletons. You can read the author’s thoughts on Cairngorm and other topics on this blog http://blog.iconara.net.

and I just got through a chapter entitled “The Most Beautiful Code I Never Wrote”. The main idea expressed in this chapter is that a project is not finished when there is nothing more to add, but rather when there is nothing left to take away.

This immediately struck me as true based on my own experience, but perhaps a bit counter intuitive. It is easy to conceptualize a task in terms of what needs to be accomplished (added), but we may often forget that it is equally important to review what has already been done to see what can be improved or refined. Many times the first attempt at a project is just an attempt to get it done (normally under the constraints of an unrealistic deadline). Looking back now, most of my best projects (and most satisfying) are the ones I went back and reviewed and found simpler ways to accomplish what I had done.

In the world of tight deadlines, we do not always get the luxury of doing this, however, the sentiment of nothing left to take away is an important one and should at least be remembered if not always implemented.

Some notable quotes from the chapter:

Simplicity does not precede complexity, it follows it. (Perlis)

Make everything as simple as possible, but no simpler. (Einstein)

A designer knows he has achieved perfections not when there is nothing to add, but when there is nothing left to take away (Saint-Exupery)

And to sign off,

If I had more time, I would have written you a shorter letter. (Pascal)