On Bach's Birthday
I'm going to try to express an idea here that struck me this morning when I heard on NPR that Johann Sebastian Bach was born on this date in 1685--give or take a few days due to all that calendar unpleasantness, wot wot. I hope you'll bear with me--I've been turning this over most of the day, but I can't find the words to express myself.
To begin with, I should say that Bach is and always has been my main man, my fave composer, the baddest of the Baroque. YMMV, of course, but I have the utmost respect for him as both a musician and a programmer for his mastery of both counterpoint and symmetry.
I realize I'm already in danger of veering wildly OT here on the DDS, so I'll try to cut right to the chase and describe how this is related to software (I'm going to have to take for granted that the reader knows or will look up the terms)...
Both of these elements of music, to my mind, have stylistic counterparts in programming, and they are both related to each other. Listening to one of Bach's more concise pieces--i.e. selections from the Well-Tempered Clavier, several of the Two and Three-Part Inventions--impresses me the same way as does looking at a well-architected software system.
There is frequently an element of "wheels-within-wheels", an almost fractal quality that permeates the structure. Elements at low levels of detail echo or mimic elements at high levels, and vice versa; a given method has a striking resemblance to the class of which it is a member. You can virtually--and sometimes actually--see the thinking of the programmer as it is molded into the code itself.
A similar idea is the writing technique of paralellism, where repeated syntactical structure lends additional semantic meaning. But that might be tangential to my point. Uh-oh.
I think I'm going to bail out on this before I dig myself in any further. I'll leave the reader to dig up a copy of Hofstadter's Godel, Escher, Bach to prove I'm not completely off my rocker...
Regardless, good code exhibits the best of what made Bach's music last some 300+ years so far. I want every piece of code I write to emulate that quality.
At the same time...
Donna and Andy, I will blog some thoughts about Bach.


Bach is Beautiful
When I read Andy's post, I remembered why I'm a DDS troll. I identify with the nagging feeling of interconnectivity and believe we could pick any random topic and find a way to relate it to software development. Posts like this keep me coming back: unexpected and the antedote to dull.