Posts
58
Comments
103
Trackbacks
10
Frameworks are Hard

Yes, I am stating the obvious here.  Frameworks are hard to build.  Here's an interesting thought about Frameworks vs Tools.

Frameworks are something you code against.  A Unit Test Framework like NUnit, MbUnit, etc are good examples.  You structure your code and the framework calls your code to do stuff.  WinForms and it's related controls are another really good example.  You design the form, and it calls your code to handle the processing.  They key thing here is that it calls you.  You don't call it.

Tools are something you use.  Ado and NHibernate are good examples of tools.  You call them to do things for you (ie.. Persistance).  In their case, you call them whenever you want them to do something for you.

Building a tool is easy.  Building a good framework is hard.  I've seen the terms used interchangeably in a lot of places, but I think this subtle difference can be seen if you look closely.  It's not exactly an earth shattering idea, but it's a cool thought nevertheless.  I'm attempting to build a simple messaging framework at the moment, and the difficulty level is definitely there.  I can say this probably one of the tougher things I've built in quite a while.  Its also one of the most fun.

Here's one last thought.  Tools provide an api for you to call.  Frameworks provide an api for you to implement.  Nuff said.  Now go code something cool.  ;-)

posted on Saturday, June 02, 2007 3:05 PM Print