Reinventing the wheel?
We have heard the phrase "reinventing the wheel" a lot of times, but are we sure we are using it properly?
The difference between "reinventing the wheel" and "not using the wheel of a car in a bicycle"
Lately I am working on 3D, VR/AR/MR among others and for making a short demo I have/had to find a way to show 3D models in *.obj file formats fast while knowing what I am doing. Those models are in a text format indeed so it is not that hard, however I have found out that many of the parsers for this thing are either too heavyweight or just not work in my case so I started to "reinvent the wheel". But here I did stop...
Is it "reinventing it" or just "creating a wheel that is known"?
If you study the book of "New Algorithms" and write a Dijkstra... ... some would say you are reinventing the wheel because you are not using some library that you might found - but this is not really reinventing - just "not using the wheel of one car in your car" or if you are lucky: "not using the wheel of a car in a bicycle". I wonder if others have written about these differences, but I thought it could worth a short post ;-)
Of course I like reusability, but the parallel is really wrong and in a way we can learn from it I think - in reality sometimes it would be great to see the other viewpoint that I show here now.
Tags: software-development, reinvent, wheel, philosophy