... cut ...
That's why I have absolutely no interest in NetRexx. I have far better options
on the JVM.
Well, you mention in another post that you were/are an expert REXX programmer,
love Lua, use Python
in your shop because of your teams coming with that knowledge from the
colleges, but nowadays you
would mainly code in Java/Kotlin. Kudos!
What appears to be a little bit strange with such a background is that you have
obviously never
really assessed NetRexx, as otherwise you could not possibly have come to such
wrong conclusions.
Why would I invest time into NetRexx. How many NetRexx jobs are there out there?
Why would that be important?
(Besides, due to NetRexx' design philosophy there is not really much time to
invest, especially if
you have a good REXX background such that you understand already the purpose of
e.g. the keyword
statement TRACE; you may want to try to trace a program written in Java or
Kotlin the way NetRexx
allows for.)
The question to ask is: can NetRexx be used to (quickly) create reliable
professional applications?
The answer is simple: yes. It is available, it is proven, it has been
successfully used to create
professional programs. (In case you must supply Java source code, you still can
use NetRexx and have
it eject Java source code.)
NetRexx creates normal, genuine Java classes as does the Java compiler or the
Kotlin (or the Groovy
...) compiler. All the compiled Java classes (Java bytecode) can interoperate,
with each other so it
is possible to use NetRexx compiled Java classes from Java and Kotlin (and
Groovy ...) and the other
way round, NetRexx can use Java classes compiled from Java or Kotlin (or Groovy
...) programs and
the like. Therefore it does not matter whether everyone on earth is using
NetRexx or only a single
person.
The question then is: what is the problem at hand, what programming languages
qualify best to solve
it? And NetRexx can be used for most problem domains, no need to use a language
with special
features that are not needed to solve the problem at hand.
If I were you (with your background), I would seriously look into NetRexx,
rather then ignore it.
You for sure would quickly become able to solve most of your programming
problems with it,
exploiting your REXX and Java knowledge. OTOH, if you do not want to look into
it, that is fine too,
of course, but then, please do not badmouth technologies you simply have no
experience with.
Kotlin is not only a first class language for server side it is also the
language of choice for
building Android applications.
Kotlin and Android is interesting: Android is a Linux-based operating system
for which Android
applications have been mostly created in Java for more than a decade, without
the public even
realizing it (even today). This is the reason why Oracle has been suing Google
over the use of Java,
although Google used an open source Java implementation from the Apache
software foundation. Google
used IntelliJ for developing Java applications for Android and even forked
IntelliJ. The IntelliJ
people came up with Kotlin a few years ago, which is a JVM language compiling
to Java classes (Java
bytecode), and Google embraced it.
AFAIK most of the Android applications get still created with Java as it takes
time to learn Kotlin
and as long as Kotlin does not really add great value to the application domain
it is cheaper to
stick to Java (saving learning curves and new type of coding errors). Besides,
if you witness the
evolution of the Java language you see that it is not really necessary to
switch to Kotlin as Java
gains step by step those concepts that programmers find really helpful.
Here a comparison of Java with Kotlin using your Google trends (borrowing your
idea from below):
<https://trends.google.com/trends/explore?q=%2Fm%2F07sbkfb,Kotlin>.
Who uses NetRexx? Are there any example applications that you can cite? REXX
has fallen off a
cliff https://trends.google.com/trends/explore?date=all&q=%2Fm%2F06g3m.
Well, following such trends there would be no mainframe, no z/OS, no COBOL, no
...
Also the trend looks different if taking the last twelve months:
<https://trends.google.com/trends/explore?q=%2Fm%2F06g3m>, it looks quite
healthy! ;)
It is always important to realize which (subset) and how the data gets
collected and how the results
get then interpreted. E.g. look at this (comparing Rexx, Basic, COBOL):
<https://trends.google.com/trends/explore?date=all&q=%2Fm%2F06g3m,%2Fm%2F019p2,cobol>.
So following your logic it does not make sense to look/invest into BASIC and
COBOL and ... yet, your
company, if not mistaken, earns money doing exactly that?
It's niche is the mainframe where it is an important and useful language. The
reason IBM are
porting languages like Python to z/OS is to keep the platform relevant.
Adding current technologies is always good, if they add value to the table, the
more open such
technology the better (from a strategic point of view)!
However, it is important to realize that REXX based/ignited technologies like
ooRexx (REXX++ ;) )
and NetRexx have been originally developed by IBM which made the sources
available to RexxLA for
open sourcing these technologies, hence ooRexx and NetRexx are there, are
available, proven,
powerful and allow any REXX programmer to take immediately advantage of its
(additional) features!
As you may have seen by looking up the little tutorial (links supplied in an
earlier posting) about
how to get ooRexx compiled for the mainframe to access DB2 on a mainframe, the
technology is there
and makes it quite easy for mainframe REXX programmers to take advantage of it.
This is much cheaper
and much more productive than waiting on another programming language to become
available with the
infrastructure REXX and REXX programmers have been enjoying and exploiting for
decades on the mainframe.
It would be even better, if the open source ooRexx 5 would get ported to z/OS
directly. It is plain
C++ (CMake) and it is *very* easy to add external functions using the ooRexx
C++ APIs (all of the
features of ooRexx become fully available from C++ as well, such that one could
even send ooRexx
objects/values messages directly from native C++ code, if necessary).
To see oneself what is involved in creating external functions for ooRexx you
may want to look up
the C++ API samples that get installed with ooRexx (cf. the directory
"samples\api\c++\external")
which demonstrate how easy it is to create external functions (of any
complexity). For reference the
appropriate ooRexx documentation can be found in the PDF book entitled "ooRexx
APIs" carrying the
file name "rexxapi.pdf", "Chapter 1, Rexx C++ Application Programming
Interfaces".
Maybe for IBM, seeing IBM's support for open source, a port of ooRexx 5 to z/OS
may be a valuable
project, empowering their mainframe customers (and their own technical
personnel) to become able to
take advantage of the great features that ooRexx adds to REXX? As the tutorial
has demonstrated, the
benefits would be immediate! Having a port of ooRexx would allow customers and
IBM personnel to
check it out and assess it. What could be wrong about such a move?
---rony
--
__________________________________________________________________________________
Prof. Dr. Rony G. Flatscher
Department Wirtschaftsinformatik und Operations Management
Institut für Wirtschaftsinformatik und Gesellschaft
D2c 2.086
WU Wien
Welthandelsplatz 1
A-1020 Wien/Vienna, Austria/Europe
http://www.wu.ac.at
__________________________________________________________________________________
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN