Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 Apollo; site apollo.UUCP Path: utzoo!linus!decvax!wivax!apollo!alan From: alan@apollo.UUCP (Alan Lehotsky) Newsgroups: net.lang Subject: Re: Superstition in Programmers Message-ID: <224@apollo.UUCP> Date: Mon, 9-Jan-84 10:37:15 EST Article-I.D.: apollo.224 Posted: Mon Jan 9 10:37:15 1984 Date-Received: Tue, 10-Jan-84 00:37:53 EST References: <448@bbncca.ARPA> Organization: Apollo Computer, Chelmsford, Mass. Lines: 20 ------------- On the subject of "down-counting" and comparisons such as "x<0" versus "x=-1", a good compiler would analyze what you did and write the optimal tests in many situations. I say this, because VAX-11 BLISS does exactly this trick. This kind of thing is exactly what I have against C, in that it is a language for optimizing programmers; in that it encourages the programmer to have a model of the machine which supports such notions as auto-increment and decrement (which may not have hardware support!), user-declared REGISTERs, rather than just letting the compiler figure out what the best things in registers would be, etc... BLISS allowed you to do all these things, if you were either PERVERSE, or actually smarter than the compiler. It's just that you got good code EVEN when you didn't have intimate knowledge of the machine architecture. And furthermore, when you recompiled using BLISS-36 (for the DEC-10) or BLISS-16 (for the PDP-11), you still got good code!