headerphoto

Why can’t everything be simple?

I enjoy listening to Bach’s Cello Sonatas when I’m coding, surfing the net, or writing.. The album is playing even now. The music has a magical quality and it took me a while to realize what that is. The answer is logic and simplicity. The same basic pattern is repeated multiple times with different embellishments. As I was pondering this, I started thinking about Sha’s paper and controlling complexity with simplicity. Bach would probably have found it very interesting.

 

Sha says “we can exploit the features and performance of complex software even if we cannot verify them, provided we can guarantee the critical requirements with simple software.” Bach’s sonatas are the musical equivalent to this software-related statement. Each has a beautifully simple core melody which is surrounded by increasingly complex variations at each repetition. It is this core that makes the piece work, providing continuity and a firm base on which everything else can rest. The extra pieces are perfectly crafted, but they don’t need to be. I can see a musician improvising on them without breaking the overall structure.

 

The first time I read Sha’s paper, it didn’t quite click. It made sense, but there was something missing. Now, thanks to music written three centuries ago, I can understand it better and hopefully apply the principles in my work.

 

 

 

 

 

Leave a Reply

You must be logged in to post a comment.