Posted
by
Unknown Lameron Wednesday May 16, 2012 @11:57AM
from the life-without-wiki-is-no-life-at-all dept.

CowboyRobot writes "Ward Cunningham developed the first wiki, wrote the Fit test framework, is the co-inventor of CRC cards, and is now promoting the concept of technical debt. He recently won the Dr. Dobb's Excellence in Programming Award and was interviewed by that publication. 'The creator of the Wiki dishes on the Wiki, Wikipedia's policies, OO design, technical debt, CoffeeScript and Perl, how to survive as a veteran programmer, and doing the simplest thing that could possibly work.' Cunningham is given the chance to explain his philosophy of coding: 'I like the picture and I like the look of the code. It's only 40 lines, but every line carried some careful thought. There was a learning curve there that surprised me because the programs looked short. The most rewarding work I've done this year is digging through that code and understanding what it does and understanding what it didn't do, and how to approach the problem.'"

If you're a software developer and you haven't read Ward's Wiki [c2.com], I strongly advise doing so now. It has a lot of content from some very smart people you won't get elsewhere. Primarily it focuses on software design patterns, but even outside of that subject I've learned a lot just by reading random pages there.

This is one of those Zen master questions, the usefulness of application depends on the person answering the question.

For the average worker bee, the simplest thing that could work is copying and pasting code from somewhere else in the project, or from the web. Then stripping out the error handling and anything else that they don't understand.

"Cunningham: Let me close with an example that is close to me today. I was looking to make things move on the screen and I fell upon this d3.js library. It's a nice library with a lot of examples of it doing impressive things. And then the code for those examples is 20, 30, 40 lines. And then I read the introductory material, and it says, here's our philosophy, and I agree with their philosophy. I like the picture and I like the look of

Guessing here that the Venn diagram intersection of people know of Ward Christensen and his contributions and those that would confuse him with someone else because their name is Ward C(Somthing) is small. Very, Very small.

The article didn't cover any of his work with the agile methodology community and his role as one of the three inventors (with Kent Beck and Ron Jeffries) of the eXtreme Programming (XP) methodology and the practices surrounding it (many of which were used in agile methodologies other than XP). To me that's a lot more important than CRC cards.

But, having known Ward for a very long time, I think his most notable contribution is his being a nice guy - humble as well as brilliant, and always willing to share. He is one of the unsung geniuses of the computing world and deserves a lot more attention than he normally gets.

As great as his contribution to Agile development methods, I think the Portland Pattern Repository was more valuable. Not least because it created an online community within which many of the agile techniques were shared, discussed, evaluated and honed.

To me that's a lot more important than CRC cards.

The single most important thing I've ever learned in my career is how to use CRC cards.

I've used them once. Ever. But I use their underlying concepts and the design philosophy behind them every single day. They taught me how to break down a complex system and

I will admit that I was a Smalltalk zealot, and I believed that Smalltalk could be the only language, and I knew about a dozen reasons why, and one of them was that once everybody programmed in Smalltalk, we would all communicate with objects. But that didn't happen. And the day that I gave up on that vision, I said, "You know what, we're all going to communicate with text files. We're all going to go ripping through these text files plundering them for whatever information we can infer from it."
That's when I picked up Perl. And it shocked me, just how well it worked for finding and plundering files because it had those reg exes built in and stuff like that. And it was so fast. It was fast to compile, it was fast to develop, it was fast to run. I could not believe it was so fast. And I know people like to complain about it, but I also thought it showed a tremendous amount of insight. It was insight, and I looked at it and I said, "Who would have thought of making a language like that?" That's when I realized that open source was here to stay. There is no commercial endeavor that ever would have invented Perl.