> wasn't easy to port

Would OOREXX 5 pose the same porting issues?

>  A couple of years later I ported Lua

I believe that is the implementation language for much of wiki.

> I don't think ooRexx supports functions as first class objects?

Alas, no. Also, while OOREXX 5 has regexen, it's missing regex features that 
you may be used to in, e.g., Perl, Python.

> What I do appreciate about Python is it's colossal standard library and 
> eco-system.

How does it compare to CPAN?

> I'm a Vim man myself when I dwell in the shell ;)

Why not emacs?

> I agree but the truth is they don't really need to. I work with a lot of
> really smart millennials who have a deeper knowledge of MVS internals
t> hen REXX and JCL.

How do they get access to logic manuals and compilation listings?

--
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, December 2, 2021 12:46 AM
To: [email protected]
Subject: Re: z/OS 2.5 install with z/OSMF

On 1/12/21 11:58 pm, René Jansen wrote:
> David,
>
> Thank you for mentioning these plugins, I am certainly going to have a look 
> at them.
> There are some things in your mail I feel I have to correct.
>
>> On 30 Nov 2021, at 22:55, David Crayford <[email protected]> wrote:
>>
>> On 1/12/21 1:55 am, Seymour J Metz wrote:
>>> I just wish that they would acknowledge their abandoned child OREXX.
>> IBM certainly haven't abandoned ooRexx. It's my understanding that Rick 
>> McGuire works on it almost full time. The mailing lists still get quite a 
>> bit of traffic and the Github repo shows recent commit activity. If you're 
>> referring the fact that ooRexx hasn't been ported to z/OS then unfortunately 
>> I don't see IBM committing resources to a language in decline.
> IBM has abandoned ORexx; the source code was given to the Rexx Language 
> Association (of which I am, coincidentally, president) in 2005 already and we 
> have to thank Rick that he still works on it in his own time, not IBM; as do 
> lots of other people. It is very much alive, and at the moment better than it 
> ever was. I’ll leave the remark “language in decline” without comment here, 
> but allow me to say that if Rexx would fail at this moment, it would mark the 
> end of civilisation as we know it. Rexx might wel be the most under-the-radar 
> programming language there is, because it is very often used by systems staff 
> (who were never allowed to program) to save applications of otherwise 
> questionable architecture and implementation.

Thanks Rene, I stand corrected. I appreciate you taking the effort to
write such an insightful response.


>
> Some people from IBM have told me that there was an Object Rexx 
> implementation for z/OS (well, it might have been MVS/ESA or OS/390) that was 
> finished and ready, and was scrapped through company polittics. In this 
> sense, I agree with Seymour.


If you look through the oorexx-dev archives you will my name attached to
a z/OS port of ooRexx about 15 years ago. I got it working but it was
buggy and it wasn't easy to port as the UNIX code used nefarious hacks
such as using integers for pthread_t which isn't portable. Once it
became obvious that integration with the MVS file system and TSO/ISPF
was a very heavy lift I abandoned it. A couple of years later I ported
Lua which was easy to port and inteegrates into z/OS very nicely. It
supports all MVS data set access methods such as VSAM which REXX doesn't
https://secure-web.cisco.com/10AufpS9N_uXofzsDcsv0gg_wU0mOHbvy_ayYdmyTXRtPkiukf7czsKVKHhvrCBhPWlTLcW3VrNieVd3vZ5u70bDXF3jh8VsBxWtM0vzxXyUtXbveLYxYCJbeMBVjexemjLppGn_u2MHMTOpIgPuHkDutCSFUCinlIL-0EwxYNoyUREu8gbk_qDpjjOqTiThj93EVRJXd7Y-TJmu3cydMN5tZEVGRtXaKLtxh9SGzgqwBSkvuaVTNGW-ggW3sVgAx3f8lbX598NKz9VTl2DLi7pkw0pMURL7kDONSGPhiQ9AYLehDZZ-_y6l5kObsgB6w_mvGg5sX86AG9xkt_ndiR0uClh93zQn6GaCRmWeFbUXTw0y0w3OIINyyKO7dJdxoEko6gcAmd4MT_vdmVueLN5XS0-BZtCRCJPM0uYS0QvYAPSyQ2jG9dnI-BCNAUNTmvuTVbcXYKuHAjSPrHDQfsA/https%3A%2F%2Flua4z.github.io%2FLua4z%2F.
 ooRexx is a massive code base. I didn't
