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)?
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?
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.
---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