Monday, July 9, 2007

The Other Michael Jackson

Once upon a time (1975 to be precise) there was a book written by M.A.Jackson called "Principles of Program Design". This was very influential and I was certainly impressed. It provide elegant design patterns that allowed program code to be developed from problems relating to data structures. It was a small handbook of how to navigate through various data structures, how to merge data structures and how to structure programs so they were easily understandable based on these data structures. It was probably the first book to publish patterns of program code. It was language agnostic so it did not matter whether you programmed in COBOL, Algol, Pascal or Fortran there were examples in your favourite language. I bought this book in its hardback edition and it still has a place on bookshelf.

I was not alone in being an admirer of this book. Jackson founded an whole methodology around his ideas know as Jackson Structured Programming. Yes, he was the original owner of the JSP acronym.

The design patterns are still relevant now, although the concept of multiple co-operating process probably makes the work on merging incompatible data structures less relevant. Today's popular design patterns have a different emphasis but it is important we do not lose the basic techniques that Jackson espoused. The important lesson from this work is the concept of design patterns. There is a pattern which is efficient and intelligible. If everyone sticks to the pattern it is much easier to follow what the program is doing.

Some of the Java EE patterns can be found at
http://java.sun.com/blueprints/patterns/

No comments: