The *ART* of Computer Programming

David Doerschuk doerschu at rex.cs.tulane.edu
Thu Mar 1 02:55:24 AEST 1990


In article <1990Feb26.234217.23251 at aucs.uucp> 861087a at aucs.UUCP (Andreas Pikoulas) writes:
>
>    From Paul Tom's book "Computer Information Systems" page 169
>
>   " Not only do organizations standarize programming languages, they also
>develop coding styles so that programs written by different programmers
>all follow good coding conventions. While SOME consider programming a
>"creative activity", a programmer should be as creative as a bricklayer
>following a blueprint for building a wall on a house. Creative programming
>, like accounting , can only get the user into trouble. "
>
>Please elaborate on this by e-mail. I plan to send your answers to the
> author.
>Andreas Pikoulas| UUCP :{uunet|watmath|utai|garfield}!cs.dal.ca!aucs!861087a

Mr. Tom is describing an old problem and trying to use a sledgehammer to
solve it.  If programming tasks were as simple as he describes; we would
have developed methods for directly mapping the requirements onto finished
code.  There is research going on now directed towards "natural language
compilers", but the problems are significant and (IMHO) not completely
solveable.  *Very* interesting stuff, though.

He (Tom) doesn't define "creative programming"; so I can't comment on
whether I think its bad or not!  Certainly there are constructs and
techniques that should be avoided:  relying on undocumented features
of the OS, self-modifying code, etc. but to relieve programmers of all
creative tasks would seem to be self-defeating...all your most productive
programmers would quit!

Managing programmers and dividing tasks between architects and programmers
is an art/science.  For a somewhat more enlightened and realistic account,
I strongly recommend Frederick P. Brooks' book: "The Mythical Man-month".
Brooks ran the OS/360 project at IBM in the middle 1960's, and his book
describes the things he learned during this mammoth task.  He's a very
smart guy, and his experiences are *highly relevant* to modern programming.

In summary, for what its worth, here's what I think:
1.  Anyone who thinks that programmers involved in a commercial development
    situation should be able to do any damn thing they want is dead wrong.
2.  Anyone who thinks that creativity should be suppressed in ANY employee
    (much less PROGRAMMERS, for god's sake!) is crazy.

Thank's for the bandwidth!  BTW, is Tom's book current?  It sounds dated,
like something from back in the late 60's or early 70's when some of the
big corporate jobs were getting out of hand and a discipline (ANY
discipline!) was being looked for to control the mess.

Dave Doerschuk
doerschu at rex.cs.tulane.edu



More information about the Comp.unix.wizards mailing list