Friday, March 10, 2006

DRY or WET

ServerSide is a great resource to get news on the latest trends in the Java world. It also has a .NET version ( I'm not going to even provide the link to that) that covers the 'other' side of the moon.

In a recent posting about the Wicket framework, I got introduced to the new WET principal.

In response to a 'Does Wicket violate the DRY principle?' question, someone jokingly suggested the WET principal. For those of you who are not familiar with these two principals, DRY stands for 'Don't Repeat Yourself'; the newly suggested WET stands for 'Write Everything Twice'.

Seriously though, what in the world is going on with all these Java Web frameworks? It seems to me the quest for DRY is causing the creation of WAF ('Write Another Framework'). I recently counted fifty-five of them. FIFTY-FIVE! I would tend to think that I would be a bit confusing for the newcomers to the Java world. 'Let me see. Should I write my new web application in Java, using one of the 55 frameworks available, thus spending 7 weeks investigating which one to use.. Or wait....RUBY?'.

I don't know whether the aim is to stay DRY or go WET, what I'm sure of is NAF!

Wednesday, March 08, 2006

What makes a good software system?

Today I read a very good article partly about good programming practices. The article's content is broader than that, but what I got out of it was the latter.

In my opinion, what makes a good system is the coherence of small components that only know how to perform their own task without knowing not much, preferably nothing, about the big system. Similar to the infamous saying attributed to Einstein 'everything should be made as simple as possible, but not one bit simpler', maybe we can postulate 'components should be programmed to be as dumb as possible, but not one bit dumber'.

Another great concept to read about is John Conway's Game of Life. How amazing it is to see complex behaviour arising from a few simple rules.

Along the same lines, you may have also heard of Steven Wolfram's book A New Kind of Science.

Monday, March 06, 2006

Expertise

I read a perfect article about 'how to be an expert' today. And the most notable section of if was this quote from Dr. K. Anders Ericsson:

"For the superior performer the goal isn't just repeating the same thing again and again but achieving higher levels of control over every aspect of their performance. That's why they don't find practice boring. Each practice session they are working on doing something better than they did the last time."

I think what separates good coders from great ones is this little point: Great coders are never happy with what they know and the way they know how to do things.

Thursday, March 02, 2006

Spore

I just watched this video presentation of the video game Spore by Will Wright.

I was quite impressed by it. You can get more information about Spore at their website.