(^10) 97 Things Every Programmer Should Know
Beauty Is in Simplicity .............................
Jørn Ølmheim
THERE iS ONE qUOTE, from Plato, that I think is particularly good for all
software developers to know and keep close to their hearts:
Beauty of style and harmony and grace and good rhythm depends on simplicity.
In one sentence, this sums up the values that we as software developers should
aspire to.
There are a number of things we strive for in our code:
- Readability
- Maintainability
- Speed of development
- The elusive quality of beauty
Plato is telling us that the enabling factor for all of these qualities is simplicity.
What is beautiful code? This is potentially a very subjective question. Per-
ception of beauty depends heavily on individual background, just as much
of our perception of anything depends on our background. People educated
in the arts have a different perception of (or at least approach to) beauty
than people educated in the sciences. Arts majors tend to approach beauty in
software by comparing software to works of art, while science majors tend to
talk about symmetry and the golden ratio, trying to reduce things to formulae.
In my experience, simplicity is the foundation of most of the arguments from
both sides.