Page 1 of 3

Part 37 - Aug 12 2004

Posted: Sat Jan 05, 2019 6:07 am
by admin
#1088 Re: [osFree] The momemdum lost?
Expand Messages

Lynn H. Maxson
Aug 12, 2004
Actually I can't claim credit for the post. That belongs to
Stephan van Loendersloot. However, the post is:

Have a look at the files in the URL below:

ftp://ftp.software.ibm.com/ps/products/pli/demos/

-------- <README.1ST> --------

DEMO/EVALUATION COPIES:

OS/2: Download either PLIOS2TB.ZIP or
PLIOSATB.ZIP and PLIOSBTB.ZIP

Windows: Download PLIWINTB.ZIP

Re: [osFree] The momemdum lost?

Posted: Sat Jan 05, 2019 6:08 am
by admin
#1089 Re: [osFree] The momemdum lost?
Expand Messages

Mark D. Overholser
Aug 12, 2004
Lynn H. Maxson wrote:

> Actually I can't claim credit for the post. That belongs to
> Stephan van Loendersloot. However, the post is:
>
> Have a look at the files in the URL below:
>
> ftp://ftp.software.ibm.com/ps/products/pli/demos/
>
> -------- <README.1ST> --------
>
> DEMO/EVALUATION COPIES:
>
> OS/2: Download either PLIOS2TB.ZIP or
> PLIOSATB.ZIP and PLIOSBTB.ZIP
>
> Windows: Download PLIWINTB.ZIP
>

Thanks, I found it and Got it!!

MarkO

Learning PL/I

Posted: Sat Jan 05, 2019 6:10 am
by admin
#1090 Learning PL/I
Expand Messages

Lynn H. Maxson
Aug 12, 2004
I don't know if a shortcut learning curve exists for PL/I. I used
to teach a three-day, fee-based course to clients with
extensive programming experience. I will keep myself open to
answering questions and offering advice.

First off, you have to understand the simplicity of PL/I rules.

For example, every program element in PL/I is a statement.
Every statement ends in a semi-colon. In place of the curly
braces of C you mark statement groups with statements, e.g.
DO, DO WHILE, DO UNTIL, SELECT, WHEN, etc. and end them
with an 'END;' statement. Thus while you have a number of
choices depending upon your intent to begin a statement
group, you have only one statement to end it: 'end;'.

The next may take you a while to have sink in. Every
expression in PL/I is evaluated at the element level on an
element by element basis. You may think that's the same as
C, except C does not support aggregate operands, only
element.

In PL/I the expression 'a = b + c;' 'a', 'b', and 'c' could be
elements as in C or 'a' an aggregate (array or structure) and
'b' and 'c' either elements or aggregates. For example,
suppose you have a fixed decimal array of 3 rows and 10
columns: 'dcl a (3,10) fixed dec (7,2);' To initially set all
values of 'a' to zero you simply write 'a = 0;'.

Suppose you were keeping minor, intermediate, and major
totals in rows 1 through 3 respectively. When a minor break
occurs in the input processing you want to add the first row
to the second and then reset the first row:

a(2,*) += a(1,*); a(1,*) = 0;

The asterisk (*) denotes an aggregate cross-section, in this
instance an entire row.

When an intermediate break occurs you want to roll the
values of row 1 and 2 into 3 and reset 1 and 2 to zero:

a(3,*) += a(1,*) + a(2,*); a(1,*), a(2,*) = 0;

I welcome you to do fixed decimal arithmetic in C or the
iterative logic needed to accomplish the above.

Consider the following:

dcl a (10,10) bit(1);
dcl (b, c) (10,10) char (5);

a = b = c; or
a = b > c; or
a = b <= c; etc.

Here 'a' is a bit string array and 'b' and 'c' are fixed length
character strings. If 'b' and 'c' contained only the character
values of '1' and '0' and we defined 'a' as 'dcl a (10, 10)
bit(5);', then we could write the logical expression of
'a = b | c;' (a equals b ORed with c) or 'a = b & c;' (a equals b
ANDed with c).

