On 29/06/2022 11:07 pm, Rony G. Flatscher wrote:
Hi David,

On 29.06.2022 15:54, David Crayford wrote:
I know ooRexx. I ported it to z/OS 10 years ago but it was buggy and slow.

Hmm, ten years ago? Over time there has been so much improvements in these and other areas including a testing framework with quite a comprehensive coverage of the ooRexx interpreter.

There is zero chance of IBM or a vendor wasting resources on REXX today as there is no market for it.

Hmm, so you speak for IBM? The REXX infrastructure, the REXX experts, the ability to learn REXX (and ooRexx for that matter) in a short time, becoming empowered to solve mainframe based problems quickly and the like does not constitute a USP (uinque selling proposition on the market)?

I don't speak for IBM but we provide the SciPy libraries for the IBM AI/ML products.




Now we have Python on z/OS REXX is very much a legacy language. That's even more pertinent with the shift from TSO/ISPF to IDEs.

Hmm, so Python is the end of the world as it solves everything? No other language stands a chance anymore?

Python isn't my favorite language I just can't see any use for REXX outside of TSO/ISPF.



I could be wrong and I'm willing to be turned. I'm a big fan of Lua which I consider to be the most elegant language I know.

Sure, Lua - like many other languages following different paradigms - is an interesting language, but it could not be used to teach Business administration students programming from scratch within four months to the extent that in the end they would be able to program Windows, MSO, create complex, portable GUIs etc. on their own. It can be done with ooRexx (and the BSF4ooRexx function library bridging ooRexx and Java), believe it or not. As a result it is cheaper to learn ooRexx, and the problem solving capacity one gains with it quickly is really quite unparalleled.

Having REXX/ooRexx one is able to easily orchestrate and control other software. If need be one can bridge REXX/ooRexx easily with specialized software like database management systems (who would write one in REXX or Python for that matter) and the like.

In today's world I would deploy Java everywhere and exploit Java class libraries as much as possible from other languages, if need be. For the latter to be feasible you need a flexible, dynamical and easy to use language which is proven, which can be said of ooRexx with the ooRexx-Java bridge.


It can easily be used to write DSLs for configuration or model development. How do I write a DSL in REXX?

Why would I want to? Why not: "How do I write a DSL in C++?"


https://leafo.net/guides/dsl-in-lua.html

REXX is such an easy programming language that one does not need to create yet another language to make it usable. ;)

If really needed one could create DSLs with ooRexx  as with any other programming language, of course.
Really? Lua supports closures which is why it can be used for DSLs. REXX does not. You would need to write a parser.

---rony



On 29/06/2022 9:41 pm, Rony G. Flatscher wrote:
Hi David,

On 29.06.2022 14:06, David Crayford wrote:
On 29/06/2022 6:37 pm, Seymour J Metz wrote:
Sme, but manageable. The article Safe REXX at <http://www.rexxla.org/Newsletter/9812safe.html> and <http://www.rexxla.org/Newsletter/9901safe.html";> has some tips on avoiding REXX pitfalls.

What's the point in managing something when you can just use a better language? It's a good time to be working on z/OS as we have an abundance of choice. That's not entirely obvious on this forum where every problem seems to be met with a ham-fisted REXX solution.

Yes, Crayford's bashing REXX again. I have some experience of using z/OS UNIX REXX services but I didn't find it productive. Maybe somebody with more knowledge than me could post a snippet that demonstrates how to recursively traverse a directory tree printing the entries.

The problem is that this is not constructive. Not sure why it is so important for you to bash REXX even if it makes you look bad at times.

REXX in the mainframe world (I learned REXX for the first time on a VM/CMS 370 system a few decades ago) is of course a great - and unmatched - productivity tool and as a result over the decades there has been an incredible amount of useful REXX inventory created.  Best, REXX is easy to learn and easy to use like no other language of that power.

If you were to know ooRexx you would realize that porting it to the mainframe would even help yourself and everyone else to settle on a few important languages and not being forced to go astray with this language for solving this particular problem, that language for solving that particular problem, and then suggesting to use yet another language for ...

Porting ooRexx to the mainframe would allow for keeping the existing REXX programs running with ooRexx (the design of ooRexx - by demand of IBM's customers - is such that it is compatible with classic REXX). Therefore one can use ooRexx to run existing REXX programs and one could use ooRexx to create new classic REXX programs.

Only then would one become able to take advantage of the many new ooRexx features like becoming able to fetch e.g. stems by reference,  or using ANSI REXX' "address...with" (e.g. redirecting input from stems or standard and error output to stems), being able to create public Rexx routines (can be directly called from another REXX program) and much more.

Doing so would be sensible as it allows for exploiting the already known programming language, its environment and existing REXX infrastructure; one would gain new abilities and options from then on.

Also the important property - being able to learn and understand the language quickly - remains intact with ooRexx, it just increases the problem solution capacity dramatically by embracing the object-oriented paradigm the way it does.

If Business administration students are able to learn ooRexx from scratch in just four months such that in the end they have become able to create programs for Windows and Microsoft Office (after only two months) and portable (running unchanged on Windows, Linux and MacOS) applications including OpenOffice/LibreOffice and even JavaFX (!) GUIs (after another two months, exploiting all of Java which gets camouflaged as the dynamically typed, caseless ooRexx, without having to learn a single line of Java; one only needs to be able to read and understand the JavaDocs).

So it is feasible and not expensive at all to teach newcomers to program in ooRexx. Putting ooRexx into the hands of REXXperts like the ones that can be found here, would be a real and important boon ...

As IBM has been successfully porting quite a few programming languages to the mainframe, it should be feasible to port ooRexx as well as ooRexx is purely implemented in C++ (it has in addition a very nice and powerful native API to the interpreter) making a modern and powerful incarnation of REXX available on the mainframe where REXX was born ...

---rony

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to