Article View: comp.lang.misc
Article #4964Re: Software Technology is NOT Primitive
From: Lawrence Crowl
Date: Sun, 01 Nov 1987 18:54
Date: Sun, 01 Nov 1987 18:54
38 lines
2748 bytes
2748 bytes
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
Technical Details
Message-ID:
<3784@sol.ARPA>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!labrea!rutgers!rochester!crowlReferences:
<3405@ece-csc.UUCP> <638@its63b.ed.ac.uk>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!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