I went to the London Turing Lecture given by a very cold-ridden and croaky Donald Knuth; you always know things are going to be interesting when the speaker opens with comments along the lines of 'I got the idea for the format of this lecture from my colleague and friend at Caltech in the 60s; Richard Feynman'. See even the great Donald Knuth can name-drop with the best of them. The format was of a question and answer session where Donald took questions on any subject from the floor and I believe that it will be available to watch as a web-cast; please note that he was very cold-ridden and it's probably not his best 'performance'.
Don for a long time has been talking about Literate Programming and that programs should be written for human beings to read and not just for computers to process; arguing that 'They tend to work more correctly, are easier to change, easier to maintain, and just a pleasure to write and to read'. He is passionate that code can be beautiful and art; funnily enough I feel very similarly about IT infrastructure and I think that is what potentially Cloud can bring to the world of infrastructure.
I'm not sure we can have a 'Literate Infrastructure' but I wonder if we can get to 'Elegant Infrastructure'; I come across infrastructures all the time which make me question the byzantine perversity of infrastructure architects and designers. At times it is like an artist who has decided to throw all the colours in his palette at a canvas with little understanding of aesthetics and form; yes, you can do this but you really have to understand what you are doing and unless you are very good, you will simply produce a mess.
This is why the various block-based infrastructures are potentially so appealing (this is not a discussion as to the merits of vBlock versus Flex-pod versus another-Lego-block) as they restrict the tendencies of techies to throw everything but the kitchen sink at a problem. Yet the most stringent advocate of these infrastructures has to acknowledge that they will not solve every problem and at times, a little subtle complexity is more elegant than adding more and more blocks.
The infrastructures of the future will be simple, understandable but not necessarily devoid of colour and subtlety. Otherwise we'll fall into another trap that Don hates; 'the 90% good enough' trap. Infrastructure needs to be 100% good enough; 90% won't do because 90% will not be easy to manage or understand. I think this is the challenge that the vendors will face as they try to understand what they are selling and creating.
Byzantine I can live with, it’s the baroque architects you’ve really got to watch out for…
I’ve just finished reading “Alex’s Adventures in Numberland” by Alex Bellos which has a chapter on the golden ratio and the many ways it keeps popping up in art, architecture and design. When you read a design or look over what someone has implemented, you can sometimes very quickly determine whether it is ‘nice’ or perhaps a bit skew-wiff. You have to wonder if similar principles of ideal ratio apply in our appreciation of a technical architecture. Certainly, I’ve seen a lot of architectures over the years that you might call ‘discordant’ if moving into musical analogies isn’t a step too far 🙂
London’s lectures are one of the things I miss most about the place. There aren’t many cities where you can find someone smart to go listen to (usually for free) every night of the week. The LSE’s programme is well worth looking at if you get the chance.
It’s an interesting thought to make computer programs easier to read, however surely it throws up a number of issues; there’s the obvious one of complication. Having a simple(ish) instruction set is easier to program to. Second and perhaps more important, the use of (say) English constructs as a programming guide would introduce ambiguities which would be less than desirable. Also, who’s to say English or it’s “American variant” (which is more likely what people would assume) is the best language to use?
I do agree with the elegance stance though for design, because it is usually accompanied by simplicity and the two go hand in hand.
Chris