Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!henry From: henry@utzoo.UUCP (Henry Spencer) Newsgroups: net.lang.c Subject: Re: Comments on book review - (nf) Message-ID: <3874@utzoo.UUCP> Date: Fri, 18-May-84 16:35:02 EDT Article-I.D.: utzoo.3874 Posted: Fri May 18 16:35:02 1984 Date-Received: Fri, 18-May-84 16:35:02 EDT References: <219@cubsvax.UUCP>, <5700004@ea.UUCP> Organization: U of Toronto Zoology Lines: 46 To rephrase my previous statement: just because personal factors are important does *NOT* mean they are the only important factors. It is an objectively-verifiable fact that some peoples' preferred styles of programming turn out code that is poorer, by almost any realistic measure, than other peoples' preferred styles. It is true that personal factors are important and programmers should have reasonable freedom to work in the way that is most effective for them. This does *NOT* imply that they should have freedom to produce unreadable, unmaintainable swill rather than clean, high-quality code. And some people will do exactly that if you let them. .....You should use whatever method gets the results you need, preferably minimizing over pain to you.... What about minimizing over pain to the other folks who are going to have to maintain your code after you're gone, or maximizing over quality? If I have to go out of my way and undergo pain to meet these objectives, I do. To my mind this is one of the major differences between professional-quality work and junk: concern for issues beyond personal convenience. However, you should consider one thing that nobody seems to have mentioned: what do you want the code for? Is this an "I need it yesterday" program? Is it a program to experiment with a language? Maybe to experiment with a concept? Is it a tool you're going to use and probably modify later? Experiments and quick kludges are often in a different category from production software, but I know of a good many kludges that have been pressed into "production" service because the resources to do them over again, right, weren't available. A professor of mine once commented that quick kludges should be thrown out immediately once they have served their original purpose. Not just marked "do not use", mind you, but physically destroyed. ...........one of the times I worked with a team...................... .......................the other team members weren't capable of choosing an algorithm, and just barely capable of coding it [I got code from team members that wouldn't compile, for Finagle's sake!]. But this is just a case of fitting the programming style to the individual. On the contrary, this is a fine example of what I've been saying. I'm sure some of those people thought their programming was just fine, thank you, and any differences between you and them were all a matter of personal style. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry