Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!labrea!rutgers!rochester!crowl From: crowl@cs.rochester.edu (Lawrence Crowl) Newsgroups: comp.lang.misc,comp.software-eng Subject: Re: Software Technology is NOT Primitive Message-ID: <3784@sol.ARPA> Date: Sun, 1-Nov-87 13:54:03 EST Article-I.D.: sol.3784 Posted: Sun Nov 1 13:54:03 1987 Date-Received: Thu, 5-Nov-87 20:51:43 EST References: <3405@ece-csc.UUCP> <638@its63b.ed.ac.uk> Reply-To: crowl@cs.rochester.edu (Lawrence Crowl) Organization: U of Rochester, CS Dept, Rochester, NY Lines: 38 Xref: mnetor comp.lang.misc:848 comp.software-eng:52 In article <1737@geac.UUCP> daveb@geac.UUCP (Dave Collier-Brown) writes: >In fact, both software and hardware developers have tried to seperately track >user's needs. What they haven't done is track each other, ... I submit that hardware should track the software, which should track the user. >Well, if the library **designer's** language is machine independent, I'll vote >for it. I would like the **implementer's** language to be machine-specific, >even if it has to be assembler.... I do not understand what you are advocating. I can go to the ACM collected algorithms for much of the machine independent library routines I want. I understand the need for a machine-specific language. I call it assembler, and not a high-level language. I'm all for more structured assemblers. Do not expect them to be portable. >Once upon a time the pdp-11 C compiler assumed that the programmer was the >boss. Its error messages basically meant "I don't know how to generate code >for that". Casts were a method of giving hints to the compiler about how to >interpret (generate code for) expressions. This was successful, but has been >compromised as the compilers became less pdp-11 specific. The normal mode of the compiler should not be "do it if you can think of some code to generate for it". Strong typing goes a long way towards ensuring correct code at very little run-time cost. I do not advocate a language in which it is impossible to avoid strong typing, just one in which avoidance is a clearly indicated, special operation. The routine use of casts in C makes for an unsafe programming environment. The reason for covers on electrical panels is so that you do not accidently fry yourself. You can still open the cover, but you must do so explicitly. The C approach is to tack bare wires onto the wall and announce that the competent homeowner will handle them correctly. -- Lawrence Crowl 716-275-9499 University of Rochester crowl@cs.rochester.edu Computer Science Department ...!{allegra,decvax,rutgers}!rochester!crowl Rochester, New York, 14627