like the architecture very much. Everything is a C++ class, including
language constructs such as If/Else etc that all use an abstract base
class. The amount of dynamic dispatch going on makes it bloated and
slow. Lua compiles to bytecode and uses a highly optimzed VM that is
tiny and can fit in L2 cache which is why it's so fast and commonly
embedded into larger applications such as video games. Lua on z/OS is an
order of magnitude faster than native REXX.


>   As RexxLA, we did not receive this codebase; the same goes for the OS/2 
> Object Rexx codebase, which apparently was encumbered copyright-wise. Where 
> the OREXX for MVS implementation has the status of a rumour, the mishandling 
> of the Linux/Windows/AIX codebase (which would be open sourced, then not, 
> then ‘free’ for Linux, cheap for Windows and expensive for the ’toolset’ - 
> and some decade later open sourced again (for which we are grateful, of 
> course, because even open sourcing is costly business) is public knowledge 
> and can be found on the net.
>
> For this list, it would go too far to go into the ‘LotusScript’ and 
> ‘DataBasic’ circumstances that probably influenced these decisions. Rexx in 
> decline? Not really - who would be making Microsoft Visual whatever 
> extensions for it if that were true.
>
>> It makes much more sense to port modern languages like Go, Python and 
>> runtimes like Node.js. Docker is going to be important for z/OS and it's 
>> written in Go so it's a no-brainer. We've been beta testing IBMs new clang 
>> LLVM z/OS port which is exciting in the fact that LLVM can be used to build 
>> a plethora of different languages. I particularly like Julia which has a 
>> similar syntax to Lua but can be strongly typed and is compiled and 
>> bench-tests show it runs at near C speeds.
>>
> I have some trouble to see Go and Python as more modern languages. A recent 
> book tells me there are ‘100 Go Mistakes to Avoid’ - I think I am going to 
> avoid only one. Python bases structure on indentation - I have trouble 
> calling that modern, it actually reminds me of A and B margins and BAL 
> sheets. And lots of ugly double underscores, if I may say.


It's all subjective. I could pick holes in any language. I much prefer
languages that  support anonymous functions to Pythons puny lambda
syntax. I don't think ooRexx supports functions as first class objects?
What I do appreciate about Python is it's colossal standard library and
eco-system.


>
> The LLVM for z/OS port actually is the best news there is here: it means we 
> can base an Object Rexx version on that in a number of years from now. Also, 
> the mainframe has gotten so fast that you probably can write an ooRexx in 
> Classic Rexx for it without seeing slowdown.
>
>> As we are discussing z/OSMF and REXX I thought I would mention the Z Open 
>> Editor plugin [1] for the VS Code editor. This includes the REXX LSP plugin 
>> [2] written by Broadcom which supports auto-completion, syntax checking as 
>> you type and symbol outlines.
> That is great news. Although I use ISPF, LEXX or XEDIT for serious work, and 
> Emacs for all other platforms, I would love to see what they made, especially 
> for an MS platform, the company that was very hostile to REXX in the OS/2 
> days - remember it initially was only in IBM’s OS/2 EE (Extended Edition).

It's not your fathers Microsoft. Don't forget that MS owns Github! I'm a
Vim man myself when I dwell in the shell ;) Steep learning curve but
incredibly powerful when mastered.


>
>> Of course, this new tooling is mainly targeted at the new generation of 
>> mainframers and not at folks who don't like learning curves. But there is a 
>> lot of value to be had if you don't mind trying new things. The Zowe 
>> explorer VS Code extension has 46K downloads so it's quite popular. Although 
>> when you compare that to 46M for Python [5] you can appreciate why IBM 
>> ported Python to z/OS :)
>>
> I - personally - feel that people would be missing out when they are not 
> learning ISPF and JCL (and REXX!) like we did. If I was starting out in this 
> field, I’d rather learn something that is a nice niche instead of the 
> standard fare that millions of young people must have in their repertoire. 
> Which mostly lasts the lifetime of a JavaScript framework. Also, with all the 
> ‘modern’ interfaces, I never saw someone use them without having a small 3270 
> window to that same box open - and asking me questions every time I passed 
> their rooms in the hallway.


