Martin Karlsson / prog.re

Notes to self


Reinventing the wheel

"Let's not reinvent the wheel" is a saying that means "Let's not waste our resources by creating something that already exists". I'm one of those people that are always inclined to "reinvent the wheel" and here is my defense. The concept of the wheel obviously doesn't need reinventing, however the concept of the wheel is not the wheel. If we look at wheels from their inception maybe 5000-6000 years ago, the concept stays the same: Something round that spins around the center. The actual implementation however changes a lot. We have:

If I somehow lost one of the wheels on my Toyota, I obviously wouldn't try to make my own replacement wheel. There is only one type of wheel that fits and there are factories that makes new ones every day, way better and way cheaper than I ever could. But if I was building a Mars rover I would probably need special wheels that can't be bought off the shelf somewhere. Building software is not like servicing a Toyota. It's more like building a Mars rover. Even if you have done it before, the parameters are never quite the same as the last time and a lot of the parameters are simply unknown.


Get in touch: martin [at] prog.re