Home > Development, Rants, Software > Good Ideas Aren’t Always New

Good Ideas Aren’t Always New

April 21st, 2009 Leave a comment Go to comments

At QCon, Glenn Vanderburg, Michael Feathers and I (there may have been others, as I recall some ESB was involved…) were talking about Mike’s 10 Papers Every Programmer Should Read post (if you haven’t read it, please do so now, I’ll wait. No really, go on.) A lot of programmers aren’t particularly well read, a fact that Mike laments, and we kicked around some theories as to why that is – here’s mine.

Why don’t we look at our past? I believe it has to do with the natural (10 year or so) cycle of language dominance. People who’ve never programmed in language n-1 look at the syntax in a book from, say the early 90s and scoff; they complain that they don’t know that language thus they can’t read the book. I’ve heard more than a few developers dismiss Design Patterns because the code wasn’t in Java, of course Java is starting to wane – a couple of days ago I was researching a book and noticed it had a bunch of negative reviews because the example code was Java!

Many developers are essentially Blub programmers and they can’t imagine life in any other language. Further, they firmly believe that anything that existed before Blub is the modern day equivalent of the Pony Express, antiquated and useless. To some, all the good ideas are new, and we have nothing to learn by studying our past, I suspect many of these people have never seen the mother of all demos (though maybe we have something new to rival that now.) A typical Blub programmer assumes that any book that doesn’t use Blub isn’t worth his time and thus misses out on a wealth of learning. They almost willfully ignore the past which explains some of the reactions to Mike’s post.

I’ve been doing my best to read my way through 10 papers and this afternoon I came to Kent Beck and Ward Cunningham’s A Laboratory For Teaching
Object-Oriented Thinking
. Now, many people assume the whole agile software thing is just a few years old but here we see waaaaaaay back in 1989, a reference to YAGNI and a plug for teamwork:

We stress the importance of creating objects not to meet mythical future needs, but only under the demands of the moment. This ensures that a design contains only as much information as the designer has directly experienced, and avoids premature complexity. Working in teams helps here because a concerned designer can influence team members by suggesting scenarios aimed specifically at suspected weaknesses or omissions.

Great ideas then, a great ideas now. We’re a young industry, one that is further hamstrung by the belief that the language/technology/process du jour is all that plus a bag of chips. We’ve obviously made some huge strides, but in so many ways we’ve barely moved. But for the video quality, Engelbart’s demo could have just as easily been from 1988 or even 1998; sure, we’ve all got a mouse on our desk, but what about that 5 fingered keyboard? Not so much. Heck, every language is just trying to reinvent Lisp, and that’s more than 50 years old! Don’t be afraid of the past, those old guys knew a thing or two. We only hurt ourselves by ignoring the lessons they have to teach us.

Categories: Development, Rants, Software Tags:
  1. September 3rd, 2016 at 04:02 | #1

    yeah indeed it is amazing and yes good ideas arent always new, a little tweak to the old idea will create a new idea.

  2. November 29th, 2016 at 01:48 | #2

    It was right what you say that good ideas are not always new i agree with your thoughts

  3. December 3rd, 2016 at 00:09 | #3

    I enjoyed over read your blog post. Your blog have nice information,
    I got good ideas from this amazing blog.

  4. December 15th, 2016 at 07:17 | #4

    I also agree with your point of view that the great ideas are not always new. I really enjoyed to read the great information about it. Keep sharing it with us.

  5. January 31st, 2017 at 04:51 | #5

    Now we got good promotion for you.

  6. June 22nd, 2017 at 03:18 | #6

    Thanks for sharing

  7. July 22nd, 2017 at 06:47 | #7

    Hi, everything is going sound here and of course every one is sharing information, that’s actually good, keep up writing.

  8. August 2nd, 2017 at 01:34 | #8

    Here in the first paragraph, you can see some short Friendship Quotes from the famous person in the entire world.

  9. September 5th, 2017 at 07:07 | #9

    Immensely imaginative! It is valuable selection and normally written by an different method of writing

  10. September 18th, 2017 at 01:06 | #10

    You don’t have to be dramatic here, but draw readers in by sharing something that’s not well known. Admit that you’ve struggled with dyslexia. Share the hardships that came with divorced parents.

  11. October 4th, 2017 at 06:27 | #11

    Yes to be sure it is stunning and yes beneficial ideas arent generally new, i concur with your musings.

  12. October 14th, 2017 at 02:28 | #12

    I’ve heard more than a couple of engineers expel Design Patterns on the grounds that the code wasn’t in Java, obviously Java is beginning to disappear – several days prior I was investigating a book and saw it had a cluster of negative surveys in light of the fact that the case code was Java!

  13. October 18th, 2017 at 00:43 | #13

    Many developers are basically Blub programmers and they are able to’t consider lifestyles in some other language. Further, they firmly agree with that anything that existed before Blub is the current day equal of the Pony Express, antiquated and vain.

  1. No trackbacks yet.