Xref: utzoo comp.lang.c++:2206 comp.lang.c:14573 comp.lang.forth:727 comp.lang.fortran:1598 comp.lang.misc:2304
Path: utzoo!utgpu!watmath!clyde!att!rutgers!uwvax!umn-d-ub!umn-cs!stachour
From: stachour@umn-cs.CS.UMN.EDU (Paul Stachour)
Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.forth,comp.lang.fortran,comp.lang.misc
Subject: Re: Assembly or ....
Keywords: PL/S, SystemsImplementationLanguages
Message-ID: <10335@umn-cs.CS.UMN.EDU>
Date: 6 Dec 88 04:02:29 GMT
References: <1388@aucs.UUCP> <729@convex.UUCP> <1961@crete.cs.glasgow.ac.uk> <6529@june.cs.washington.edu>
Reply-To: stachour@umn-cs.cs.umn.edu (Paul Stachour)
Organization: CSci Dept., University of Minnesota, Mpls.
Lines: 26

In article <6529@june.cs.washington.edu> kolding@uw-june.UUCP (Eric Koldinger) writes:
>
>Ah, but wouldn't that be nice.  Optimizing compilers that could generate
>code as good as we can generate by hand in all cases.  Let me know when
>someone writes one.
>
One of the important parameters is the "size of the program".
When I was working at IBM in the early 1970's, we had an
outstanding "bet" as to whether anyone could outdo the PL/S compiler
on a "non-trivial" program (defined as one that took more than
1K bytes of 360-assembler to write).  We had a number of challenges.
We never lost.  Yes, one could take the compiler-output and find
one thing to optimize by hand, but that was forbidden by the
ground-rules.
  And those who "needed" an instruction or two used "instruction-forms",
such as "CVB(IntVar,PackedStringVar);", whose semantics the compiler
understood (and just generated the CVB + setup if needed).  However,
the win was that the SIL compiler did not have to "dump" its history
for inability to see what the user was doing in this assembly-code block.
  That enabled one to write "everything" in a mid-level-language
designed for systems implementation work [such as the PL/S dialect of PL/I]
(I refuse to call languages of the ilk of "C" high-level), and put
in the one-or-two assemblers that one "really needed".
  To their credit, notice that the designers of Ada allowed the
same style in their language definition; I hope the compiler-writers
and vendors know how to take advantage of it.