• Fun: Object Pascal on VMS

    From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to All on Mon Sep 2 11:35:16 2024
    program demo(input, output);

    {$include fpcjvm.inc}

    type
    T1 = class(TObject)
    private
    m_f1 : integer;
    m_f2 : string;
    public
    constructor Create;
    constructor Create(f1 : integer; f2 : string);
    property F1 : integer read m_f1;
    property F2 : string read m_f2;
    end;

    constructor T1.Create;

    begin
    m_f1 := 0;
    m_f2 := '';
    end;

    constructor T1.Create(f1 : integer; f2 : string);

    begin
    m_f1 := f1;
    m_f2 := f2;
    end;

    procedure dump(o : T1);

    begin
    write('F1=');
    write(o.F1);
    write(',F2=');
    write(o.F2);
    writeln;
    end;

    var
    o1, o2 : T1;

    begin
    o1 := T1.Create;
    dump(o1);
    o1.Free;
    o2 := T1.Create(123, 'ABC');
    dump(o2);
    o2.Free;
    end.

    On PC:

    C:\Work\VMS\objectpascal>ppcjvm demo.pas
    Free Pascal Compiler version 3.0.4 [2017/10/07] for jvm
    Copyright (c) 1993-2017 by Florian Klaempfl and others
    Target OS: Java Virtual Machine
    Compiling demo.pas
    demo.pas(37,14) Warning: Implicit string type conversion from
    "ShortString" to "UnicodeString"
    Assembling demo
    Generated: .\T1.class
    Generated: .\demo.class
    Warning: Object system.class not found, Linking may fail !
    63 lines compiled, 0.7 sec
    2 warning(s) issued

    C:\Work\VMS\objectpascal>jar cvf demo.jar demo.class T1.class
    added manifest
    adding: demo.class(in = 1179) (out= 668)(deflated 43%)
    adding: T1.class(in = 1168) (out= 579)(deflated 50%)

    On VMS:

    $ java -cp demo.jar:fpcjvm.jar "demo"
    F1=0,F2=
    F1=123,F2=ABC

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Mon Sep 2 23:51:57 2024
    On Mon, 2 Sep 2024 11:35:16 -0400, Arne Vajhøj wrote:

    On PC:

    C:\Work\VMS\objectpascal>ppcjvm demo.pas
    ...

    On VMS:

    $ java -cp demo.jar:fpcjvm.jar "demo"
    F1=0,F2=
    F1=123,F2=ABC

    VMS can no longer self-host its own development stack any more.

    Oh, the ignominy ...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Single Stage to Orbit@21:1/5 to Lawrence D'Oliveiro on Tue Sep 3 09:27:42 2024
    On Mon, 2024-09-02 at 23:51 +0000, Lawrence D'Oliveiro wrote:
    VMS can no longer self-host its own development stack any more.

    It really should!
    --
    Tactical Nuclear Kittens

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to Lawrence D'Oliveiro on Tue Sep 3 12:14:33 2024
    On 2024-09-02, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Mon, 2 Sep 2024 11:35:16 -0400, Arne Vajhøj wrote:

    On PC:

    C:\Work\VMS\objectpascal>ppcjvm demo.pas
    ...

    On VMS:

    $ java -cp demo.jar:fpcjvm.jar "demo"
    F1=0,F2=
    F1=123,F2=ABC

    VMS can no longer self-host its own development stack any more.


    That has been true for a long time - you can't even get Ada for
    VMS these days. Even though Free Pascal is very portable, it does
    not surprise me one little bit that it will not run native on VMS.

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to Simon Clubley on Tue Sep 3 11:45:19 2024
    On 9/3/2024 8:14 AM, Simon Clubley wrote:
    On 2024-09-02, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Mon, 2 Sep 2024 11:35:16 -0400, Arne Vajhøj wrote:

    On PC:

    C:\Work\VMS\objectpascal>ppcjvm demo.pas
    ...

    On VMS:

    $ java -cp demo.jar:fpcjvm.jar "demo"
    F1=0,F2=
    F1=123,F2=ABC

    VMS can no longer self-host its own development stack any more.


    That has been true for a long time - you can't even get Ada for
    VMS these days. Even though Free Pascal is very portable, it does
    not surprise me one little bit that it will not run native on VMS.

    Simon.


    Seems there is some opinions that everything should run on everything. That just isn't so, and why should it be?

    As for VMS and Pascal, there is a very decent implementation of that language on
    VMS, so what's the problem when a product aimed at a different environment will not run on every environment.

    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to Dave Froble on Tue Sep 3 18:02:10 2024
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:

    Seems there is some opinions that everything should run on everything. That just isn't so, and why should it be?


    No. There are things that are expected to be available in a modern ecosystem
    or for which it would be highly desirable for them to be available.

    Environments that do not support those things rapidly acquire legacy status
    and then unusable in a modern environment status.

    BTW, the above is not a Free Pascal comment, but more of a general observation.

    As for VMS and Pascal, there is a very decent implementation of that language on
    VMS, so what's the problem when a product aimed at a different environment will
    not run on every environment.


    So how capable are the OO features in VMS Pascal these days ?

    BTW, about portability, the Free Pascal people say this on their website:

    |Free Pascal is a mature, versatile, open source Pascal compiler. It
    |can target many processor architectures: Intel x86 (16 and 32 bit), |AMD64/x86-64, PowerPC, PowerPC64, SPARC, SPARC64, ARM, AArch64, MIPS, |Motorola 68k, AVR, and the JVM. Supported operating systems include
    |Windows (16/32/64 bit, CE, and native NT), Linux, Mac OS |X/iOS/iPhoneSimulator/Darwin, FreeBSD and other BSD flavors, DOS (16
    |bit, or 32 bit DPMI), OS/2, AIX, Android, Haiku, Nintendo GBA/DS/Wii, |AmigaOS, MorphOS, AROS, Atari TOS, and various embedded platforms. |Additionally, support for RISC-V (32/64), Xtensa, and Z80
    |architectures, and for the LLVM compiler infrastructure is available
    |in the development version. Additionally, the Free Pascal team
    |maintains a transpiler for pascal to Javascript called pas2js.

    No VMS however.

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Tue Sep 3 15:59:13 2024
    On 9/2/2024 7:51 PM, Lawrence D'Oliveiro wrote:
    On Mon, 2 Sep 2024 11:35:16 -0400, Arne Vajhøj wrote:
    On PC:

    C:\Work\VMS\objectpascal>ppcjvm demo.pas
    ...

    On VMS:

    $ java -cp demo.jar:fpcjvm.jar "demo"
    F1=0,F2=
    F1=123,F2=ABC

    VMS can no longer self-host its own development stack any more.

    There are lots of compilers and interpreters available on VMS.

    There are also a bunch that are not available on VMS. That
    bunch include FPC.

    If someone wanted FPC to run on VMS, then they could
    port it. It is open source.

    FPC has really nothing to do with VMS, but compiling to
    Java byte code is a very broad targeting cross compiler.
    Which I took advantage of.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Simon Clubley on Tue Sep 3 16:01:53 2024
    On 9/3/2024 2:02 PM, Simon Clubley wrote:
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:
    Seems there is some opinions that everything should run on everything. That >> just isn't so, and why should it be?

    No. There are things that are expected to be available in a modern ecosystem or for which it would be highly desirable for them to be available.

    Environments that do not support those things rapidly acquire legacy status and then unusable in a modern environment status.

    Yes.

    BTW, the above is not a Free Pascal comment, but more of a general observation.

    FPC is not a "must have" for that many.

    As for VMS and Pascal, there is a very decent implementation of that language on
    VMS, so what's the problem when a product aimed at a different environment will
    not run on every environment.

    So how capable are the OO features in VMS Pascal these days ?

    Non-existing.

    BTW, about portability, the Free Pascal people say this on their website:

    |Free Pascal is a mature, versatile, open source Pascal compiler. It
    |can target many processor architectures: Intel x86 (16 and 32 bit), |AMD64/x86-64, PowerPC, PowerPC64, SPARC, SPARC64, ARM, AArch64, MIPS, |Motorola 68k, AVR, and the JVM. Supported operating systems include
    |Windows (16/32/64 bit, CE, and native NT), Linux, Mac OS |X/iOS/iPhoneSimulator/Darwin, FreeBSD and other BSD flavors, DOS (16
    |bit, or 32 bit DPMI), OS/2, AIX, Android, Haiku, Nintendo GBA/DS/Wii, |AmigaOS, MorphOS, AROS, Atari TOS, and various embedded platforms. |Additionally, support for RISC-V (32/64), Xtensa, and Z80
    |architectures, and for the LLVM compiler infrastructure is available
    |in the development version. Additionally, the Free Pascal team
    |maintains a transpiler for pascal to Javascript called pas2js.

    No VMS however.

    My point was just that the JVM target actually include VMS.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Craig A. Berry@21:1/5 to All on Tue Sep 3 17:27:59 2024
    On 9/3/24 2:59 PM, Arne Vajhøj wrote:
    On 9/2/2024 7:51 PM, Lawrence D'Oliveiro wrote:
    On Mon, 2 Sep 2024 11:35:16 -0400, Arne Vajhøj wrote:
    On PC:

    C:\Work\VMS\objectpascal>ppcjvm demo.pas
    ...

    On VMS:

    $ java -cp demo.jar:fpcjvm.jar "demo"
    F1=0,F2=
    F1=123,F2=ABC

    VMS can no longer self-host its own development stack any more.

    It depends on what is meant by "its own development stack." It certainly
    does self-host the tools used to build the OS itself.
    There are lots of compilers and interpreters available on VMS.

    There are also a bunch that are not available on VMS. That
    bunch include FPC.

    If someone wanted FPC to run on VMS, then they could
    port it. It is open source.

    FPC has really nothing to do with VMS, but compiling to
    Java byte code is a very broad targeting cross compiler.
    Which I took advantage of.

    And I think everyone who wasn't trolling recognized that. The JVM
    brings a big party with it wherever it goes. .NET would bring a
    slightly smaller but still nice-to-have party. With LLVM as a
    foundation for the current crop of VMS compilers, many things are
    possible (but nothing is easy).

    Has anyone actually tried porting FPC to VMS? It looks at first glance
    like a lot of it is written in Pascal, so I assume it would need to be cross-compiled initially.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Craig A. Berry on Tue Sep 3 18:51:44 2024
    On 9/3/2024 6:27 PM, Craig A. Berry wrote:
    On 9/3/24 2:59 PM, Arne Vajhøj wrote:
    On 9/2/2024 7:51 PM, Lawrence D'Oliveiro wrote:
    On Mon, 2 Sep 2024 11:35:16 -0400, Arne Vajhøj wrote:
    On PC:

    C:\Work\VMS\objectpascal>ppcjvm demo.pas
    ...

    On VMS:

    $ java -cp demo.jar:fpcjvm.jar "demo"
    F1=0,F2=
    F1=123,F2=ABC

    VMS can no longer self-host its own development stack any more.

    It depends on what is meant by "its own development stack." It certainly
    does self-host the tools used to build the OS itself.

    Yes.

    Even though for the time being I think VSI is still building
    all/most of VMS x86-64 on VMS Itanium.

    There are lots of compilers and interpreters available on VMS.

    There are also a bunch that are not available on VMS. That
    bunch include FPC.

    If someone wanted FPC to run on VMS, then they could
    port it. It is open source.

    FPC has really nothing to do with VMS, but compiling to
    Java byte code is a very broad targeting cross compiler.
    Which I took advantage of.

    And I think everyone who wasn't trolling recognized that.  The JVM
    brings a big party with it wherever it goes.  .NET would bring a
    slightly smaller but still nice-to-have party.  With LLVM as a
    foundation for the current crop of VMS compilers, many things are
    possible (but nothing is easy).

    Yes.

    Has anyone actually tried porting FPC to VMS?  It looks at first glance
    like a lot of it is written in Pascal, so I assume it would need to be cross-compiled initially.

    Given how many OS'es it has already been ported to, then it should
    be very doable.

    But as usual it requires somebody to do the work.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to bill on Tue Sep 3 20:34:00 2024
    On 9/3/2024 8:22 PM, bill wrote:
    On 9/3/2024 6:27 PM, Craig A. Berry wrote:
    Has anyone actually tried porting FPC to VMS?  It looks at first glance
    like a lot of it is written in Pascal, so I assume it would need to be
    cross-compiled initially.

    Why?  Wasn't the VMS Pascal compiler ported?  I would think it
    would be a lot easier porting something written in Pascal
    compared to something written in C.

    If FPC source is ISO Pascal then VMS Pascal may be able to build it
    with maybe a few tweaks.

    But if the FPC source is Object Pascal then VMS Pascal is of no use.

    A quick glance at https://github.com/fpc/FPCSource/screams Object Pascal.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to All on Tue Sep 3 22:36:02 2024
    On 9/3/2024 6:51 PM, Arne Vajhøj wrote:
    On 9/3/2024 6:27 PM, Craig A. Berry wrote:
    Has anyone actually tried porting FPC to VMS?  It looks at first glance
    like a lot of it is written in Pascal, so I assume it would need to be
    cross-compiled initially.

    Given how many OS'es it has already been ported to, then it should
    be very doable.

    But as usual it requires somebody to do the work.

    And to be clear then this work would have to be driven by
    fondness for Pascal. There is no business case.

    If VSI or someone else want to port something on a
    commercial basis then I think the priority list should
    be:

    1) .NET with C#, F# and VB.NET
    2) Graal with OpenJDK AOT compile, GraalJS, GraalPy, TruffleRuby, FastR
    and GraalWasm
    3) V8 and node.js
    4) Go
    5) R

    Rust, Zig, Swift, Julia and FPC does not make the cut. IMHO.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to Simon Clubley on Tue Sep 3 22:48:04 2024
    On 9/3/2024 2:02 PM, Simon Clubley wrote:
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:

    Seems there is some opinions that everything should run on everything. That >> just isn't so, and why should it be?


    No. There are things that are expected to be available in a modern ecosystem or for which it would be highly desirable for them to be available.

    That is some rather broad statements. Not much detail. Easy to say. A bit like the question "is your mother still hooking on the corner, or did she quit?"
    I have to ask, what are these features, and why are they desirable in every instance?

    Environments that do not support those things rapidly acquire legacy status and then unusable in a modern environment status.

    "those things" ????????????

    BTW, the above is not a Free Pascal comment, but more of a general observation.

    As for VMS and Pascal, there is a very decent implementation of that language on
    VMS, so what's the problem when a product aimed at a different environment will
    not run on every environment.


    So how capable are the OO features in VMS Pascal these days ?

    You state that similar to my comment above, as if it is a given that OO is necessary. Perhaps not. Cheap way to avoid my question.

    BTW, about portability, the Free Pascal people say this on their website:

    |Free Pascal is a mature, versatile, open source Pascal compiler. It
    |can target many processor architectures: Intel x86 (16 and 32 bit), |AMD64/x86-64, PowerPC, PowerPC64, SPARC, SPARC64, ARM, AArch64, MIPS, |Motorola 68k, AVR, and the JVM. Supported operating systems include
    |Windows (16/32/64 bit, CE, and native NT), Linux, Mac OS |X/iOS/iPhoneSimulator/Darwin, FreeBSD and other BSD flavors, DOS (16
    |bit, or 32 bit DPMI), OS/2, AIX, Android, Haiku, Nintendo GBA/DS/Wii, |AmigaOS, MorphOS, AROS, Atari TOS, and various embedded platforms. |Additionally, support for RISC-V (32/64), Xtensa, and Z80
    |architectures, and for the LLVM compiler infrastructure is available
    |in the development version. Additionally, the Free Pascal team
    |maintains a transpiler for pascal to Javascript called pas2js.

    No VMS however.

    Seems as if thoswe people aren't as "open" as they think they are. If the world
    is mainly WEENDOZE and Unix and derivatives perhaps.


    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to bill on Tue Sep 3 22:55:14 2024
    On 9/3/2024 8:35 PM, bill wrote:
    On 9/3/2024 8:34 PM, Arne Vajhøj wrote:
    On 9/3/2024 8:22 PM, bill wrote:
    On 9/3/2024 6:27 PM, Craig A. Berry wrote:
    Has anyone actually tried porting FPC to VMS? It looks at first glance >>>> like a lot of it is written in Pascal, so I assume it would need to be >>>> cross-compiled initially.

    Why? Wasn't the VMS Pascal compiler ported? I would think it
    would be a lot easier porting something written in Pascal
    compared to something written in C.

    If FPC source is ISO Pascal then VMS Pascal may be able to build it
    with maybe a few tweaks.

    But if the FPC source is Object Pascal then VMS Pascal is of no use.

    A quick glance at https://github.com/fpc/FPCSource/screams Object Pascal.


    So, that OO shit comes out to bite people on the ass yet again. :-)

    bill



    Some like to forget, at the bottom, it is just ones and zeros ...

    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Townley@21:1/5 to All on Wed Sep 4 13:14:18 2024
    On 04/09/2024 01:34, Arne Vajhøj wrote:
    On 9/3/2024 8:22 PM, bill wrote:
    On 9/3/2024 6:27 PM, Craig A. Berry wrote:
    Has anyone actually tried porting FPC to VMS?  It looks at first glance >>> like a lot of it is written in Pascal, so I assume it would need to be
    cross-compiled initially.

    Why?  Wasn't the VMS Pascal compiler ported?  I would think it
    would be a lot easier porting something written in Pascal
    compared to something written in C.

    If FPC source is ISO Pascal then VMS Pascal may be able to build it
    with maybe a few tweaks.

    But if the FPC source is Object Pascal then VMS Pascal is of no use.

    A quick glance at https://github.com/fpc/FPCSource/screams Object Pascal.

    Arne


    I see that FPC are planning LLVM back-end support...

    --
    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to Dave Froble on Wed Sep 4 18:07:47 2024
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:
    On 9/3/2024 8:35 PM, bill wrote:
    On 9/3/2024 8:34 PM, Arne Vajhøj wrote:
    On 9/3/2024 8:22 PM, bill wrote:
    On 9/3/2024 6:27 PM, Craig A. Berry wrote:
    Has anyone actually tried porting FPC to VMS? It looks at first glance >>>>> like a lot of it is written in Pascal, so I assume it would need to be >>>>> cross-compiled initially.

    Why? Wasn't the VMS Pascal compiler ported? I would think it
    would be a lot easier porting something written in Pascal
    compared to something written in C.

    If FPC source is ISO Pascal then VMS Pascal may be able to build it
    with maybe a few tweaks.

    But if the FPC source is Object Pascal then VMS Pascal is of no use.

    A quick glance at https://github.com/fpc/FPCSource/screams Object Pascal. >>>

    So, that OO shit comes out to bite people on the ass yet again. :-)


    Some like to forget, at the bottom, it is just ones and zeros ...


    You can write entire applications and operating systems in assembly
    language if you wish. Nobody sane does that these days because
    higher-level procedural languages have abstractions that make the
    writing of these programs/environments much easier and far more reliable.

    Likewise, OO languages, when used properly, are an even higher level
    of abstraction over procedural languages.

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to bill on Wed Sep 4 15:07:33 2024
    On 9/3/2024 8:35 PM, bill wrote:
    On 9/3/2024 8:34 PM, Arne Vajhøj wrote:
    On 9/3/2024 8:22 PM, bill wrote:
    On 9/3/2024 6:27 PM, Craig A. Berry wrote:
    Has anyone actually tried porting FPC to VMS?  It looks at first glance >>>> like a lot of it is written in Pascal, so I assume it would need to be >>>> cross-compiled initially.

    Why?  Wasn't the VMS Pascal compiler ported?  I would think it
    would be a lot easier porting something written in Pascal
    compared to something written in C.

    If FPC source is ISO Pascal then VMS Pascal may be able to build it
    with maybe a few tweaks.

    But if the FPC source is Object Pascal then VMS Pascal is of no use.

    A quick glance at https://github.com/fpc/FPCSource/ screams Object Pascal.

    So, that OO shit comes out to bite people on the ass yet again.  :-)

    The other side of the coin says "the lack up of OO support
    comes out to bite people on the ass yet again".

    :-)

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Chris Townley on Wed Sep 4 15:10:49 2024
    On 9/4/2024 8:14 AM, Chris Townley wrote:
    On 04/09/2024 01:34, Arne Vajhøj wrote:
    On 9/3/2024 8:22 PM, bill wrote:
    On 9/3/2024 6:27 PM, Craig A. Berry wrote:
    Has anyone actually tried porting FPC to VMS?  It looks at first glance >>>> like a lot of it is written in Pascal, so I assume it would need to be >>>> cross-compiled initially.

    Why?  Wasn't the VMS Pascal compiler ported?  I would think it
    would be a lot easier porting something written in Pascal
    compared to something written in C.

    If FPC source is ISO Pascal then VMS Pascal may be able to build it
    with maybe a few tweaks.

    But if the FPC source is Object Pascal then VMS Pascal is of no use.

    A quick glance at https://github.com/fpc/FPCSource/screams Object Pascal.

    I see that FPC are planning LLVM back-end support...

    That could potentially help a bit with the hypothetical VMS port.

    It will definitely help with the optimization of the code generated
    by FPC. It is significantly worse than what GCC/LLVM/MSVC++.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Dave Froble on Wed Sep 4 15:30:28 2024
    On 9/3/2024 10:48 PM, Dave Froble wrote:
    On 9/3/2024 2:02 PM, Simon Clubley wrote:
    BTW, about portability, the Free Pascal people say this on their website:

    |Free Pascal is a mature, versatile, open source Pascal compiler. It
    |can target many processor architectures: Intel x86 (16 and 32 bit),
    |AMD64/x86-64, PowerPC, PowerPC64, SPARC, SPARC64, ARM, AArch64, MIPS,
    |Motorola 68k, AVR, and the JVM. Supported operating systems include
    |Windows (16/32/64 bit, CE, and native NT), Linux, Mac OS
    |X/iOS/iPhoneSimulator/Darwin, FreeBSD and other BSD flavors, DOS (16
    |bit, or 32 bit DPMI), OS/2, AIX, Android, Haiku, Nintendo GBA/DS/Wii,
    |AmigaOS, MorphOS, AROS, Atari TOS, and various embedded platforms.
    |Additionally, support for RISC-V (32/64), Xtensa, and Z80
    |architectures, and for the LLVM compiler infrastructure is available
    |in the development version. Additionally, the Free Pascal team
    |maintains a transpiler for pascal to Javascript called pas2js.

    No VMS however.

    Seems as if thoswe people aren't as "open" as they think they are.  If
    the world is mainly WEENDOZE and Unix and derivatives perhaps.

    They cover like 95% of the server market, 99% of the desktop
    market and 99% of the mobile device market for development and
    like 3 times 99% for runtime (z/OS, i and VMS all has JVM available).

    Not so bad.

    But anyone finding that some important platform is missing are free
    to port to that platform.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Dave Froble on Wed Sep 4 15:29:23 2024
    On 9/3/2024 10:48 PM, Dave Froble wrote:
    On 9/3/2024 2:02 PM, Simon Clubley wrote:
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:
    As for VMS and Pascal, there is a very decent implementation of that
    language on
    VMS, so what's the problem when a product aimed at a different
    environment will
    not run on every environment.

    So how capable are the OO features in VMS Pascal these days ?

    You state that similar to my comment above, as if it is a given that OO
    is necessary.  Perhaps not.  Cheap way to avoid my question.

    If you write OS kernel or an embedded application for a device counting
    memory in KB (or maybe a few MB): it is not necessary.

    For most everything else: it is necessary - most developers expect OO
    features to be available.

    Languages with OO support are dominant in the industry. Of the seven
    most widely used languages today (Python, JavaScript, Java, C, C++,
    C# and PHP) only one (C) does not have OO support.

    And OO does provide value at least for larger applications. The
    encapsulation and abstraction makes life a lot easier for larger
    applications.

    As any feature then OO can and has been misused though. A lot of
    "early 90's style" C++ code demonstrate that.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Wed Sep 4 21:38:45 2024
    On Wed, 4 Sep 2024 15:10:49 -0400, Arne Vajhøj wrote:

    [LLVM] will definitely help with the optimization of the code generated
    by FPC. It is significantly worse than what GCC/LLVM/MSVC++.

    Also, I came across this project called QBE <https://c9x.me/compile/>.
    It’s nowhere near as ambitious as LLVM, but it looks interesting for some smaller-scale uses.

    There’s a standard Debian package available. Also, it doesn’t insist on strict SSA. ;)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to Lawrence D'Oliveiro on Thu Sep 5 12:10:12 2024
    On 2024-09-04, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Wed, 4 Sep 2024 15:10:49 -0400, Arne Vajhøj wrote:

    [LLVM] will definitely help with the optimization of the code generated
    by FPC. It is significantly worse than what GCC/LLVM/MSVC++.

    Also, I came across this project called QBE <https://c9x.me/compile/>.
    It?s nowhere near as ambitious as LLVM, but it looks interesting for some smaller-scale uses.

    There?s a standard Debian package available. Also, it doesn?t insist on strict SSA. ;)

    Looks interesting, but it only has a limited number of backends and
    they are all 64-bit.

    I am always looking for a much lighter version of LLVM but it needs
    to have a good range of backends available, including the 32-bit
    architectures.

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Fri Sep 6 19:35:19 2024
    On 9/6/2024 7:31 PM, Lawrence D'Oliveiro wrote:
    On Tue, 3 Sep 2024 22:36:02 -0400, Arne Vajhøj wrote:
    And to be clear then this work would have to be driven by fondness for
    Pascal. There is no business case.

    Back in the day, there was DECUS -- an active community of users creating/ adapting and collecting software for DEC systems, for each other to use.

    Where is that now?

    The artifacts from back then still exist.

    https://www.digiater.nl/openvms/decus/

    The number of VMS users has decreased since then.

    The numbers of VMS users actively contributing has
    decreased even more since then.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Fri Sep 6 23:31:37 2024
    On Tue, 3 Sep 2024 22:36:02 -0400, Arne Vajhøj wrote:

    And to be clear then this work would have to be driven by fondness for Pascal. There is no business case.

    Back in the day, there was DECUS -- an active community of users creating/ adapting and collecting software for DEC systems, for each other to use.

    Where is that now?

    If VSI or someone else want to port something on a commercial basis then
    I think the priority list should be:

    1) .NET with C#, F# and VB.NET

    Dotnet never seemed more than a Microsoft corporate vanity project (a
    reaction to Sun’s lawsuit over Java), rather than an actual important technology. Microsoft themselves have never used it for anything strategic (e.g. Office); their one attempt to incorporate it deeply into the OS
    (Vista) ended in failure.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Fri Sep 6 19:38:58 2024
    On 9/6/2024 7:31 PM, Lawrence D'Oliveiro wrote:
    On Tue, 3 Sep 2024 22:36:02 -0400, Arne Vajhøj wrote:
    If VSI or someone else want to port something on a commercial basis then
    I think the priority list should be:

    1) .NET with C#, F# and VB.NET

    Dotnet never seemed more than a Microsoft corporate vanity project (a reaction to Sun’s lawsuit over Java), rather than an actual important technology. Microsoft themselves have never used it for anything strategic (e.g. Office); their one attempt to incorporate it deeply into the OS
    (Vista) ended in failure.

    When you last posted this (August 5th) I gave you a list of MS
    stuff known to be using .NET.

    A bit weird to repost again after that.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Dave Froble on Fri Sep 6 20:30:33 2024
    On 9/6/2024 8:19 PM, Dave Froble wrote:
    On 9/4/2024 3:29 PM, Arne Vajhøj wrote:
    On 9/3/2024 10:48 PM, Dave Froble wrote:
    On 9/3/2024 2:02 PM, Simon Clubley wrote:
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:
    As for VMS and Pascal, there is a very decent implementation of that >>>>> language on
    VMS, so what's the problem when a product aimed at a different
    environment will
    not run on every environment.

    So how capable are the OO features in VMS Pascal these days ?

    You state that similar to my comment above, as if it is a given that
    OO is
    necessary.  Perhaps not.  Cheap way to avoid my question.

    If you write OS kernel or an embedded application for a device counting
    memory in KB (or maybe a few MB): it is not necessary.

    Ok, your word, "necessary".

    Explain to me why OO is necessary ...

    Not that it may be useful, or desired.  You wrote "necessary".

    They relate.

    If the customers consider a feature so useful/desired that it
    influence their product choice, then it becomes business necessary
    for the vendor to add that feature.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to All on Fri Sep 6 20:19:19 2024
    On 9/4/2024 3:29 PM, Arne Vajhøj wrote:
    On 9/3/2024 10:48 PM, Dave Froble wrote:
    On 9/3/2024 2:02 PM, Simon Clubley wrote:
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:
    As for VMS and Pascal, there is a very decent implementation of that
    language on
    VMS, so what's the problem when a product aimed at a different environment will
    not run on every environment.

    So how capable are the OO features in VMS Pascal these days ?

    You state that similar to my comment above, as if it is a given that OO is >> necessary. Perhaps not. Cheap way to avoid my question.

    If you write OS kernel or an embedded application for a device counting memory in KB (or maybe a few MB): it is not necessary.

    Ok, your word, "necessary".

    Explain to me why OO is necessary ...

    Not that it may be useful, or desired. You wrote "necessary".


    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to bill on Fri Sep 6 22:27:57 2024
    On 9/6/2024 9:13 PM, bill wrote:
    On 9/6/2024 8:19 PM, Dave Froble wrote:
    On 9/4/2024 3:29 PM, Arne Vajhøj wrote:
    On 9/3/2024 10:48 PM, Dave Froble wrote:
    On 9/3/2024 2:02 PM, Simon Clubley wrote:
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:
    As for VMS and Pascal, there is a very decent implementation of that >>>>>> language on
    VMS, so what's the problem when a product aimed at a different environment
    will
    not run on every environment.

    So how capable are the OO features in VMS Pascal these days ?

    You state that similar to my comment above, as if it is a given that OO is >>>> necessary. Perhaps not. Cheap way to avoid my question.

    If you write OS kernel or an embedded application for a device counting
    memory in KB (or maybe a few MB): it is not necessary.

    Ok, your word, "necessary".

    Explain to me why OO is necessary ...

    Not that it may be useful, or desired. You wrote "necessary".



    Dave, you're wasting your time. The COBOL world asked that
    question and look what they did to them. :-)

    bill


    Still, someone has to mention it.

    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to Lawrence D'Oliveiro on Mon Sep 9 12:07:23 2024
    On 2024-09-06, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Tue, 3 Sep 2024 22:36:02 -0400, Arne Vajhøj wrote:

    And to be clear then this work would have to be driven by fondness for
    Pascal. There is no business case.

    Back in the day, there was DECUS -- an active community of users creating/ adapting and collecting software for DEC systems, for each other to use.

    Where is that now?


    I wonder if anyone is still using DECUS C ? :-)

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael S@21:1/5 to Simon Clubley on Mon Sep 9 15:29:13 2024
    On Mon, 9 Sep 2024 12:19:50 -0000 (UTC)
    Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:

    On 2024-09-06, Dave Froble <davef@tsoft-inc.com> wrote:
    On 9/4/2024 3:29 PM, Arne Vajhøj wrote:
    On 9/3/2024 10:48 PM, Dave Froble wrote:
    On 9/3/2024 2:02 PM, Simon Clubley wrote:
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:
    As for VMS and Pascal, there is a very decent implementation of
    that language on
    VMS, so what's the problem when a product aimed at a different
    environment will not run on every environment.

    So how capable are the OO features in VMS Pascal these days ?

    You state that similar to my comment above, as if it is a given
    that OO is necessary. Perhaps not. Cheap way to avoid my
    question.

    If you write OS kernel or an embedded application for a device
    counting memory in KB (or maybe a few MB): it is not necessary.

    Ok, your word, "necessary".

    Explain to me why OO is necessary ...

    Not that it may be useful, or desired. You wrote "necessary".


    Because the sheer size of the projects involved require the additional abstraction and encapsulation that OO brings to the table.

    There is a reason why Ada, a language designed for building extremely
    large safety-critical systems, added OO features to its second
    iteration and the only debate has been on the syntax, not whether
    those OO features were required.


    1995. And I suppose that the effort started 2-3 year early, exactly at
    the peak of OO hype.

    It's the exact same reason why no-one builds a OS in assembly language
    these days. Technically you "could" do it, but to build something
    viable and robust and in a reasonable amount of time, it is
    "necessary" to use a higher-level language such as C.

    Simon.


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to Dave Froble on Mon Sep 9 12:19:50 2024
    On 2024-09-06, Dave Froble <davef@tsoft-inc.com> wrote:
    On 9/4/2024 3:29 PM, Arne Vajhøj wrote:
    On 9/3/2024 10:48 PM, Dave Froble wrote:
    On 9/3/2024 2:02 PM, Simon Clubley wrote:
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:
    As for VMS and Pascal, there is a very decent implementation of that >>>>> language on
    VMS, so what's the problem when a product aimed at a different environment will
    not run on every environment.

    So how capable are the OO features in VMS Pascal these days ?

    You state that similar to my comment above, as if it is a given that OO is >>> necessary. Perhaps not. Cheap way to avoid my question.

    If you write OS kernel or an embedded application for a device counting
    memory in KB (or maybe a few MB): it is not necessary.

    Ok, your word, "necessary".

    Explain to me why OO is necessary ...

    Not that it may be useful, or desired. You wrote "necessary".


    Because the sheer size of the projects involved require the additional abstraction and encapsulation that OO brings to the table.

    There is a reason why Ada, a language designed for building extremely
    large safety-critical systems, added OO features to its second iteration
    and the only debate has been on the syntax, not whether those OO features
    were required.

    It's the exact same reason why no-one builds a OS in assembly language
    these days. Technically you "could" do it, but to build something viable
    and robust and in a reasonable amount of time, it is "necessary" to use
    a higher-level language such as C.

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to clubley@remove_me.eisner.decus.org- on Mon Sep 9 18:33:43 2024
    In article <vbmp56$2dbee$2@dont-email.me>,
    Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
    On 2024-09-06, Dave Froble <davef@tsoft-inc.com> wrote:
    On 9/4/2024 3:29 PM, Arne Vajhøj wrote:
    On 9/3/2024 10:48 PM, Dave Froble wrote:
    On 9/3/2024 2:02 PM, Simon Clubley wrote:
    On 2024-09-03, Dave Froble <davef@tsoft-inc.com> wrote:
    As for VMS and Pascal, there is a very decent implementation of that >>>>>> language on
    VMS, so what's the problem when a product aimed at a different environment will
    not run on every environment.

    So how capable are the OO features in VMS Pascal these days ?

    You state that similar to my comment above, as if it is a given that OO is >>>> necessary. Perhaps not. Cheap way to avoid my question.

    If you write OS kernel or an embedded application for a device counting
    memory in KB (or maybe a few MB): it is not necessary.

    Ok, your word, "necessary".

    Explain to me why OO is necessary ...

    Not that it may be useful, or desired. You wrote "necessary".

    Because the sheer size of the projects involved require the additional >abstraction and encapsulation that OO brings to the table.

    This is a bit of a false dichotomy. I believe that it _is_ true
    that software nowadays has become sufficiently complex that some
    sort of first-class abstraction facility beyond what we get with
    a procedural langauge is necessary. However, it does not follow
    that OO is the only such abstraction facility.

    Moreover, what is considered "OO" varies, so if we want to
    describe it as a requirement, who's definition are we going
    with? Kay-style Smalltalk OO? Stroupstrup-style "C with
    classes" 1998 and earlier C++? Or C++'11 and later? Wirth
    Oberon-style super minimal OO? Is a language "OO" if you can
    simply define a method on a type, or restrict the visibility
    of a composite type's members in some meaningful way? What
    about languages that claim to be OO but don't really let you
    restrict the visibility of most anything?

    There is a reason why Ada, a language designed for building extremely
    large safety-critical systems, added OO features to its second iteration
    and the only debate has been on the syntax, not whether those OO features >were required.

    I don't find this argument convincing. Ada added OO facilities
    because OO was hot at the time and they wanted to attract more
    users. How many safety-critical systems built with Ada make
    heavy use of the OO features? For that matter, COBOL added OO
    facilities to try and make itself more attractive, but how many
    large COBOL code bases really use them aggressively?

    It's the exact same reason why no-one builds a OS in assembly language
    these days. Technically you "could" do it, but to build something viable
    and robust and in a reasonable amount of time, it is "necessary" to use
    a higher-level language such as C.

    See above. Just because you could use C doesn't mean that you
    should, particularly these days when there are better choices.
    Similarly, just because you _can_ make heavy use of OO (again,
    what does that even mean?) doesn't mean that you should.

    Certainly, there are known anti-patterns in OO that we have
    learned to avoid, like deeply nested inheritence hierarchies or
    multiple inheritence (most of the time, anyway).

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)