I agree but the truth is they don't really need to. I work with a lot of
really smart millennials who have a deeper knowledge of MVS internals
then REXX and JCL. At work most of us work in a bash shell and only use
ISPF for SDSF and to submit jobs.



> I feel the same goes for Python on z/OS - admittedly not having looked at it. 
> Does it have the same TSO, batch, console, SDSF etc interfaces as Rexx has?
>


Not native APIs but all of that's supported using the z/OSMF APIs
wrapped in a scripting CLI
https://secure-web.cisco.com/1DoHGci9erwfOjUeWeDOZOXACMh9DVy02L_OU3U0j1B_yIELSe_eWcLUhnILeqDZw_pPTvvwjH6L9Ua8kwBIk3Jqjmtgi9gnKBfMUR9GuvJRxdRwoSyDbU1QH2Rf9izGYioA8bHaFy3rBf3ywBrxVNZR1lVCDHhhwnzFBBX-2ixNm8k6K8x_in8RSV4Q1G7hzurpwPPLjPO9D9POETM2euxIWzX9e4HLGnpn-emvqmGlKO6SOQFUwqluZDGFjquzaz1LAOXx3fsJ2zghZWaSQpRVp0FpXlOx6JTg2ZSU-RqDhbNYMqLBRZYcyXLJSt3xHoNWzPLSRn41aQ829toqNfd1tLfcy_BEvb2RkwTKToz22iXZKgfBW5L59iBqate6y1Pnznaz8t6QsBjSTDKLg3csEJJOjZzks9WHqlth9NRiPmn9y1HQ96A9xxX876S5HR6gEgn9_HTk3QpRDmxLd8g/https%3A%2F%2Fdocs.zowe.org%2Fstable%2Fuser-guide%2Fcli-usingcli%2F.
 This has the
advantage of being cross-platform. I think z/OSMF is terrific but I only
use the REST APIs.


