Usenet group for PL/M language 
Author Message
 Usenet group for PL/M language

Quote:


> > Is PL/M somehow related to C or is the comp.lang.c in the
> > Newsgroups: line completely gratuitous?
> > --
> > "I ran it on my DeathStation 9000 and demons flew out of my nose." --Kaz

> Actually, they are both related indirectly to the "big daddy" of
> algorithmic languages; namely, Algol.  PL/M was based on PL/I which was
> based on Algol.  A lot of people will claim that PL/I is a combination
> of fortran and COBOL (these two names will always be acronyms to me).

In fact, PL/I was derived from Algol, COBOL, and Fortran,
taking and improving on the best features of each of those
languages.

From Algol came block structures and dynamic arrays etc,
from COBOL came data structures, full error control,
record I/O and picture formatting, and from Fortran came formatted I/O
and scientific computation.  It also included, for the first time
in a general ourpose language, list processing facilities.

Quote:
> Mark



Mon, 01 Jul 2002 03:00:00 GMT  
 Usenet group for PL/M language

Quote:



> ...
> >based on Algol.  A lot of people will claim that PL/I is a combination
> >of FORTRAN and COBOL (these two names will always be acronyms to me).

> And on what, pray tell, do you base that notion? FORTRAN and COBOL are
> about as similar as, say, Java and C.

COBOL FORTRAN, and ALGOL were the origins of PL/I.
Yes, they were all dissimilar languages, and at first glance
COBOL and FORTRAN were completely dissimilar languages.
Yet, the best features of both were inclunded in PL/I,
because the designers wanted a language that could be
used in the commercial and scientific areas, and in mixtures,
with the one team of programmers, without
having two disparate programming groups required
for COBOL and for FORTRAN programming.
Quote:
> Moshe Zadka



Mon, 01 Jul 2002 03:00:00 GMT  
 Usenet group for PL/M language
Careful here.

There are two langauges entitled PL/M:

1. The one used internally by IBM to code system software for OS/390 and
predecessors, and which is derived from PL/I. The PLX macroprocessor from VA
PL/I is from that PL/M.

2. The PL/M used by Intel on their "blue boxes". This language bears very
little resemblance to PL/I, the greatest resemblance is the first three
characters in their names.

--
Regards, Mark Yudkin, Yudkin Consulting AG, Authors of Cogent/SQL for MVS,
OS/2 and Windows NT.
The simplest way to publish live data on the World Wide Web.


Quote:


> > > Is PL/M somehow related to C or is the comp.lang.c in the
> > > Newsgroups: line completely gratuitous?
> > > --
> > > "I ran it on my DeathStation 9000 and demons flew out of my
nose." --Kaz

> > Actually, they are both related indirectly to the "big daddy" of
> > algorithmic languages; namely, Algol.  PL/M was based on PL/I which was
> > based on Algol.  A lot of people will claim that PL/I is a combination
> > of FORTRAN and COBOL (these two names will always be acronyms to me).

> In fact, PL/I was derived from Algol, COBOL, and Fortran,
> taking and improving on the best features of each of those
> languages.

> From Algol came block structures and dynamic arrays etc,
> from COBOL came data structures, full error control,
> record I/O and picture formatting, and from Fortran came formatted I/O
> and scientific computation.  It also included, for the first time
> in a general ourpose language, list processing facilities.

> > Mark



Mon, 01 Jul 2002 03:00:00 GMT  
 Usenet group for PL/M language

pop.sttl.uswest.net> writes
Quote:
>And some of the worst features as well.  Implicit declaration of variables
>like Fortran.
>Willy-nilly pointer conversion no matter how absurd [even eclipsing the wild
>abandon of C].
>Nice language though.  It has some really nice data processing features.

Type conversion in language design shows attractive ideas about general
principles going wrong in practice, in a way that teaches quite general
lessons. I believe that the intent of the designers of PL/I was that
anything the programmer wrote that could be given a remotely reasonable
interpretation, would be. This gave rise to some legendary type
conversion pitfalls. C++ learnt from this (Design and Evolution of C++,
11.2.2). Here an overloaded function will be chosen from amongst a
number of alternatives if it is the unique best answer. No unique best
answer => error message. Fewer surprises if your program compiles - but
much time spent working out why the compiler reckons that your program
is ambiguous, or finding that innocent looking additions to header files
make existing code uncompilable. I can imagine the Java designers
learning from this not to be too clever.

The 'try hard to turn whatever the programer wrote into running code'
choice was also taken by its PL/I's contemporary, 'Combined Programming
Language' (CPL), a product of Cambridge and London Universities (CPL
could also mean Cambridge Plus London), which begat Basic Combined
Programming Language (BCPL), which begat B, which begat C, which
begat... C++! CPL was not a roaring success, of course, but I don't know
if type conversion surprises played any part in this. The big
simplification that gave birth to BCPL was that BCPL has only one type
(the bit-pattern, which in practice is the machine word) so there
couldn't have been any direct inheritance via this path. B was also
typeless, so types were only reintroduced in C, and justified on
efficiency grounds, rather than error-checking ability (Section I of
"The C Programming Language" article in the Bell System Technical
Journal). I remember converting C code that used field names defined in
structure A to access fields in variables defined to point to structures
of type B: the very early C language didn't object to this.
--
A. G. McDowell



Mon, 01 Jul 2002 03:00:00 GMT  
 Usenet group for PL/M language

Quote:

> 1. The one used internally by IBM to code system software for OS/390 and
> predecessors, and which is derived from PL/I. The PLX macroprocessor from VA
> PL/I is from that PL/M.

The last I looked, that was "PL/S".  An interesting survival of the old
early-60's design of compiling to assembler.

--
-John W. Kennedy

Compact is becoming contract
Man only earns and pays.  -- Charles Williams



Mon, 01 Jul 2002 03:00:00 GMT  
 Usenet group for PL/M language


[...]

Quote:
>and scientific computation.  It also included, for the first time
>in a general ourpose language, list processing facilities.

Just curious: Were you unaware that Lisp predates PL/I, or do you
exclude it from the group of "general purpose" languages?  If the
latter, what is a "general purpose" language?

Regards,

                          -=Dave
--
Just my (10-010) cents
I can barely speak for myself, so I certainly can't speak for B-Tree.
Change is inevitable.  Progress is not.



Mon, 01 Jul 2002 03:00:00 GMT  
 Usenet group for PL/M language
"PL/S" is pretty old (10 years or more). It's been "PL/X" for quite a while now.

Compiling to Assembler can be useful. For example (it's the only example that
comes to mind), one can imbed macros written in Assembler that were never
rewritten to the newer language (lots of those around). Since the PL/X compiler
has already done lots of optimization (coloring registers, folding, etc),
there's essentially no difference in compiling to Assembler and compiling to
object, except for the need of a (visible) assembly step.

--
James Antognini
IBM Watson Research



Tue, 02 Jul 2002 03:00:00 GMT  
 Usenet group for PL/M language

Quote:

> "PL/S" is pretty old (10 years or more). It's been "PL/X" for quite a while now.

> Compiling to Assembler can be useful. For example (it's the only example that
> comes to mind), one can imbed macros written in Assembler that were never
> rewritten to the newer language (lots of those around). Since the PL/X compiler
> has already done lots of optimization (coloring registers, folding, etc),
> there's essentially no difference in compiling to Assembler and compiling to
> object, except for the need of a (visible) assembly step.

That's why I called it an "interesting example", and not a "stupid" one.

My only criticism of PL/S / PL/X is that if OS/360 had had the
equivalent of LE built in from the start, PL/I could have been used
instead.  But, hey, I can give you _lots_ of a-posteriori criticisms of
OS/360. :-)  (And, yes, I'm old enough to remember why so many bad
things in OS/360 seemed like good ideas at the time.  Except, maybe,
24-bit addressing; _that_ mistake was evident to IBM designers by 1966,
when the 360/64 and /66 were announced.)

--
-John W. Kennedy

Compact is becoming contract
Man only earns and pays.  -- Charles Williams



Tue, 02 Jul 2002 03:00:00 GMT  
 Usenet group for PL/M language

Quote:



> [...]
> >and scientific computation.  It also included, for the first time
> >in a general ourpose language, list processing facilities.

> Just curious: Were you unaware that Lisp predates PL/I, or do you
> exclude it from the group of "general purpose" languages?  If the
> latter, what is a "general purpose" language?

I think it would be fair to say that, at least in the 60's, a "general
purpose" language needed to have binary I/O, and needed to compile to
genuine object code.  Given the then state of the art, neither matrix
inversions nor payroll checks could have been done _practically_ in
LISP.

--
-John W. Kennedy

Compact is becoming contract
Man only earns and pays.  -- Charles Williams



