Alan Kay
I wrote this in a LinkedIn post:
Clever code is very, very rarely a good idea. Product code should be written in such a way that a business user or a customer could almost understand it, if only they knew the programming language. This is why working on a team and reviewing each others’ code and writing code together is a great idea — that way we’re much less likely to introduce some silly, cute “cleverisms” into the code, which are never as good as having that code directly/explicitly express (or “declare”) its business domain purpose. Well, and then of course the sky is the limit as to how well the salient details are expressed at the highest levels of the code, rather than being misguidedly hidden away. I think this is something beginners often miss — they are simply excited to be contributing and producing anything — but even experienced engineers don’t always write code in this way. And the ultimate result of consistently not writing and maintaining code in this way is the breakdown of communication between the business and the technology group. And at that point development must grind to a halt.
Andrew Sheehy responded:
These words are a complete joy to read and show great experience and understanding both of software development, software products and how user needs and value maps to the daily work software engineers do. I think Alan Kay would be happy to give you a gold star!
I found the following links pertaining to Alan Kay:
- Design principles behind Smalltalk
- Early history of Smalltalk
- Clarification about intended meaning of OOP
- Interview with Kay
- Books recommended by Kay
Quoting Alan Kay from the interview above:
The music I like best, composed between 1600 and 1850 or let’s say 1900, is actually music that tried in various ways to have an underlying mathematical approach. It’s usually called tonal harmony, but in fact what that is, is a scheme that in many, many ways is very much like what you put in geometry but it’s just not done with triangles. Any musician who is also a mathematician would know what I’m talking about right away because tonal harmony was an invention and it was a way of simplifying.
Babylonians knew that some triangles obeyed Pythagoras’s Law because they could measure them, and some of them probably suspected that all triangles would obey A-squared plus B-squared = C-squared. But the Greeks were the ones who found out how to show that. Then what they did was show that for that phenomenon there is only one right triangle. So what the Greeks were about was making the many into one.
Almost everything about tonal harmony in music has that. And then what is delightful about the kind of music that I like, is that it didn’t throw out the baby with the bathwater, didn’t throw out the idea of melody, which stems from a completely different source and doesn’t have a particular Newtonian-type theory about it like tonal harmony does. [Composer Henry] Purcell even wrote a great piece called something like “The Dispute Between Melody and Harmony,” or “The Tension Between Melody and Harmony.” That’s what these guys were always working on, always thinking about – how these two systems played out when you combined them simultaneously. And the other thing I think is really important is that the Greeks, and I think all the way up into the Middle Ages, the 1600s, used precisely the same term for math and music. Because to them they were the same thing. And they certainly are to me.