11th November 2009
Reinventing the wheel – a phrase which means duplicating an existing feature from scratch – is often used in the context that it is unnecessary or inefficient.
I think that in most cases this is true, but I was hesitant to start this post by screaming to never, ever, under any circumstances whatsoever reinvent the wheel, because I think that sometimes it can be necessary or at least justified.
I wrote last week about programmers who make their lives difficult for themselves by doing things the “wrong” way, essentially due to their ignorance or inexperience with whatever they’re doing. For this class of programmers, the saying “Don’t reinvent the wheel” probably sticks.
But there are some situations where it can be beneficial to reinvent the wheel, so long as you know why you’re doing it and it’s for the right reasons:
I am sick and tired of large bloated CMS or blog systems. Wordpress I’m looking at you.
I’ve been a fan of the idea that people who are smarter than you should do their smart work for you. And I tried my best to apply that to the current blogging systems out there. So I said enough is enough. I’ll make my own.
Which is something (ironically) I agree with. By doing so it meant that he had a more efficient and more favourable option than what was already out there.
It’s very easy to feel the need to re-implement something that’s already out there, but make sure that if you do it’s for the right reasons and the end result will have made your extra efforts worthwhile.
[...] developers did this – what was so bad about the native OS X UI? It’s the classic example of reinventing the wheel when it didn’t need it, but which in this case was damaging since the reinvented UI looks pretty [...]