The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 2,513 other followers

Ask yourself: “are you writing a framework now?” – How (not) to write Factorial

Posted by jpluimers on 2011/03/01

On the Development Choas Theory blog, I bumped into a brilliant blog post titled How (not) to write Factorial in Java.

It is not about Java, or any other programming language, platform or library for that matter.

It equally applies to your favourite programming language and framework (be it shell scripts, assembler, .NET, Delphi, haskell, PHP, ruby, Eiffel, Java or any other).

It is about the question that Neal Ford taught me quite a while ago that you should ask yourself several times a day:
“Am I writing a framework now?”

Developing software is about only developing the things you really need to.

Framework development is in a totally different league than developing ‘just’ software.
It requires even more thought, attention, testing, etc.
And after that, you need to support it on a different level too.

Frameworks are far more costly than you would guess at first sight…

So only develop a framework  for something (*) if you observe that it is actually used in a lot of places and requires a framework.

(*) insert what you are currently working on here.


Via:  Development Chaos Theory » Blog Archive » How (not) to write Factorial in Java

6 Responses to “Ask yourself: “are you writing a framework now?” – How (not) to write Factorial”

  1. Warren Postma said

    For anybody who hasn’t read any “framework hell” articles before, I would recommend Benji Smith’s classic:


    • jpluimers said

      That piece is freakin’ brilliant!

      • In fact this kind of contradicts your original thesis:

        It does in *no* way matter if you are “just” building a spice rack or a full blown tool factory. You *always* have to ask yourself (or your team or your users) if you really need all the features you are tempted to implement. This question is probably more easy to answer for a smaller piece of software, than for a larger framework though.

        Clean design matters. Less is more.

        • jpluimers said

          You are totally right with “Clean design matters. Less is more”, but few people understand it that way.
          Somehow, when explaining it in the “framework” way, people do understand it better.

  2. Warren Postma said

    I ask myself a more cynical question: Am I building a hammer, or a hammer factory tool-pattern design inductively coupled parthenogenesis entity?



  3. So true. One should also be aware of the difference between component development and application development.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: