TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Eddy Thilleman
from: Murray Lesser
date: 1999-01-11 06:33:00
subject: Pl/I

Excerpted from a message dated 01-07-99, Eddy Thilleman to Murray
Lesser:

ET>How does PL/I compare to Pascal?

Hi Eddy--

    I don't think the two languages are easily comparable, as they had
such differing origins.  Pascal started as a "structured programming"
teaching language invented by a professor of computer science, and was
improved into a reasonably practical programming language by the Borland
Company in their CP/M versions.  PL/I started (a few years before Pascal
was thought of) as a practical programming language suitable for both
"scientific" and "data processing" applications,
designed by a committee
of working programmers.

    If you want to get an idea of PL/I control structure, to see how it
differs from that of Pascal, look at REXX.  With respect to control
structure, REXX was derived from PL/I in a manner similar to the way the
original BASIC was derived from FORTRAN.  For further comparison, here
is a sample in PL/I that (when compiled and linked) displays a
mixed-case command-line input argument as all upper case.  Note that,
with few exceptions, PL/I source code begins in column 2, and (unless
within quotes) is not case sensitive.  Note, also, that only one of the
following statements does any work at run time; the rest are directives
to the compiler.

*process langlvl(saa2), limits(extname(31)), libs, not('^');
 toupper: proc(infile) options (main noexecops);
    dcl infile char(100) var;
    dcl translate builtin;
    dcl (From value('abcdefghijklmnopqrstuvwxyz'),
         To value('ABCDEFGHIJKLMNOPQRSTUVWXYZ')) char(26);
    display (translate(infile,to,from));
  end toupper;

    I leave it as an exercise for the reader to write the equivalent in
Pascal :-).

ML>                                       ... In the meantime, I
ML> am using a back-version (VA PL/I "Standard" v 2.0 for OS/2)

ET>back-version? what's that?

ML> that seems to still work OK.

ET>Is this the current version? What has Visual Age to do with PL/I?

    IBM has several "Visual Age" compilers for several languages and
platforms.  Such compilers let you build GUI applications with a graphic
(drag and drop) application builder.  This feature has been available
for PL/I for OS/2 almost since the beginning but it wasn't called
"Visual Age" before; it was the "PL/I Toolkit" and was
optional at extra
cost.  After one small try (with Personal PL/I V1R1) I decided that the
Toolkit wasn't for me, so I still write and compile my multithreaded
text-mode utilities from the command line.

    In 1997, IBM brought out "Visual Age PL/I for OS/2 and Windows [NT]"
version 2.0 (two separate compilers on two CD-ROMs shipped in the same
box) that had the "toolkit" bundled in.  I upgraded to the
"standard"
edition to replace my Personal PL/I V1R1 for OS/2, since the new one
used a newer runtime and had a few more features (of primary interest to
me were the ability to compile for "static" linking with the runtime
library, rather with the default "dynamic" linking to the runtime DLLs;
and the ability to compile for linking to a "not thread-safe" runtime
for better performance with single-threaded executables).  I am still
using version 2.0 for OS/2.  In 1998 IBM brought out Visual Age PL/I v
2.1 at a considerable increase in price, thereby obsoleting my compiler
in the sense that IBM does not provide CSDs (Corrective Service
Diskettes) for "back-version" language processors.  AFAIK, the language
hasn't changed but there will no longer be bug fixes for version 2.0.
(The advertised changes between the two versions seem to have been in
the Y2K analysis tools for NT.)  So, I will have to live with
workarounds for any long-lived bugs I discover.

    Regards,

        --Murray

___
 * MR/2 2.25 #120 * Happily hitchhiking on the Information Highway

--- Maximus/2 2.02
* Origin: OS/2 Shareware BBS, telnet://bbs.os2bbs.com (1:109/347)
SEEN-BY: 396/1 632/0 371 633/260 262 267 270 371 635/444 506 728 639/252
SEEN-BY: 670/218
@PATH: 109/347 104 8 13/25 270/101 140/1 396/1 633/260 635/506 728 633/267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.