On Friday, 30 May 2014 at 15:09:00 UTC, Chris wrote:
Plus, if there's a bug, you're stuck. I like to re-invent the wheel too, because existing wheels might not be fit for your purpose.

Aye. But I don't like the term "reinvent the wheel" because writing new code isn't really an invention most the time; I often don't create new theoretical concepts, it is just a new instance.

To take the wheel analogy further, inventing it would mean things like figuring out that it needs to be round, figuring out concepts like spokes and tires and inflation etc.

That's not what I'd do if you asked me to get you a wheel. The options there are to buy one off-the-shelf or to go ahead and build one (quite possibly using some or many off-the-shelf components - a few existing library functions here and there - or maybe making my own but using existing molds - e.g. looking up the algorithm on wikipedia but not downloading an existing library).

I already know that round wheels rock and you need to grease the hub and that , say, 27 inches is a pretty good size and 36 spokes is a nice round number. I don't have to do the research that went into figuring all that out.

"Re-inventing the wheel" makes it sound a lot harder than it is. In reality, what we're doing when writing our own libraries is more like "assembling a new wheel from your existing knowledge".

You don't want to ride on a wheel assembled by an idiot, but if an experienced mechanic gave me a wheel she or he build, I'd use it and I'd like it. (indeed experienced mechanics tend to take very good care of their bikes!)

Reply via email to