5 ms·
Ward Cunningham: The Simplest Thing that Could Possibly Work
- ynd 17y agoI 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.
- mlLK 17y agoYour 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`
- eru 17y agoOne 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_1403.pdf http://protein.bio.msu.ru/biokhimiya/contents/v69/pdf/bcm_14...)
- eru 17y agoXmonad [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 http://cgi.cse.unsw.edu.au/~dons/blog/2007/05/01
- RiderOfGiraffes 17y agoAll on one page: http://www.artima.com/intv/simplestP.html http://www.artima.com/intv/simplestP.html
- known 17y agoThank you.
- coconutrandom 17y ago...mere act of writing it organized our thoughts So true, I just applied that yesterday.
- stcredzero 17y agoI 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!
- deleted 17y ago[deleted]