Tue, 02 Jul 2002 03:00:00 GMT  
 Usenet group for PL/M language

Quote:

> There are two langauges entitled PL/M:

> 1. The one used internally by IBM to code system software for OS/390 and
> predecessors, and which is derived from PL/I. The PLX macroprocessor from VA
> PL/I is from that PL/M.

> 2. The PL/M used by Intel on their "blue boxes". This language bears very
> little resemblance to PL/I, the greatest resemblance is the first three
> characters in their names.

The syntax of PL/M is strikingly similar to PL/I. Ecco:
.
Some of PL/M is based on XPL -- in particular, the LITERALLY attribute,
the use of INPUT and OUTPUT built-in functions for performing I/O,
the DO CASE statement, SHL and SHR for left and right shifts, and arrays
starting at element zero.
.
The DO group as implemented in PL/M requires no change to operate in PL/I.
.
The program needs to be wrapped in a procedure (or, the first DO statement
needs to be changed to PROCEDURE).
.
The IF-THEN-ELSE statement needs no change to be compiled in PL/I.
.
The PL/M DECLARE STRUCTURE statement has a direct equivalent in the
DEFINE STRUCTURE statement in PL/I.  Alternatively, the statement can be
translated to a traditional PL/I structure.
.
The PL/M DO CASE statement has an equivalent program structure in PL/I's
SELECT statement.
.
The PL/M built-in functions SHL and SHR have direct PL/I equivalents as
ISRL and ISLL.
.
The BYTE attribute has a direct PL/I equivalent as UNSIGNED FIXED BINARY(7).
.
The ADDRESS attribute has a direct PL/I equivalent as UNSIGNED FIXED BINARY(15);
.
The LITERALLY attribute has an equivalent PL/I construct via the macro
processor.
.
The PL/M DATA attribute has a direct PL/I equivalent VALUE attribute.
Alternatively, PL/I's INITIAL attribute may be used.
.
The PL/M INITIAL attribute is identical with PL/I.
.
The PL/M NOT, AND, OR, and XOR operators have equivalent PL/I operators.
Alternatively the PL/I builtin functions INOT, IAND, IOR, IEOR could be used.
.
The PL/M MOD operator would be replaced by PL/I's MOD built-in function.
.
PL/M's Input and Output operations can be replaced by an equivalent PL/I
READ, WRITE, GET, or PUT statement
.
As for constants, PL/M's binary constant is identical with PL/I's.
PL/I's decimal constant is identical, provided that the suffix 'D' is not used.
PL/I does not have an octal constant, but this could easily be converted by
program, likewise the hexadecimal constant.  Embedded '$' characters would need
to be filtered out.
.
Embedded $ could be edited out; SHL, SHR, LITERALLY, BYTE, ADDRESS could be
handled by simple macro text replacement (see below), or edited via a text
editor:
.
%DECLARE (SHL, SHR, BYTE, ADDRESS, NOT, AND, OR, XOR) CHARACTER;
%SHL = ISLL; %SHR = ISRL; %BYTE = 'UNSIGNED FIXED BINARY (7)';
%ADDRESS = 'UNSIGNED FIXED BINARY (15)';
%NOT = '^'; %AND = '&'; %OR = '|'; %IEOR = '^'; etc
Quote:
> --
> Regards, Mark Yudkin, Yudkin Consulting AG, Authors of Cogent/SQL for MVS,
> OS/2 and Windows NT.
> The simplest way to publish live data on the World Wide Web.



Tue, 02 Jul 2002 03:00:00 GMT  
 Usenet group for PL/M language


Quote:
> "PL/S" is pretty old (10 years or more). It's been "PL/X" for quite a

while now.

"10 years or more" is an understatement.  It existed in the early 70's.

Gunnar Opheim.



Wed, 03 Jul 2002 03:00:00 GMT  
 
 [ 12 post ] 

 Relevant Pages 

1. Derivation of PL/I (was Usenet group for PL/M language)

2. Derivation of PL/I (was Usenet group for PL/M language)

3. Usenet group for PL/M language

4. Usenet group for PL/M language

5. Usenet group for PL/M language

6. Usenet group for PL/M language

7. Number of posts to Usenet language groups

8. How to start a usenet news group ?

9. The BITNET and Usenet Forth Groups

10. VLSI usenet group

11. More usenet usage statistics, by programming language

12. ANN: PL/I for Palm Interest Group

 

 
Powered by phpBB® Forum Software