If PL/1 is the king of languages... - VMS

This is a discussion on If PL/1 is the king of languages... - VMS ; Tom Linden wrote: > On Tue, 04 Sep 2007 04:54:38 -0700, Larry Kilgallen > wrote: > >> In article , >> FrankS writes: >> >>> On Sep 3, 3:05 pm, "Tom Linden" wrote: >>> >>>> Compiler is mostly PL/I and ...

+ Reply to Thread
Page 2 of 2 FirstFirst 1 2
Results 21 to 40 of 40

Thread: If PL/1 is the king of languages...

  1. Re: If PL/I is the king of languages...

    Tom Linden wrote:
    > On Tue, 04 Sep 2007 04:54:38 -0700, Larry Kilgallen
    > wrote:
    >
    >> In article <1188855891.325159.326310@k79g2000hse.googlegroups. com>,
    >> FrankS writes:
    >>
    >>> On Sep 3, 3:05 pm, "Tom Linden" wrote:
    >>>
    >>>> Compiler is mostly PL/I and TBL (Table Building Language) runtime
    >>>> is VAX macro and recoded in C and some Bliss on Alpha and
    >>>> (I didn't do, Digital did)
    >>>
    >>>
    >>> *MOSTLY* written in PL/I and TBL? Not entirely in PL/I?

    >>

    > TBL is a tool written in PL/I which implements a table-driven interpreter
    > organized as a stack machine. The interpreter is written in PL/I. The TBL
    > output is a byte stream which drives the interpreter. Alles klar, Capice?
    >
    >>
    >> Tom can answer for the TBL part, but for any VMS compiler parts of
    >> it better be written in MESSAGE, CLD, SDL, etc.
    >>
    >>> Why haven't you written the runtime routines in PL/I rather than C or
    >>> Bliss?

    >>

    >
    > Had I managed the effort instead of Cutler and his successors, it would
    > have been PL/I indeed, but as Larry points recoding it for purity is
    > of dubious value.
    >
    >>
    >> I cannot answer for Tom, but rewriting a working program into
    >> a different language just for the sake of language purity is a
    >> path fraught with peril.
    >>


    Sometimes rewriting a program or a fair sized chunk of one can be a
    valuable exercise. It frequently forces you to recognize most of the
    stupid things you did the first time around and gives you the
    opportunity to do a far better job.


  2. Re: If PL/I is the king of languages...

    Larry Kilgallen wrote:
    > I cannot answer for Tom, but rewriting a working program into
    > a different language just for the sake of language purity is a
    > path fraught with peril.



    You need to consider the fact that when a platform becomes a dead end
    and you are forced to migrate to a new platform, your original languages
    may not all be present and you may be forced to migrate your perfectly
    working code to a new language which has a brighter future.

    It may not be "for the sake of language purity", but the end result is
    the same.

  3. Re: If PL/I is the king of languages...

    On Tue, 04 Sep 2007 06:38:15 -0700, FrankS wrote:

    > We discover, now, that in his own flagship product (the PL/I compiler)
    > he chooses not to use PL/I exclusively. Since he is (presumably) no
    > longer employed by DEC/Compaq/HP then he should be free to rewrite the
    > runtime in PL/I. Maybe even produce his own TBL routines implemented
    > in PL/I. Of course, he'll fall back on the "don't reinvent the wheel"
    > cliche for his own purposes while criticizing others for not writing/
    > rewriting applications in PL/I.


    Frank, I was never employed DEC, who licensed the Compiler in 1978 from
    Translation Systems, which I took over in 1981. The manner in which Cutler
    and his team implemented the compiler (this is all Documented in
    "Engineering
    a Compiler: VAX Code Generation and Optimizatio" Anklam, et.al. Digital
    Press)
    is not one that I would have chosen. You don't understand what TBL is,
    but the
    book should help you. The compiler is, to be somewhat simplistic,
    consists of
    a front-end and a code generator. The interface is a stream of n-tuples
    consisting of a couple of hundred overloaded operators. All major phases
    of the
    compiler are written as table-driven interpreters, with TBL compiling toa
    byte
    stream to drive the interpretive stack machine. There is no more effient
    way to
    write a compiler.

    Here is an excert from the parser
    ENTRY_STMNT:
    IF NO_PREFIX_REMAINS
    THEN [
    ERROR(E$MISSING_LABEL,RECOVER);] /* MUST HAVE A LABEL */
    CALL(LABEL_PREFIX_LIST);
    CALL(LABEL_PREFIX_LIST);
    MATCH(IDENTIFIER); /* ENTRY */
    CALL(PARAMETER_LIST);
    PARSE_OPTIONS;
    DECLARE_ENTRY_POINT;
    EMIT_BLOCK_PREFIX;
    MATCH(SEMI_COLON);
    RETURN;

    EXEC_STMNT:
    if this_type(SQL_STATEMENT)
    then [ call(SQL_STMNT);
    ]
    else [ if this_type(CICS_STATEMENT)
    then [ call CICS_STMNT();
    ]
    else [ if this_type(DL1_STATEMENT)
    then [ call DL1_STMNT();
    ]
    else [ error(E$INVLID_EXEC_STMNT,RECOVER);]]]
    RETURN;

    This is an excerpt from the Semantic pass

    DIVIDE_OPS:
    CHECK_NUMBER_OF_OPERANDS(THREE_OR_FOUR);
    CALL(CONVERT_ARITH_INFIX);
    USE_PRECISION(OPERAND1,OPERAND3);
    USE_PRECISION(OPERAND2,OPERAND3);
    CHECK_PQ(3,4);
    RESULT_IS(RESULT_TYPE,OPERAND3_RULE);
    RETURN;

    And here is one from Alpha code generation, which employs register
    Transfer Lists

    BRANCH_EQ_OPS:

    select_subcase_of_compare; /* Result returned in this_reg.

    /* Floating point is a special case, since subtraction might trigger an
    /* overflow exception. Need to use the compare instructions.

    if type(operand2,flt_bin) ! type(operand2,flt_dec) then [
    if cg_type(operand2,long_flt_type)
    & cg_type(operand3,long_flt_type) then [
    RTL '+t[%]=t[%]:t[%] %%' fc op2_reg
    op3_reg
    op2_dead op3_dead;
    ] else [

    /* Short floating point is a special case since VPO refusesto
    /* accept compares using short floating registers.

    if cg_type(operand2, short_flt_type) then [
    RTL '+t[%]=CV[s[%]] %' fa op2_reg op2_dead;
    ] else [
    RTL '+t[%]=t[%] %' fa op2_reg op2_dead;
    ]
    if cg_type(operand3, short_flt_type) then [
    RTL '+t[%]=CV[s[%]] %' fb op3_reg op3_dead;
    ] else [
    RTL '+t[%]=t[%] %' fb op3_reg op3_dead;
    ]
    RTL '+t[%]=t[%]:t[%] t[%]t[%]' fc fa fb fa fb;
    ]
    RTL '+PC=t[%]!0,% t[%]' fc this_label fc;
    RETURN;
    ]
    RTL '+PC=q[%]:0,%' this_reg this_label;
    RETURN;

    So my point is that the TBL compiler can handle very different constructs
    because the
    underlying interpreters which share a common algorithmic structure
    (essentially what is
    called a Switch statement in C, each case representing an action) that has
    very low
    procedure call overhead.


    --
    PL/I for OpenVMS
    www.kednos.com

  4. Re: If PL/I is the king of languages...

    In article <1188913095.914155.165550@19g2000hsx.googlegroups.c om>, FrankS writes:

    > We discover, now, that in his own flagship product (the PL/I compiler)
    > he chooses not to use PL/I exclusively. Since he is (presumably) no
    > longer employed by DEC/Compaq/HP then he should be free to rewrite the
    > runtime in PL/I. Maybe even produce his own TBL routines implemented
    > in PL/I.


    That seems to be saying "produce one's own SDL routines, written
    in Bliss". TBL is a special purpose meta-language used for writing
    compilers.

    > The fact is -- as I and others have pointed out -- that no single
    > programming language is king of all others. They all have their
    > strong and weak points, and sometimes the application (like a
    > compiler, for example) demands that a mix of languages be used in its
    > implementation. And those other languages are not "crappy" just
    > because they're not PL/I.


    Some other languages are fine languages. But with the possible
    exception of COBOL, none of them begin with the letter C.

  5. Re: If PL/I is the king of languages...

    In article <46DD6B88.6080408@comcast.net>, "Richard B. Gilbert" writes:

    > Sometimes rewriting a program or a fair sized chunk of one can be a
    > valuable exercise. It frequently forces you to recognize most of the
    > stupid things you did the first time around and gives you the
    > opportunity to do a far better job.


    Other times it lets you prove to yourself that the rewrite was done
    without a valid specification. Have people forgotten the rewrite of
    VMS Mail ?

    As for the rewrite I worked on, eventually I got that product onto
    my own company cluster and found defects not found at the company
    where I was working on it. The specification was implicit in the
    implementation over the 16 years the original version had just grown.

  6. Re: If PL/I is the king of languages...

    In article ,
    "Tom Linden" wrote:

    > Why recode an app that is working?


    To get the latest trendy buzz words on your CV?

    --
    Paul Sture

    Sue's OpenVMS bookmarks:
    http://eisner.encompasserve.org/~stu...bookmarks.html

  7. Re: If PL/I is the king of languages...

    In article , "P. Sture" writes:
    > In article ,
    > "Tom Linden" wrote:
    >
    >> Why recode an app that is working?

    >
    > To get the latest trendy buzz words on your CV?
    >


    Because your boss or customer paid Gartner to tell them so.


  8. Re: If PL/I is the king of languages...

    In article , "P. Sture" writes:
    > In article ,
    > "Tom Linden" wrote:
    >
    >> Why recode an app that is working?

    >
    > To get the latest trendy buzz words on your CV?


    And thereby be better prepare to leave the company where you just
    decreased the stability of their product :-)

  9. Re: If PL/I is the king of languages...

    On 09/04/07 06:54, Larry Kilgallen wrote:
    [snip]
    >
    > I cannot answer for Tom, but rewriting a working program into
    > a different language just for the sake of language purity is a
    > path fraught with peril.


    Yeah, but it's fun to tease Tom about his love of PL/I.

    > I have engaged in rewriting a mission-critical working program
    > from a lower level language to a higher level language because
    > there was a need to totally eliminate the use of static variables.
    > The result worked, but it took several years and the original
    > impetus that made the need high priority had dissipated. The
    > percentage of users who really need the capabilities enabled
    > by elimination of the static variables is minimal today.



    --
    Ron Johnson, Jr.
    Jefferson LA USA

    Give a man a fish, and he eats for a day.
    Hit him with a fish, and he goes away for good!

  10. Re: If PL/I is the king of languages...

    On 09/04/07 09:28, Richard B. Gilbert wrote:
    [snip]
    >
    > Sometimes rewriting a program or a fair sized chunk of one can be a
    > valuable exercise. It frequently forces you to recognize most of the
    > stupid things you did the first time around and gives you the
    > opportunity to do a far better job.


    Or scratch your head wondering, "Was this bit of weirdness written
    by an obviously blithering idiot, or is it a clever hack needed for
    some obscure corner case that I haven't figured out yet?".

    --
    Ron Johnson, Jr.
    Jefferson LA USA

    Give a man a fish, and he eats for a day.
    Hit him with a fish, and he goes away for good!

  11. Re: If PL/I is the king of languages...

    Ron Johnson wrote:
    > On 09/04/07 09:28, Richard B. Gilbert wrote:
    > [snip]
    >
    >>Sometimes rewriting a program or a fair sized chunk of one can be a
    >>valuable exercise. It frequently forces you to recognize most of the
    >>stupid things you did the first time around and gives you the
    >>opportunity to do a far better job.

    >
    >
    > Or scratch your head wondering, "Was this bit of weirdness written
    > by an obviously blithering idiot, or is it a clever hack needed for
    > some obscure corner case that I haven't figured out yet?".
    >


    Well, that's why GOOD programmers write an occasional comment! If
    there's no comment, my working hypothesis becomes "blithering idiot".


  12. Re: If PL/I is the king of languages...

    On Sep 4, 12:05 pm, "Tom Linden" wrote:
    > Frank, I was never employed DEC, who licensed the Compiler in 1978 from
    > Translation Systems, which I took over in 1981.


    On Sep 3, 6:18 pm, "Tom Linden" wrote:
    > Because Digital never had particularly good software engineering management
    > allowed their engineers to free a rein. We used to use a small collection
    > of utility routines written in a vareity of low level languages, Assembler
    > and C mostly to facilitate the bootstrapping of the compiler, which in the
    > first step was a cross-compiler.


    In the quote above you use Digital and "we" in the same paragraph. I
    drew the (reasonable) conclusion that you were employed by DEC in some
    compiler engineering capacity. Perhaps there is some underlying
    accent in your writing which is making it difficult to understand its
    actual meaning.


    On Sep 2, 10:04 am, "Tom Linden" wrote:
    > As for Cobol, I can't think of anything that is better with it. Ditto
    > for C, Ditto for Fortran. I think that this is generally true for
    > algorithmic languages (didn't include Algol, Burroughs was the last hold-out)


    On Sep 4, 12:05 pm, "Tom Linden" wrote:
    > You don't understand what TBL is, but the book should help you.


    > So my point is that the TBL compiler can handle very different constructs
    > because the underlying interpreters which share a common algorithmic structure


    I understand fully that TBL is a programming language that is better
    able to "handle very different constructs" than PL/I's ability to do
    the same directly.

    However, that in itself contradicts your previous statements about how
    PL/I is superior to any other algorithimic languages.

    It also reinforces my comments that some languages are better suited
    to certain tasks than others.

    If PL/I was so great a solution for all things then there would have
    been no need to design TBL to handle those "very different
    constructs".


    On Sep 4, 12:05 pm, "Tom Linden" wrote:
    >> Why haven't you written the runtime routines in PL/I rather than C or
    >> Bliss?


    > Had I managed the effort instead of Cutler and his successors, it would
    > have been PL/I indeed, but as Larry points recoding it for purity is
    > of dubious value.


    This is also a contradiction. If PL/I is inherently superior to C and/
    or Bliss then recoding the runtime should be a vast improvement. Not
    for purity's sake but for whatever benefit PL/I brings over C/Bliss.

    More efficient, easier to maintain, better suited to the task,
    whatever it is that you feel makes PL/I so much better than those
    other languages. Those things would make the runtime better for being
    implemented in PL/I.

    By falling back to the "don't reinvent the wheel" strategy you
    essentially are stating that writing the runtime in PL/I .vs. C/Bliss
    is of no benefit. That would mean that PL/I has no advantage over the
    other languages.


  13. Re: If PL/I is the king of languages...

    On 09/04/07 21:24, FrankS wrote:
    [snip]
    >
    > By falling back to the "don't reinvent the wheel" strategy you
    > essentially are stating that writing the runtime in PL/I .vs. C/Bliss
    > is of no benefit. That would mean that PL/I has no advantage over the
    > other languages.


    Or... writing a large RTLis very time-consuming, more time than
    Kednos has to spare.

    --
    Ron Johnson, Jr.
    Jefferson LA USA

    Give a man a fish, and he eats for a day.
    Hit him with a fish, and he goes away for good!

  14. Re: If PL/I is the king of languages...

    On Tue, 04 Sep 2007 20:36:49 -0700, Ron Johnson
    wrote:

    >>
    >> By falling back to the "don't reinvent the wheel" strategy you
    >> essentially are stating that writing the runtime in PL/I .vs. C/Bliss
    >> is of no benefit. That would mean that PL/I has no advantage over the
    >> other languages.


    That is certainly fallacious logic. A runtime written in PL/I has
    significant advantages
    over C/Bliss, particularly from the point of view of software reliability
    and maintainability.
    I think it is a matter of business sense, why build a Porsche if people
    can only afford a
    Chevy.

    > Or... writing a large RTLis very time-consuming, more time than
    > Kednos has to spare.


    Maybe. It is time-consuming only if you have learn as you go.



    --
    PL/I for OpenVMS
    www.kednos.com

  15. Re: If PL/I is the king of languages...

    In article , "Tom Linden" writes:
    >On Sat, 01 Sep 2007 23:32:36 -0700, Mark Daniel
    >wrote:
    >
    >> Ron Johnson wrote:
    >>> On 09/02/07 00:17, Mark Daniel wrote:
    >>>
    >>>> Ron Johnson wrote:
    >>>>
    >>>>> ... why is the web site powered by not-the-king-of-languages?

    >
    >It is in a way, financially. But even if I were to write a web server in
    >PL/I why would I? Mark has done such a fine job with WASD, and it is
    >well written. I frankly don't understand why HP doesn't throw Apache and
    >promote WASD. I have Apache running on a Tru64 system, or did, and there
    >is no comparison.


    Because they need to be able to say that they run an industry-standard web
    server. (It doesn't matter if it's better or not, it's the one whose name
    people know.)

    -- Alan

  16. Re: If PL/I is the king of languages...

    In article ,
    Kilgallen@SpamCop.net (Larry Kilgallen) wrote:

    > In article , "P. Sture"
    > writes:
    > > In article ,
    > > "Tom Linden" wrote:
    > >
    > >> Why recode an app that is working?

    > >
    > > To get the latest trendy buzz words on your CV?

    >
    > And thereby be better prepare to leave the company where you just
    > decreased the stability of their product :-)


    Or even "escape" before the mess becomes apparent.

    --
    Paul Sture

    Sue's OpenVMS bookmarks:
    http://eisner.encompasserve.org/~stu...bookmarks.html

  17. Re: If PL/I is the king of languages...

    In article ,
    koehler@eisner.nospam.encompasserve.org (Bob Koehler) wrote:

    > In article , "P. Sture"
    > writes:
    > > In article ,
    > > "Tom Linden" wrote:
    > >
    > >> Why recode an app that is working?

    > >
    > > To get the latest trendy buzz words on your CV?
    > >

    >
    > Because your boss or customer paid Gartner to tell them so.


    Unfortunately I have seen that happen.

    --
    Paul Sture

    Sue's OpenVMS bookmarks:
    http://eisner.encompasserve.org/~stu...bookmarks.html

  18. Re: If PL/I is the king of languages...

    On Tue, 04 Sep 2007 23:07:52 -0700, Alan Winston - SSRL Central Computing
    wrote:

    > In article , "Tom Linden"
    > writes:
    >> On Sat, 01 Sep 2007 23:32:36 -0700, Mark Daniel
    >> wrote:
    >>
    >>> Ron Johnson wrote:
    >>>> On 09/02/07 00:17, Mark Daniel wrote:
    >>>>
    >>>>> Ron Johnson wrote:
    >>>>>
    >>>>>> ... why is the web site powered by not-the-king-of-languages?

    >>
    >> It is in a way, financially. But even if I were to write a web server
    >> in
    >> PL/I why would I? Mark has done such a fine job with WASD, and it is
    >> well written. I frankly don't understand why HP doesn't throw Apache
    >> and
    >> promote WASD. I have Apache running on a Tru64 system, or did, and
    >> there
    >> is no comparison.

    >
    > Because they need to be able to say that they run an industry-standard
    > web
    > server. (It doesn't matter if it's better or not, it's the one whose
    > name
    > people know.)


    It is a matter of branding, Alan. Look ho IBM rebranded all their
    computers
    to disassociate negative connotations. They no longer talk about
    mainframes
    and MVS, unix servers and AIX, etc., now it is z-series, i-series, z/os
    etc.
    if they wanted to keep CSWS they could, note that it doesn't say Apache.
    $.02.
    >
    > -- Alan




    --
    PL/I for OpenVMS
    www.kednos.com

  19. Re: If PL/I is the king of languages...

    In article , "Tom Linden" writes:
    >On Tue, 04 Sep 2007 23:07:52 -0700, Alan Winston - SSRL Central Computing
    > wrote:


    >>
    >> Because they need to be able to say that they run an industry-standard
    >> web
    >> server. (It doesn't matter if it's better or not, it's the one whose
    >> name
    >> people know.)

    >
    >It is a matter of branding, Alan. Look ho IBM rebranded all their
    >computers
    >to disassociate negative connotations. They no longer talk about
    >mainframes
    >and MVS, unix servers and AIX, etc., now it is z-series, i-series, z/os
    >etc.
    >if they wanted to keep CSWS they could, note that it doesn't say Apache.
    >$.02.


    The point, I think, is that if you want to present yourself as a player in the
    web server market, you have to run Apache - and nobody else was porting Apache,
    so Compaq/HP had to do it. Aside from the sales advantage, a whole lot of
    web-based applications from the Unix world (PHP/Perl stuff) ports and runs
    beautifully on Apache.

    I think WASD is terrific. Feature-laden, really fast, solid, well-documented
    and well-written (with usefully explanatory coments and everything), and I and
    I read a whole lot of the source code for the book so I'm not just basing that
    "well-written" on it working well.. I think someone who's choosing a webserver
    to run on their existing VMS server ought to consider WASD very seriously. And
    WASD users probably get faster turnaround on support issues than SWS users do -
    I'm a little frustrated now because MOD_OPENVMS_AUTH (or is it AUTH_OPENVMS?
    I forget) can't authenticate against the UAF if the /PWDMIX bit is set, and
    while my problem has been elevated to Engineering, it's been two weeks since
    I've heard anything and I can't get an ETA for a patch.

    But from a marketing standpoint it makes a lot more sense for HP to support
    Apache and the existing universe of software around it (mod_Perl, mod_php) than
    WASD.

    -- Alan



  20. Re: If PL/I is the king of languages...

    Alan Winston - SSRL Central Computing wrote:
    > In article , "Tom Linden" writes:
    >
    >>On Tue, 04 Sep 2007 23:07:52 -0700, Alan Winston - SSRL Central Computing
    >> wrote:

    >
    >
    >>>Because they need to be able to say that they run an industry-standard
    >>>web
    >>>server. (It doesn't matter if it's better or not, it's the one whose
    >>>name
    >>>people know.)

    >>
    >>It is a matter of branding, Alan. Look ho IBM rebranded all their
    >>computers
    >>to disassociate negative connotations. They no longer talk about
    >>mainframes
    >>and MVS, unix servers and AIX, etc., now it is z-series, i-series, z/os
    >>etc.
    >>if they wanted to keep CSWS they could, note that it doesn't say Apache.
    >>$.02.

    >
    >
    > The point, I think, is that if you want to present yourself as a player in the
    > web server market, you have to run Apache - and nobody else was porting Apache,
    > so Compaq/HP had to do it. Aside from the sales advantage, a whole lot of
    > web-based applications from the Unix world (PHP/Perl stuff) ports and runs
    > beautifully on Apache.
    >
    > I think WASD is terrific. Feature-laden, really fast, solid, well-documented
    > and well-written (with usefully explanatory coments and everything), and I and
    > I read a whole lot of the source code for the book so I'm not just basing that
    > "well-written" on it working well.. I think someone who's choosing a webserver
    > to run on their existing VMS server ought to consider WASD very seriously. And
    > WASD users probably get faster turnaround on support issues than SWS users do -
    > I'm a little frustrated now because MOD_OPENVMS_AUTH (or is it AUTH_OPENVMS?
    > I forget) can't authenticate against the UAF if the /PWDMIX bit is set, and
    > while my problem has been elevated to Engineering, it's been two weeks since
    > I've heard anything and I can't get an ETA for a patch.
    >
    > But from a marketing standpoint it makes a lot more sense for HP to support
    > Apache and the existing universe of software around it (mod_Perl, mod_php) than
    > WASD.


    Amen! Of course it makes much more sense to *use* WASD :-)

    > -- Alan


    --
    Sonja: Isn't nature incredible?
    Boris: To me, nature is... I dunno, spiders and bugs and, big fish
    eating little fish. And plants eating plants and animals eating...
    It's like an enormous restaurant. [Woody Allen; Love and Death]

+ Reply to Thread
Page 2 of 2 FirstFirst 1 2