An interesting observation

David B. Held dheld at codelogicconsulting.com
Fri Nov 9 01:53:03 PST 2007


Derek Parnell wrote:
> [...]
> The moral of the story : the better programs are those that are truly
> useful rather than those that deliver what engineers believe would be
> useful, no matter how 'superior' those programs might be.

And I think the metamoral of the story is that programmers tend to 
overgeneralize because that makes problems more interesting and 
challenging and elegant, when most of the the time the generalizations 
aren't used.  Like the human brain, a good programming language is one 
that has a lot of specific tools that do their job well, rather than one 
big generic tool that looks like a hammer and expects everything to look 
like specializations of a nail.

The tendency to generalize is quite natural and is part of what makes a 
programmer a good thinker.  It's the ability to abstract away detail and 
find the commonality in a structure.  The problem is when it goes too 
far, and important details are sacrificed on the altar of elegance, 
which turns out to be an illusion anyway.

This is why academic languages tend to not be successful.  They are good 
at being elegant, but not so good at being useful.  You rarely use 
pieces of art to dig a ditch or frame a house, because most of it 
couldn't stand up to the work.

Dave



More information about the Digitalmars-d mailing list