[TUHS] Another "craft" discussion topic - mindless tool proliferation

Jon Steinhart jon at fourwinds.com
Wed Sep 20 03:01:57 AEST 2017


OK, here's another one that's good for chest thumping...

I am not a fan of texinfo.  It doesn't provide any benefits (to me) over man.

I suppose that it was trailblazing in that it broke manual pages up into
sections that couldn't easily be viewed concurrently long before the www and
web pages that broke things up into multiple pages to make room for more ads.

Any benefits that texinfo might have are completely lost by the introduction
of multiple non-intersecting ways to find documentation.

This is a systemic problem.  I have a section in my book-in-progress where I
talk about being a "good programming citizen".  One of the things that I say
is:

    Often there is a tool that does most of what you need but is lacking
    some feature or other.  Add that feature to the existing tool;
    don't just write a new one.  The problem with writing a new one
    is that, as a tool user, you end up having to learn a lot of tools
    that perform essentially the same function.  It's a waste of time
    an energy.  A good example is the make utility (invented by Stuart
    Feldman at Bell Labs in 1976) that is used to build large software
    packages.  As time went on, new features were needed.  Some were
    added to make, but many other incompatible utilities were created that
    performed similar functions.  Don't create burdens for others.
    Improve existing tools if possible.

A funny example of this is when I was consulting for Xilinx in the late 80s
on a project that had to run on both Suns and PCs.  Naturally, I did the
development on a Sun and ported to the PC later.  When it came time to do
the port, a couple of the employees proudly came to me and told me about
this wonderful program that they wrote that was absolutely necessary for
doing the PC build.  I was completely puzzled and told them that I already
had the PC build complete.  They told me that that couldn't be possible
since I didn't use their wonderful utility.  Turns out that their utility
wrote out all of the make dependencies for the PC.  I, of course, wrote a
.c.obj rule which was all that it took.  They were excessively angry at me
for inadvertently making them look like fools that they were.

Another example is a more recent web-based project on which I was advising.
I'm a big fan of jQuery; it gets the job done.  Someone said "Why are you
using that instead of angular?"  I did a bit of research before answering.
Turns out that one of the main reasons given for angular over jQuery was
that "it's fresh".  That was a new one for me.  Still unclear why freshness
is an attribute that would trump stability.

So, I'm sure that many of you have stories about unnecessary tools and
packages that were created by people unable to RTFM.  Would be amused
to hear 'em.

Jon


More information about the TUHS mailing list