Newsgroups: bit.listserv.ibm-main
Date:         Wed, 30 Dec 1992 07:30:00 PST
From:         Michael Stein <CSYSMAS@UCLAMVS.BITNET>
Subject:      Re: Is PL/S a dead language?

> In article <IBM-MAIN%92122814293609@RICEVM1.RICE.EDU> Michael Stein
> <CSYSMAS@UCLAMVS.BITNET> writes:
> >Ha!  Exactly backwards.  PL/S allows writing a structure which
> >you *know* the mapping of, while C doesn't (the C mapping depends
>
> Good point. But PL/S only runs on one machine, so there are no
> endianness or word-size issues.

That's a claim that PL/S is consistant with itself (since
only one implementation exists).

I claim the requirement on PL/S is more than that -- PL/S
structures *have* to exactly match assembler DSECTs or else the
operating system won't work.  So it's an external mapping which
PL/S must support, not just self consistancy.  (You couldn't
change the PL/S structure mapping and just recompile everything
and expect the system to work...)

> It would be possible to say that _for any given CPU_ the layout
> of C structures would be well-defined, but the C standard
> cannot do this.

IMHO C should support an additional attribute of a structure
which allows *absolute* structure layouts (hopefully with only
forwards bytes?) where *all* implemetations layout the structure
the same.  This allows exportable binary files as well as binary
network communication.

  "C is Portable? Ha!, It can't even talk to itself on different
   machines..."

> In fact (FLAME ON) IBM should have way back said what C
> compilers on MVS should do, how they should handle the
> record-oriented file system, what the ASCII-to-EBCDIC
> translation routines should be called, then we wouldn't have to
> put up with oddball compilers.

C still wouldn't be compatable with itself across a network...

> Your point about SRBs etc. is a good one. But under an SRB it's
> important to have highly optimised code.

Ouch.  I dislike the term "optimised code".  Most compiler
optimization techinques are designed to undo the pessimizing (?)
introduced by the language straitjacket or compiler code
generation.

As someone said "keep it as simple as possible, but no simpler".

> I use MVS TCP/IP a lot and I think many of its problems (not
> just performance) are due to vast amounts of bloated PL/S in
> the system (IRB, SRB, PC-call etc.) code.

In the MVS TCP/IP case, I think it's just "bloat", the language
doesn't matter (except one of us users might fix some of it if it
wasn't in PL/S or if we had a PL/S compiler).

MVS TCP/IP is not even close to being "as simple as possible".

> Surely not all the assembler wizards at IBM are working on
> VM/CMS?

They may, by and large, have been raised on VM.  Does anyone know
how IBM assembly programmers are trained?  (IBM seems to use VM
internally too much to raise good MVS programmers..)

In my experience, there are lots of good IBM 370/390 programmers
around who do NOT understand the requirements of true
multi-tasking and multi-processor coding.  Not surprising, this
includes (can't be all?) VM systems programmers as well as most
MVS systems programmers.

A flurry of CS/CDS is one of the later signs of a belated
admission that everything doesn't happen sequentially.

There are also people who have managed to get hold of a PL/S
compiler and pretend to be assembler programmers.  The programs
of these people demonstrate that they don't know what the machine
instructions really do...
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU