Skip to content

Two ways to design software

Something any experienced programmer can agree with:

There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.

  • C.A.R. Hoare, The 1980 ACM Turing Award Lecture


The above quote was new to me and was perfectly quoted in this interesting article on elegant code.

The article is a short read, but insightful and opinionated. I'd have to say I agree with it mostly and definitely thought provoking.

Granted, there are more advanced "best practice" standards that one might mention, but the point stands - "best practices" is not a good excuse for exceeding your development timeline. And taking it a step further, a veteran programmer should know when and, most importantly, how to cut corners, if needed, to meet the deadline.