• Apl2 For Os/2

    From Murray Lesser@1:106/2000 to Mike Luther on Sun Jun 3 05:07:00 2001
    (Mike Luther wrote to Murray Lesser on 06-02-01, topic: "Apl2 For Os/2")

    Hi Mike--

    The "ML>" in the following quote is me! The rest are you.

    APL (A Programming Language) has been around since the 1960s (about the same age as PL/I!). It is known in some circles as a "write only" language, because it is so concise, and uses such a strange symbol
    set, that not even the people who wrote the program can read it later.
    Its great strength is matrix and vector manipulation, but I've seen it used to interrogate data bases, something I'd rather do with REXX. Like REXX, APL was designed, ab initio, to be an interpreted language, but
    > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    that is the only thing the two languages have in common.

    <snip>

    Thus APL2 could be a way to do that part of the work, I
    >suspect, from what has been learned here, in a better way.

    But as to the fact that it is still an interpreter based game, if
    >you have to wait to load an application with it everytime you go to
    >use it, and that means everytime you run the suite for each
    >module, that's, from a practical standpoint, near useless.
    >No user who needs the ordinary data from the suite will
    >ever wait more than a second or so, willingly, without
    >thumbing down a computer program product.

    Specifically, as to OS/2 and APL2, I learned some more!
    >The only operating system in which the interpreter is sold
    >separately is the WINDOWS game!...

    Don't knock interpreters. It depends on the language design, and
    also how the interpreter is written. Some of the REXX (and APL)
    constructs require very late binding. So compiled versions may be
    slower, if they manage to include all the language functions. David
    Noon once wrote that he had run the same REXX program, on the same
    hardware, once compiled and once interpreted. The interpreted version
    ran faster! David must have been using a _real_ compiler. The
    so-called compiler versions of REXX for microprocessors that I know
    (they produce programs with an .EXE extension) merely wrap the
    interpreted program so that the user can't read the source code without
    a disassembler :-(.

    There were some early attempts at writing a _true_ APL compiler in
    IBM Research, but none of them were successful. (What with the rise of
    OOP languages, compiler writers have learned to handle late-binding
    constructs without too egregious a performance loss.) I have no idea as
    to whether the one your correspondent talked about for Windows was a
    _true_ compiler that was capable of executing all the APL late-binding functions. However, everything runs slower under Windows, so Windows
    users wouldn't know any better if they were stuck with a late-binding
    compiled version of APL :-)

    Regards,

    --Murray
    <Team PL/I>
    ___
    * MR/2 2.30 #120 * Curiouser and curiouser.

    --- Maximus/2 3.01
    * Origin: COMM Port OS/2 juge.com 204.89.247.1 (281) 980-9671 (1:106/2000)
  • From Murray Lesser@1:106/2000 to Mike Luther on Fri Jun 1 08:28:00 2001
    (Mike Luther wrote to All on 05-31-01, topic: "Apl2 For Os/2")

    Hi Mike--

    Looks like IBM posted a fully-functional (240 minute
    timer) demo last
    week of their new version of the APL2
    interactive programming language
    for OS/2:

    ftp://service.software.ibm.com/ps/products/apl2/demos/apl2demo

    Please do not shoot the messsage boy.

    Now, so divulged, what is APL2? Is this a variation on a
    >PL whatever Lessor theme of weevils? Grin!

    APL (A Programming Language) has been around since the 1960s (about
    the same age as PL/I!). It is known in some circles as a "write only" language, because it is so concise, and uses such a strange symbol
    set, that not even the people who wrote the program can read it later.
    Its great strength is matrix and vector manipulation, but I've seen it
    used to interrogate data bases, something I'd rather do with REXX. Like
    REXX, APL was designed, ab initio, to be an interpreted language, but
    that is the only thing the two languages have in common.

    The original APL language was invented by Ken Iverson while he was
    still at Harvard. The first working implementation was made at IBM
    Research after Iverson joined IBM. APL2 must be an "improved" version
    of the language. It is most unlikely that the "2" has anything to do
    with OS/2, as I have a 1991 demo of APL2 v 2.00 for DOS on a single
    740KB diskette, that I have never tried to use.

    Jean Sammet, in her discussion of APL in her piece in the
    "25th Anniversary Issue" (Vol. 25 No. 5, September 1981) of the "IBM
    Journal of Research and Development" said: "...in spite of (or perhaps
    because of) it's uniqueness, it has had virtually no effect on other
    language design." IMO, this is the polite way of saying that there was
    nothing in APL that other language implementers felt was worth stealing
    :-).

    But try it, you may like it. Particularly if you have a need for a language in which matrix and vector operations are "built-in," so that
    very few programmed loops are required to solve the applications it is
    good for.

    Regards,

    --Murray
    <Team PL/I>
    ___
    * MR/2 2.30 #120 * There, that will do until a REAL explanation comes along.

    --- Maximus/2 3.01
    * Origin: COMM Port OS/2 juge.com 204.89.247.1 (281) 980-9671 (1:106/2000)