Hacker News new | ask | show | jobs
Ward Cunningham: The Simplest Thing that Could Possibly Work (artima.com)
32 points by ynd 6225 days ago
4 comments

I think that that's a breakthrough, because you are always taught to do as much as you can. Always put checks in. Always look for exceptions. Always handle the most general case. Always give the user the best advice. Always print a meaningful error message. Always this. Always that. You have so many things in the background that you're supposed to do, there's no room left to think. I say, forget all that and ask yourself, "What's the simplest thing that could possibly work?"

This habit of trying to do too much makes me inefficient sometimes. I aim for quality and in the end I just get nothing - but a headache.

Xmonad [1] makes for an interesting example. Through refactoring, writing tests with QuickCheck and sharp thinking the authors found ways to make the paths to simpler design and correctnes lead in the same direction. They used data structures that embodied more domain knowledge. Thus they eliminated the need for many runtime error checks.

[1] See http://cgi.cse.unsw.edu.au/~dons/blog/2007/05/01

Your comment reminded me of this experiment where two groups of elementary students were asked to create a bowl for art class. [or vase or something] (I can't recall the specific object of the experiment)

The first group was prompted to create one bowl with quality in mind. The second group was asked to create a finite number of bowls, for this case lets say 10 bowls, disregarding the quality of each bowl. In the end, the second group's 10th bowl turned out better from an aesthetic standpoint than the first group's single bow.

Qualitative measurements are tricky, which is why I have a hard time listening [or believing] to any expert from any school that constitutes as a `social science`

One hopes for the advent of quantitative social sciences. Hey, even the biologists are starting to employ math. (They call it systems biology.)

See for example "Can a Biologist Fix a Radio?" (http://protein.bio.msu.ru/biokhimiya/contents/v69/pdf/bcm_14...)

Thank you.

  ...mere act of writing it organized our thoughts
So true, I just applied that yesterday.
I actually enjoy complexity that's empowering. If it challenges me, the complexity is very pleasant. But sometimes I must deal with complexity that's disempowering. The effort I invest to understand that complexity is tedious work. It doesn't add anything to my abilities.

All those who design and maintain programming languages, libraries, and frameworks, heed this man's words!