On Sep 15, 2017, at 1:32 AM, tuhs-request(a)minnie.tuhs.org wrote:
From: "Steve Johnson" <scj(a)yaccman.com>
To: "Dan Cross" <crossd(a)gmail.com>, "Bakul Shah"
<bakul(a)bitblocks.com>
Cc: "TUHS main list" <tuhs(a)minnie.tuhs.org>
Subject: Re: [TUHS] really Pottering vs UNIX
Message-ID:
<d92047c5a36c6e72bd694322acb4ff33e3835f9f(a)webmail.yaccman.com>
Content-Type: text/plain; charset="utf-8"
More to do with a sense for quality. Often developed through
experience
(but not just that). I think what we need is a guild system for
programmers/engineers. Being an apprentice of a master craftsman is
essential for learning this "good taste" as you call it.
Back when I was writing FORTRAN, I was
working for a guy with very high standards who read my code and got me
to comment or, more usually, rewrite all the obscure things I did.
He made the point that a good program never dies, and many people
will read it and modify it and try to understand it, and it's almost a
professional duty to make sure that you make this as easy as possible
for them.
When I taught at UCSD I always made it a point to inform the students
that the person who will be maintaining their programs in the future will
all be reformed axe murderers. These nice folks learned C (at the time)
on MS-DOS 3.1 and weren’t as homicidal as they used to be. They would
however be given your home address and phone number in case they
had questions about your code.
It was always good for a laugh and I went on to explain how code outlives
the author and so you should take care to make it easy for someone else
to work on your code.
The other thing I did was to have students give their programs half
way through the project to a randomly chosen (by me) other student.
They were not allowed to assist the recipient and grades were based
on how well the final program met the requirements given at the beginning
of the project. Code quality went way up on the second project compared
to the first.
David