Path: utzoo!attcan!uunet!ncrlnk!ncr-sd!hp-sdd!hplabs!hpda!hpcuhc!hpsemc!gph From: gph@hpsemc.HP.COM (Paul Houtz) Newsgroups: comp.unix.questions Subject: Re: Piles of plusses (was Re: comma operator: keep away?) Message-ID: <810044@hpsemc.HP.COM> Date: 26 Apr 89 16:07:33 GMT References: <4325@omepd.UUCP> Organization: HP Technology Access Center, Cupertino, CA Lines: 52 crewman@bucsb.UUCP (JJS) writes: In a business which so sorely "needs professionals", why are we bending over backwards to make our programs easier to read for amateurs? Henry, you were honest enough to state your opinion (and brave,too), so I won't flame you for it. I will as you a question, though: You state that the business needs professionals. How is making your code less readable going to help produce more professionals? An "amateur" is someone who does a job for fun and does not get paid. A professional is someone who gets paid to do a job. A professional basketball player gets paid to play basketball. Now, there is another context to professionalism. A professional is supposedly someone with more responsibility and pride in their work than a non-professional. Most architects work that I have seen is so clearly produced that even a non-architect can understand their output. I think this is a noble goal for a programmer. As an employer, I would consider an engineer or programmer who takes pride in the readability of his code to be a "professional". I really don't think that elegance is as important for it's own sake. If a routine needs to be short (like microcode) and it needs to be fast, then that is part of the task. Now, as far as your opinion about what features to use and what not to use, I agree with you. C should not look like Pascal. If an employer wants C programs to look like Pascal, then he should have is programmers write in Pascal. I don't see anything wrong with using most of the availiable syntax of C, although you must admit that there are certain constructs in many languages that should be avoided, e.g., "goto" type statements should be used as a last resort. I will make a further argument in favor of the proposition that any feature available in a language should be fair game: In COBOL, there is a feature called the ALTER statment that alters the destination of all GO TO statements in a program. This is the sickest feature I have ever seen in a language, and has finally be removed from the COBOL 85 standard. In FORTRAN it is STILL allowed to use variables that have not been declared. This is a practise that should be eliminated from all serious programming languages, due to the ease with which bugs can be created. In fact, there is a famous story about a multi-million dollar space vehicle that went off into the universe due to a bug created by this feature