[OT] Extra time spent

H. S. Teoh via Digitalmars-d digitalmars-d at puremagic.com
Fri May 30 09:25:41 PDT 2014


On Fri, May 30, 2014 at 03:25:59PM +0000, Adam D. Ruppe via Digitalmars-d wrote:
> 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.

That's why I swore off proprietary software many years ago. It's all
nice and good when it works, but when it doesn't, and the vendor has no
motivation to fix it, you're stuck.

Having said that, though, open source projects that are complex enough
and poorly-written enough can effectively be unmodifiable too. You *can*
modify it, but it would take far more effort to identify what needs to
be fixed, than to write the thing from scratch yourself.

Plus, far too often a lot of libraries come bundled with many extra
unnecessary features that you don't need -- which is harmless in and of
itself, but when they in turn depend on other libraries and external
dependencies, then it quickly becomes a case of "yes this library does
what I need, but I'm spending far too much time figuring out how to
compile the parts of it that I don't even use, why not just write the
darn thing myself instead?!".

Worse, sometimes the library *almost* does what you need, but it's
missing feature X (or even more infuriatingly, implements it almost
completely except for that one last bit that you really, *really* need).
This is why I was strongly drawn to D -- its metaprogramming
capabilities allow you to design generic components that are truly
reusable, without needless dependencies and unnecessary specificity that
would limit its reusability. Things like the range API decouple library
code from concrete range types, so that a matrix library can be
implemented without any dependencies on concrete matrix types, for
example. *That* is true reusability.


> 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.

>From my quotes file:

	It is widely believed that reinventing the wheel is a waste of
	time; but I disagree: without wheel reinventers, we would be
	still be stuck with wooden horse-cart wheels.

;-)


T

-- 
Valentine's Day: an occasion for florists to reach into the wallets of
nominal lovers in dire need of being reminded to profess their
hypothetical love for their long-forgotten.


More information about the Digitalmars-d mailing list