Most active commenters
  • ternaryoperator(4)

←back to thread

1070 points dondraper36 | 24 comments | | HN request time: 1.36s | source | bottom
1. ternaryoperator ◴[] No.45069018[source]
It's a shame he doesn't give the origin of this expression in programming. It comes from Ward Cunningham (inventor of the wiki) in his work with Kent Beck. In an interview a few years back on Dr. Dobb's, he stated that as the two of them were coding together in the late 80s, they would regularly remind each other of the principle. Eventually, it became a staple of their talks and writing.

They were cognizant of the limitations that are touched on in this article. The example they gave was of coming to a closed door. The simplest thing might be to turn the handle. But if the door is locked, then the simplest thing might be to find the key. But if you know the key is lost, the simplest thing might be to break down the door, and so on. Finding the simplest thing is not always simple, as the article states

IIRC, they were aware that this approach would leave a patchwork of technical debt (a term coined by Cunningham), but the priority on getting code working overrode that concern at least in the short term. This article would have done well to at least touch on the technical debt aspect, IMHO.

replies(9): >>45069607 #>>45069661 #>>45070112 #>>45070489 #>>45071324 #>>45071754 #>>45071867 #>>45072137 #>>45073871 #
2. thefourthchime ◴[] No.45069607[source]
This should be the top comment.
3. jdlshore ◴[] No.45069661[source]
Kent Beck went on to formalize Extreme Programming, which is a collection of practices for allowing simple systems to evolve as requirements change.
replies(2): >>45071584 #>>45073420 #
4. socalgal2 ◴[] No.45070112[source]
> inventor of the wiki

It's interesting you gave that example. Before my first use of a wiki I was on a team that used Lotus Notes and did project organization in a team folder. I loved that Notes would highlight which documents had been updated since the last time I read them.

In the next project, that team used a wiki. It's simpler. But, the fact it didn't tell me which documents had been updated effectively made it useless. People typed new project designs into the wiki but no one saw them since they couldn't, at a glance, know which of the hundreds of pages had been updated since they last read them.

It was too simple

replies(2): >>45071739 #>>45076224 #
5. rsedgwick ◴[] No.45070489[source]
I heard the expression from a colleague who made it his mantra and manifesto, and had no idea who it came from originally! Perhaps the highest honor for an expression's originator is for it to be so ubiquitous that no one knows he said it.
6. bjclark ◴[] No.45071324[source]
I came here to say this! Ward taught me this when I paired with him every day when we worked together. It’s his, dare I say, mantra when starting a new feature.
7. evanmoran ◴[] No.45071584[source]
Here’s the Extreme Programming manifesto from that time. Very similar sentiment from around two decades ago.

http://www.extremeprogramming.org/rules/simple.html

8. avhon1 ◴[] No.45071739[source]
FWIW, showing recent changes is a very common wiki feature.

Here's the page for my local makerspace's wiki, which runs on mediawiki:

https://bloominglabs.org/Special:RecentChanges?hidebots=1&li...

replies(1): >>45072243 #
9. csomar ◴[] No.45071754[source]
> It's a shame he doesn't give the origin of this expression in programming.

It is possible the OP came to this conclusion without knowing about Ward Cunningham?

10. rendaw ◴[] No.45071867[source]
This sounds a lot like the apocryphal Einstein quote

> Everything should be made as simple as possible, but not simpler.

And I found a similar quote from Aquinas

> If a thing can be done adequately by means of one, it is superfluous to do it by means of several; for we observe that nature does not employ two instruments where one suffices

(Aquinas, [BW], p. 129).

replies(2): >>45072049 #>>45079510 #
11. ternaryoperator ◴[] No.45072049[source]
Not apocryphal. The article is referenced and discussed in this interview with Kent Beck[0]. As you see, the link goes directly to Dr. Dobb's--although the page is down. Search for "Cunningham" and the first hit takes you right to the conversation.

[0] https://blogs.oracle.com/javamagazine/post/interview-with-ke...

replies(1): >>45073245 #
12. jbs789 ◴[] No.45072137[source]
Just to add I think the same applies in business and in life. So if you’ve got managers who have this vision and cascade it down then things become easier on the ground / the design.
13. something98 ◴[] No.45072243{3}[source]
A terse diff like that, on a separate page, is probably not what they were referring to.
14. placebo ◴[] No.45073245{3}[source]
Really surprised there in no mention of William of Ockham - you know, the guy that made razors...
replies(2): >>45074989 #>>45079303 #
15. commandersaki ◴[] No.45073420[source]
Yet its maiden project was an abject failure.
16. dewey ◴[] No.45073871[source]
> It's a shame he doesn't give the origin of this expression in programming.

Sometimes better to not assume the worst of people by default. Very easy to not know where something comes from, misremember or come up with something in parallel.

replies(1): >>45079327 #
17. threetonesun ◴[] No.45074989{4}[source]
Ol' Billy Ockham never saw a world with six bladed personal razors though.
replies(1): >>45075894 #
18. nrvn ◴[] No.45075894{5}[source]
To honor the memory of this noble man I am using a single bladed razor.
19. me-vs-cat ◴[] No.45076224[source]
The first wiki by Ward Cunningham included a RecentChanges page from the beginning or very nearly so.

> It was too simple

That happens when you ignore requirements, either because they were outright discarded or because they were never recognized. "The simplest thing possible" is understood to include: "to meet all requirements."

20. alexjm ◴[] No.45079303{4}[source]
Watch out for Occam's Hacksaw: Any complex problem can be made to look simple by hacking away enough parts of it as "not essential", saying you'll handle them in version two.
21. ternaryoperator ◴[] No.45079327[source]
I'm not sure what you're referring to. HN is a site where article pro's and con's are discussed. The comment was respectful and I believe informative.

At no time was anything like the "worst of people" anywhere on the radar.

replies(1): >>45081417 #
22. manoDev ◴[] No.45079510[source]
The Principle of Least Action as well.
23. dewey ◴[] No.45081417{3}[source]
“It’s a shame…” sounds like it’s was done deliberately.
replies(1): >>45088379 #
24. ternaryoperator ◴[] No.45088379{4}[source]
"It's a shame" is an expression of mild disappointment or regret. It makes no statement even by implication about intent.