I won't really bother you with the UNSPEC builtin function that
allows us to covert a character string into a bit string and vice
versa. Or the SUBSTR builtin function that lets you operate
directly at the bit level within a bit string or character level
within a character string. After all we all know that C is
closest to machine language.<g>

The point is that PL/I, the downloadable product offered, is
more complete and powerful than all other programming
languages (third generation) combined. That's because way
back when, prior to 1970, that was the desire. What you have
available to you to play with is the realization that you can
have "combined" power with simplicity.

So while we pursue our OS design you can begin to think
outside the C programming box (or C++ or JAVA).

Re: Part 37 - Aug 12 2004

Posted: Sat Jan 05, 2019 6:10 am
by admin
#1091 Re: [osFree] Learning PL/I
Expand Messages

Mark D. Overholser
Aug 12, 2004
Lynn H. Maxson wrote:

> I don't know if a shortcut learning curve exists for PL/I. I used
> to teach a three-day, fee-based course to clients with
> extensive programming experience. I will keep myself open to
> answering questions and offering advice.

I have a "partially related" question...

I met (in person) last Friday a Retired IBMer who worked at IBM's
"Silicon Valley Labs" in San Jose. He worked on DB2 for the 390
Mainframe family. I asked him what languages they used to program DB2
for OS/390, and he said something like "PLN" or "PLE", and I asked if
this was related to "PL/I", he said "no". Do you know any thing about
such things???

He was surprised that I knew about such things, I told him, I have been
a Big Fan of OS/2 for years, and have different version of DB/2 for
OS/2, plus half a dozen CM/2 licenses.


MarkO

Re: [osFree] Learning PL/I

Posted: Sat Jan 05, 2019 6:11 am
by admin
#1092 Re: [osFree] Learning PL/I
Expand Messages

Lynn H. Maxson
Aug 12, 2004
It was PL/S (Programming Language/System), formerly PL/8,
and it was and is related to PL/I. It's an IBM-internal language
used in the writing of strategic software for various
architectures. I would imagine that he worked at Santa
Teresa Labs, just south of San Jose. That's where PL/I
development still exists.

Re: [osFree] Learning PL/I

Posted: Sat Jan 05, 2019 6:12 am
by admin
#1093 Re: [osFree] Learning PL/I
Expand Messages

Mark D. Overholser
Aug 13, 2004
Lynn H. Maxson wrote:

> It was PL/S (Programming Language/System), formerly PL/8,
> and it was and is related to PL/I. It's an IBM-internal language
> used in the writing of strategic software for various
> architectures. I would imagine that he worked at Santa
> Teresa Labs, just south of San Jose. That's where PL/I
> development still exists.
>

Yes, PL/S sounds right, so PL/8 followed PL/7 and so on????

He did say it was an IBM Internal Language, and yes the "Santa Teresa
Labs, just south of San Jose" is now called the "Silicon Valley Labs".

Ah, so that is where PL/I is developed.. All in the family, it is...


Thanks for the Info....


MarkO

Re: [osFree] Learning PL/I

Posted: Sat Jan 05, 2019 6:14 am
by admin
#1094 Re: [osFree] Learning PL/I
Expand Messages

Lynn H. Maxson
Aug 13, 2004
For the record "IBM Internal" has at least two meanings, one
related to keeping information within company confines and
the other related to keeping information away from the IBM
field force. As a result there seems a natural progression
from PL/I to PL/8 and finally PL/S, which may or may not exist
due to the many independent development sources within IBM
worldwide.

To be honest an even earlier effort under Niklaus Wirth when
on the staff at Stanford in the late 60's called PL/360 existed.
In either case you had a machine-independent language like
PL/I to which you wanted to add machine-dependent
language like register assignments, etc.. That would then free
you from resorting to assembly language by effectly
incorporating assembly language within the HLL.

Now actually all this occurred even earlier with APL which
has the capability of describing everything from the logic
circuits which make up each individual instruction to the
individual instruction to any HLL derivable from those
instructions. In fact two such examples exist, one in Iverson's
original book, "A Programming Language", in 1962 and then
later in a special edition of the IBM Systems Journal with
respect to the S/360 architecture.

