tag:blogger.com,1999:blog-4123173409120259026.post6956235775780238684..comments2007-06-09T12:07:24.124-04:00Comments on Software Architecture: Ridiculous Simiplicity (#2)Brian Sondergaardhttp://www.blogger.com/profile/02714290965708039030noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-4123173409120259026.post-754938518965235532007-06-09T12:07:00.000-04:002007-06-09T12:07:00.000-04:002007-06-09T12:07:00.000-04:00For years I've had as one of my email .sigs, "The ...For years I've had as one of my email .sigs, "The best way to have fewer bugs is to implement less code." (Ron Jeffries) Also, a classic Blaise Pascal quote seems fitting here; "I have made this letter longer than usual, because I lack the time to<BR/>make it short."<BR/><BR/>Sadly, many developers and architects seem to think more, bigger, more complex code is somehow better. I've seen time, and time, and time again, in the name of the almighty "code reuse" windmill, frameworks that get written and are fundamentally hard to use. People will write 100k of framework code to abstract out 15k of work. And this is better because it "...provides a consistent interface...". Blah. It also provides a PROPRIETARY interface that requires training and teaching, whereas what you are abstracting away is understood by most everyone. (Huge data access layers on top of Hibernate, for example.)<BR/><BR/>Indeed the apparent paradigm of J2EE supports this - all these frameworks that do not even the simplest thing without gobs and gobs of XML.<BR/><BR/>I think the Java space at least is partially moving away from that - backlashes to config-heavy frameworks (struts, JSF, [almost every other J2EE "standard"]) in favor of lighter approaches (Wicket, Stripes, Spring (even Spring is reducing its config!)). <BR/><BR/>Rails and the whole "opininated" software idea has pushed a lot of this; do one thing really really well, and allow the user to config other things as they need.MChttp://www.blogger.com/profile/15025907481819573844noreply@blogger.com