>
>> [1] 
>> https://secure-web.cisco.com/1LuaoiqpNgcZeI31zXnCoUivKMtVgeadgO-nvdZNr1cCuPVXv58wSUoj6RxC3KQjcADaRvaXnYni9bZR5VS2cepE3twdtZmh-uCYNjb0lusjcRsb6Bc15ftT4h0sRhvsYyKUwG7scDEBTfwNDVQt7dW6iyMZEb3Rb8r1l1VGAIEgFsAmeoxjbi74ABe53KkLeJL9sVWmrdXKerp7IopGT75mTe8KoN7h80CCgyTsywLJvyIfMXdDY6CCSxSOQfqefre9hE6KmJmE-Rv-RSKnm_UKt8gtuD8gub-aR9jifs8Jy4Jhf-RjWNh1XW7o7Di06ktMCGVmLqIzg9sILc7sZLA8ja8HkJuq8yVr2H1FYGHQ5EvcGnpuVvwYPy3nSZy8bDhNKdwc5iU9UtO4dlc1WWrVL_ZFswqlvf_y53iTeXTcm-2N_6kwQdDOYaI4kcHDz/https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3DIBM.zopeneditor
>> [2] 
>> https://secure-web.cisco.com/1eFWYpI6BgFWYzBC7sF4lQr3lt6koxVGncL-5_dpfZRQzq8PCfCi1124Nxfn0VhiArVLaf8KRCeu3nmqH3zp-l30BkLvGoSbbpCp1_JwHs8XmPiMIufEjyTOmqRHRNmYoNEVb1BRxoDu5ruHtzejbxMyzd4wB-HRDF7hsKb0Wa2e01yI_Kp8TqLiDbpHyCtEEqwShELhDTxhWcJ2OhcE3L789h-Npc5G-kkHn9fVDcApWtY_3rfbCpWaPpVjHjRdZsbq7xGFDMrnA5YyosMviwBi0ZQXqQfuQ1aZXfr-6RHEJIkFk5DqdiP-8P1tkNYZuO7cBlbZVmVC4RTQuqT74JewelXnPhltmbRVFTQq5tWmduDERIwfC6XcLq6y7ieuwZQqQQB41wBEd4eAR62aPXO5Cy4Ao28wvm6Y9cMJBwppqL2iZBKXiWP65MFh-atD_/https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3DbroadcomMFD.lsp-for-rexx
>> [3] 
>> https://secure-web.cisco.com/1n7pA-IE-OM6OVRegrc0BgOjPYUbJ53WJHKRDgMuDUhcQM8eYfsHMGS6H4UdzMh-Xd2t1N9vtXkQaO_MtLfCNixXJtp7g83lzlIuFt5SBprYH6f50JtYwiGsvu-UDf987Co5Qy28JbouHZ1W9xROMLn09rEdsK3209Y_GuZb0kMJM7htgVBciCdFKokOyHDcEpOvlB9Y-VMNg8cWIm2Olw-9rRQGd4OTA6b8zFo1Tm2He8YYF0SoMg1akSR521vUItdkGBr4uW_jaqndxG91ECap-IfqTtHYhiiyz4yvMQ8gZ3Y2mHYflfgYbvE7SVlaLN7v4y5W5z6tdaqogufoWW9Wrs0FeTLpyRjy5omtY9AT0tRctgtliQEx9w61M46bj6QIXF5OeEiS52ZBmWBJ9LR6Cds5RZXfYdY46YLtFoUWArXZ0c3EeibPcc9kmmyLcwGQHIngyCvN3rBXTYMFpSA/https%3A%2F%2Fdocs.zowe.org%2Fstable%2Fuser-guide%2Finstall-overview
>> [4] 
>> https://secure-web.cisco.com/1kUt4EwL9_Vl13hPvTpCAY_NeHN8gAHYOYU9bIjBbnBe2y3NtEQFA_PLGmJRNf9V9NdPE2arXSn6FwggHI6qU77QA9i13V_u05gbnDPhWxpP6BpWX75SFqG6xb-6HWN7Z6egkrsuB4ExW5LjbfaaTcJyvqb9q2gf7zJ3onZVtQfZ2NfuFkfVsqEtcriPj7ymgPbXRmD7CBm9tuwg5DiWvvB-ksN-H1BLY5Sz7sZh-uUbd0o83uhX8GpzfmRRz7_W6IBNBL333wKBbOVH8o9CkX6B4jNSXWb64Bk1u4GEa7kcFBA81sZo1z3B44o_R2VgbshNpNN0UOaqaeBNOjwjSV8FCJK-qg7xXxN0McEU7ekNKta3s9Icx8gmbbQFsjbvXRwNvqm2PVw2ouu_Nfy63-ES_2H_5Spws-QQLiQnlAdGU-hBDxSoYsV9LspCaQXG7/https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3DZowe.vscode-extension-for-zowe
>> [5] 
>> https://secure-web.cisco.com/1DhC68_HDFFJfqt3hVRiZZ4BX3GOgcewY-jBqJctQ0WnmXgGOi1Ggo9YwcSOiLB_RffUxzcTHN3Qc65I7g5iO4bEX5QxzUC7ZZzqccwclxOyqX7fAiZwzLQLPtintZyGwFCa638kcRoVddAqDBVvCe3G7mv_P0OgiS2pf9ciqHI94_qb1Hx_k_1anmk4kd1tBdkTzQGRGGQkTqG1ETv7LWWH6OXw3l8p7C8YAk5ieBxe8lEUJ9qwekXoeB75jdYpFqwyMieaj48jgTmIv6rqZUsNrw5U6qiH2X5-B7DDIezTV-VWyepl34u1fm2LraHOY29bpv58RgTT42VM17Y-xhX3954vFsMZuBlfThU7CGoVAmal3Xefizbxhke-teKHbBV8-GtDHjkFN_MQrXHw8jQ4hyLXGHsuSl4XrOMwOrpdzCSGmsbsqzKg_gT63HBPg/https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dms-python.python
>>
>>
>>
>> ----------------------------------------------------------------------
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to [email protected] with the message: INFO IBM-MAIN
>
> Best regards,
>
> René.
> ----------------------------------------------------------------------
> 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