As I have mentioned here Intel uses a similar PL/x language in
its Pentium Instruction Reference Manual wherein an HLL form
of each instruction exists along with a symbolic assembly form
and a machine language (actual) form. In addition I have it on
good source that Burroughs once entertained adopting APL as
its "universal" specification language, which was rejected for
among other things its NIH (Not Invented Here) nature.

So in PL/E I'm not introducing anything new with respect to
software technology. In short it has occurred, albeit in a
different form, before. I choose a completely different
hierarchical-based method to separate machine-dependent
from machine-independent specifications. The only language
difference lies in defining the data types. For example, "dcl
r13 register bit (32);" the 'register' attribute defines its use as
machine-dependent, whereas "dcl r13 bit (32);" defines it as
machine-independent. That leaves then it up to the code
generation phase to decompose machine-independent
specifications down to machine-dependent ones, for which we
have a 1:1 match with a specific machine instruction set. This
effectively embeds assembly language capability within the
HLL.

It also allows us to represent the two basic, hierarchically
related, machine architecture forms of RISC and CISC in that
we can further decompose a CISC machine-dependent
instruction into one or more RISC machine-dependent
instructions. As PL/E invokes all of the APL operators it has
the ability to represent all levels from the logic circuitry of a
specific machine on up to a completely machine-independent
form. Thus it does what APL could do in 1962.

After a while you have to ask yourself if C represents a step
forward or backward. When you realise that in its 30+ years
of existence it still has not reached the capabilities of
pre-1970 programming languages like APL or PL/I. It hasn't.
C++ hasn't. And JAVA hasn't. Isn't it time that you asked,
"Why?".

Re: [osFree] Learning PL/I

Posted: Sat Jan 05, 2019 6:15 am
by admin
#1095 Re: [osFree] Learning PL/I
Expand Messages

Daniel Caetano
Aug 16, 2004

>After a while you have to ask yourself if C represents a step
>forward or backward. When you realise that in its 30+ years
>of existence it still has not reached the capabilities of
>pre-1970 programming languages like APL or PL/I. It hasn't.
>C++ hasn't. And JAVA hasn't. Isn't it time that you asked,
>"Why?".

I respect your ideas but this is the same as saying "assembly
has not reached something". There is no point in compare languages
that targets different things.
PL/I can be cool and even perfect for a lot of things. But the
same applies to many other languages, such as C, C++ or Java. Its
the same as saying "It's incredible but text-mode apps never matched
graphic-mode apps of early 80's". You'll be right from one point
of view, but plain wrong from another.

It's up to the programmer select the language and use it wisely
to achieve a result. No language does something or goes anyware if
the programmer is not capable of using its features. You can
choose: assembly, C, C++, PL/I or SmallTalk. This statement will
be true for each of them.


[]'s

Daniel Caetano
daniel@...
http://www.caetano.eng.br/

Re: [osFree] Learning PL/I

Posted: Sat Jan 05, 2019 6:16 am
by admin
#1096 Re: [osFree] Learning PL/I
Expand Messages

Lynn H. Maxson
Aug 16, 2004
Daniel Caetano writes:
" I respect your ideas but this is the same as saying "assembly
has not reached something". There is no point in compare
languages that targets different things. ..."

It's not a matter of respecting an idea. At the time of PL/I's
initiation three major area existed in data processing:
scientific, commercial (business), real time control systems,
and list processing. In scientific it was FORTRAN, APL, and
ALGOL. In commercial it was COBOL, COMTRAN, and a host of
others. In real time it was JOVIAL (Jules Own Version of an
Iterative Algorithmic Language). In list processing it was LISP.
For an encyclopedic look at all the known programming
languages at that time, some 750+ of them, I refer you to Jean
Sammet's "Programming Languages: History and
Fundamentals".

What gets lost in arguments or discussions (take your pick) of
this type is that we have only one specification language, i.e.
formal logic. No programming language, which by definition is
a specification language, can offer anything beyond that of
formal logic.

However, true any statement about comparing languages that
target different things, it doesn't apply to comparing
languages that target the same thing...or in this instance "a"
language that targets multiple "things". Beyond that in an
enterprise programmers have never decided on an instance
basis which programming language to use. That accounts for
programmers who only know one language.

