On 16.11.2023 22:54, David Crayford wrote:
I don't find ooRexx useful on the PC as it's basically on life support
where Python has millions of contributors. Take data validation as an
example. There is a first class library https://docs.pydantic.dev/latest/.
Python isn't my favorite language by a large margin. But it is useful so it
wins. Same same with Java. Personal preference is secondary to a pragmatic
choice.
The combination of ooRexx [1] with Java [2] - on all platforms - allows one to exploit all of Java
(the Java runtime environment) as a huge external class library for ooRexx. Unlike with Python there
would be no need to locate, choose and import specific modules with the needed functionality, rather
one can use the Rexx skills to immediately exploit all of the Java functionality on all platforms.
It is hard to realize/assess the potential of this combination without a little bit of curiosity and
the will to learn new tricks.
---rony
[1] ooRexx download site:
<https://sourceforge.net/projects/oorexx/files/oorexx/>
[2] ooRexx-Java bridge (BSF4ooRexx850) download site:
<https://sourceforge.net/projects/bsf4oorexx/files/beta/20221004/>
On Fri, Nov 17, 2023 at 5:32 AM Seymour J Metz <[email protected]> wrote:
I find REXX extremely useful on PCs, but TSO/E REXX is a backwater
compared to ooRexx, and I would be tempted to use Java or Python for
complicated TSO scripts. But on z/Linux ooRexx with BSF4REXX is a viable
option.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
________________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf
of David Crayford <[email protected]>
Sent: Thursday, November 16, 2023 4:02 PM
To: [email protected]
Subject: Re: External Functions in C on z/OS
I choose a language on capabilities rather than personal preference. I’ve
been accused on this forum by my ex-colleague and pal Wayne Bickerdyke of
having a pathological dislike of REXX. That’s not true, but I do find it
less useful than other languages. Python has a useful library called ctypes
which includes classes for mapping data structures with Python classes. We
use BigEndianStructure for mapping control blocks
https://docs.python.org/3/library/ctypes.html#ctypes.BigEndianStructure.
It would be cool if the tooling that we worked on with Peter Relson to
create C header files could be reused to generate Python mappings. With the
recent zIIP offloading Python is strategic.
On 17 Nov 2023, at 12:38 am, Charles Mills <[email protected]> wrote:
Different strokes for different folks.
1. I was not aware of that pointer. This is the classic documentation
problem. The answer is right there in the manual, clear as day -- provided
you know where to look. A lot of these answers are easy to find, assuming
you already know the answer.
2. My code is running a complex Rexx environment that frankly I do not
fully understand. (I didn't write it and it isn't "mine.") I wanted to be
sure I had THE right environment block, not SOME environment block. An
11-instruction assembler module seemed like a great solution. I still
believe that it was.
Charles
On Thu, 16 Nov 2023 11:31:20 +0800, David Crayford <[email protected]>
wrote:
There's a TSO/E vector table that has the address of the REXX routines.
// get the address of the TSO/e vector table
CVT * cvt = *(( CVT ** ) CVTPTR);
TSVT * tsvt = cvt->cvttvt;
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN