On 25/06/2021 6:37 am, Seymour J Metz wrote:
What else?
Stack and attention handling. Supporting existing REXX-aware code. Possibly 
rxapi. Address size issues.

Would a build of OoRexx without fopen() be useful?
Presumably David found it useful.

I value languages that support the MVS file system. All I had to do to enable Lua to run from from PDS data sets was to patch the package loader with an extra string "//DD:LUA(%s)" and it worked. The point of difference between Rockets Python and IBMs is that Rocket have switched `open` to `fopen` so `f = open("rb", "type=record,noseek")` will work with data sets. To me that's important but not so much to the millenials
as they live in z/OS UNIX and only venture into TSO/SDSF to use SDSF.

When I ported ooRexx to z/OS I ran into this roadblock. I mentioned it to the project lead and he suggested introducing delegates. I bailed at that point. Everything about ooRexx is difficult. Porting Python and Lua is relatively easy. All the languages I'm familiar with use a VM so generate bytecode. ooRexx creates a humongous object graph. Every instruction and statement is a C++ class that inherits from an abstract base class. It's OO madness and the major reason why it's carthorse slow. It's a relic of it's time when inheritance was overused. These days inheritance is used with caution and composition is the preferred pattern. Some modern languages like Rust don't even support inheritance.

I don't see the point in ooRexx when languages like Python are so much better and easy to learn.

[1] https://github.com/ooRexx/ooRexx/blob/master/interpreter/instructions/IfInstruction.hpp



Would a port of  OoRexx readily support ADDRESS SYSCALL, ADDRESS SDSF,
ADDRESS ISREDIT, , perhaps using replaceable packages,unmodified?
It would have to in order to be useful.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of 
Paul Gilmartin [[email protected]]
Sent: Thursday, June 24, 2021 3:52 PM
To: [email protected]
Subject: Re: Coding for the future

On Tue, 22 Jun 2021 11:23:41 +0000, Seymour J Metz  wrote:

Yes, I know that TSO support requires heavy lifting, and not just for fopen().


Would a build of OoRexx without fopen() be useful?

(bI've long wished that catalogued data sets could routinely be mounted
via NFS so open() would suffice.)

The problem is that those "more modern" languages don't support the close 
integration of scripts to applications that REXX supports.

Would a port of  OoRexx readily support ADDRESS SYSCALL, ADDRESS SDSF,
ADDRESS ISREDIT, , perhaps using replaceable packages,unmodified?

________________________________________
From: David Crayford [[email protected]]
Sent: Tuesday, June 22, 2021 2:45 AM

Never going to happen. I ported ooRexx to z/OS UNIX over a decade ago
and getting it to work in TSO is a heavy lift. It doesn't use fopen() so
needs a lot of patching to work with MVS data sets. It's not worth the
effort. There are better, more modern languages available on z/OS now so
it's only the diehard REXXers that are interested.
-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to