So lets get off this idea that programmers select the best
language for a particular application different from any that
they know. No such metric for comparison exists...though you
might think that it might have importance to someone.

PL/I's authors, essentially the largest body of scientific
(SHARE) and commercial (GUIDE) users in the United States,
didn't want an different programming language based on
application type, but instead one language for all application
types. In this instance one capable of scientific, business, list
processing, real time control, and text-based applications.
PL/I does that. Thus it is a "general purpose" language with
the advantage it does the same thing better than the "special
purpose" languages it replaces.

You don't lose anything by going to PL/I. In fact you gain.
You lose by not going to PL/I.

Now PL/I is a third-generation HLL. While functionally
complete, i.e. capable of doing anything possible in any other
third-generation HLL, it does not "natively" support fourth
generation rules and assertions. It needs then
"enhancements". While we could in theory apply these
enhancements to any programming language (and thereby
make it better), any other programming language would still
come up short on functionality...and supported data types.

Thus if you want the "best" fourth-generation language, why
not start with the "best" third-generation? You see the
fourth generation languages started from a "lower" plateau.
As a result they ended up on a "lower" plateau than the
"best". That lower plateau begin with languages based on
'int'. If your language has 'int' as a data type, then you have
all you need to know about your starting point.<g>

"... No language does something or goes anyware if
the programmer is not capable of using its features. You can
choose: assembly, C, C++, PL/I or SmallTalk. This statement
will be true for each of them."

If he's capable of using it in one language, then he knows the
feature. If he knows the feature, then he can use it in any
language which offers it...particularly when its syntactically
similar, if not identical.

I do not argue against the use of "truisms", but they are only
true as long as their assumptions are. Beyond that they
remain at best unproven until such evidence occurs.

The argument is that no general-purpose language can match
a special-purpose one, particularly a set of special-purpose
ones. There are three things to match. The syntax which
relates to the amount of writing. The operators which relates
to the functionality possible. And the operands, the data on
which operations occur.

I have in a previous response with respect to aggregate
operands given you a simple syntax than possible in C or any
progamming language not supporting aggregate operands. It
doesn't take much of a study to see that PL/I's data types
exceed those of other languages. If it's short on operators
with respect to APL, which has more than any other
language, that is easily remedied.

So I never claimed that PL/I is perfect, only that it comes
closer to it than any other language...or in fact all of them put
together. The truisms offered do not apply to PL/I. It was
not intended for a specific application area, but all areas. If
offers any programmer more capabilities, those which he
knows as well as the opportunity for some he doesn't, than
any other language.

Daniel, I appreciate your position. I'm not here to sell PL/I or
even to defend it. I've given my reasons for choosing it.
Beyond that others remain free to anything else of their
choosing.

Re: [osFree] Learning PL/I

Posted: Sat Jan 05, 2019 6:17 am
by admin
#1097 Re: [osFree] Learning PL/I
Expand Messages

Carl
Aug 17, 2004
*This message was transferred with a trial version of CommuniGate(tm) Pro*
Lynn H. Maxson wrote:

>For example, every program element in PL/I is a statement.
>Every statement ends in a semi-colon. In place of the curly
>braces of C you mark statement groups with statements, e.g.
>DO, DO WHILE, DO UNTIL, SELECT, WHEN, etc. and end them
>with an 'END;' statement. Thus while you have a number of
>choices depending upon your intent to begin a statement
>group, you have only one statement to end it: 'end;'.
>
>

That sounds so much like Rexx. I've downloaded the demo version of PL/I
and run it once. Just haven't had the time to really sit down and do
some reading & playing yet. I'm looking forward to it, especially if it
is anything like Rexx.



--


Carl.

In order to help prevent the spreading of email viruses and
the invasion of privacy, I would appreciate it if you no not
store any of my information in any of the following computer
programs: Microsoft Outlook; Microsoft Outlook Express; Plaxo;
and any others that can be accessed from outside your premises.

For a decent operating system, see:
www.ecomstation.com* or www.linspire.com**

*Not recommended for avid virus and/or spyware collectors.
**See *