> 1. Python programmers are more plentiful

> While REXX is easy to learn, it is not easy to find REXX programmers outside 
> of the z/OS world. 

Just as it is not easy to find Python programmers inside the z/OS and z/VM 
worlds.

> Face it, there are some esoteric ways to use REXX that would confuse a newbie.

Every language has its ideosyncrasies.

2. Python’s structures make it more readable

Both are easy to read once you know them. I would consider REXX's  control 
structures to be more obvious to the neophyte; certainly Python's use of "|" is 
highly unintuitive. Also, why Python rather than, e.g., Go, Lua, Perl, Ruby, 
Rust?

> the rules for coding in Python makes the code more legible.

That's debateable.

> If you are using a workstation editor like VSCode or Atom, they provide 
> formatters to make writing code easier.

Available for REXX.
> 3. Python is easily extendable

As is REXX

> Most of the world relies on C code as its system interface language.

You can write REXX-callable routines in C, with access to REXX variables. 
AFAIK, a C routine doesn't have access to Python variables.

4. Python has more supporting functions

True, but fewer supporting functions fo z operating systems and applications.

There is a plethora of packages in Python making it easy to take advantage of 
functionality that someone else has created. Not only does this allow people to 
take advantage of cool Python functions, but it also allows us to create 
packages that abstract some of the particularly esoteric z/OS components to 
make it easy for future sysprogs to use. There is already work in this space. 
In addition to packages that support simple connections to the HMC, or 3270 
data streams, there is an Open Source repository for Python base building 
blocks at https://github.com/ambitus/pyzkiln.
Look at the programmers working together instead reading this article!1. Python 
programmers are more plentiful

While REXX is easy to learn, it is not easy to find REXX programmers outside of 
the z/OS world. When bringing new people into the company, it is much easier to 
find people who understand Python. Job listings with Python as the language 
will probably be less overlooked than REXX. Sure, those people will have to 
learn z/OS constructs, but they won’t also have to learn a new language. While 
REXX is easy to learn, you still must learn it. A tyro trying to pick up the 
language while they debug or change existing REXX code is challenging. Face it, 
there are some esoteric ways to use REXX that would confuse a newbie.
2. Python’s structures make it more readable

Python code forces a more readable code pattern. While it would take a bit of 
work for someone who is new to the Python language to get right all the 
language intricacies (especially if they are writing their code in ISPF), the 
rules for coding in Python makes the code more legible. If you are using a 
workstation editor like VSCode or Atom, they provide formatters to make writing 
code easier. In addition to the fact that Python code itself tends to be 
simpler to understand, these editors along with its formatters help enforce 
Pythonic style. Pythonic is a coding style that makes code concise, clear, and 
less complex. Overall, the entire Python community drives code that is easier 
to follow. This is going to be critical for new people trying to learn not only 
what you are trying to do, but also how the system works.
3. Python is easily extendable

Most of the world relies on C code as its system interface language. Platforms 
like Linux are mostly written in C. Even the z/OS world can leverage the C 
language as an access language to Assembler functionality. Python is easily 
extendable with C. Most of the IBM Z Open Automation Utilities are written in C 
and provides Python modules that leverage the C infrastructure to make use of 
lower system capabilities. This will only grow in the future as the open-source 
community takes advantage of such extensions. It is not hard to foresee a world 
where Python modules interface to z/OS assembler macros making the system much 
more approachable to new people interested in the platform.
4. Python has more supporting functions

> 5. Python vulnerability checking

Do you know of any REXX vulnerabilities?

> 6. Python is used to manage automated activities on all other systems

So are a plethera of other languages, including REXX.
> Not a knock on REXX

Certainly damning with fain praise. REXX has things that Python lacks, which 
you failed to mention.


7. Python has tools to aid in documentation

Agreed.

8. Python is the language of AI

LISP? Prolog?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of 
Mark Regan [[email protected]]
Sent: Saturday, December 18, 2021 8:32 AM
To: [email protected]
Subject: Fwd: Top 8 Reasons for using Python instead of REXX for z/OS

Some of you may have already seen this since it was also shared on
LinkedIn, which is where I saw it.

https://secure-web.cisco.com/1PyIIB0zpqeJLOtHjaEzD1ysf4h_PYPo4cs9HwJdswk4mJd2aRbhiohKPR9C8Jbs1GQKBbRSeXe0aegB5BaWRwU2fidk8mXrVUbb9Zywljd0HJWXA22qvHLZh-F7hKefh3hU5t71LDWryCHlwh6QC9wX66k-NoK3TUIEEYdpneUXIVHnDxpINZ4eeZ_b3C712YqWXRVO292vbPe6QDkfKjlXcj8uMnO0QwBYaKB9wMaTXLZieda5n0W_v_TldvQBAhN41pLuO6FhXuW6nOvKPf2gRKLi2H9ELIY6nauiw3TaFr8FIbnTVWx4ApZOqRux90IJVdEmPgJVNI5VnoOA_0VU4b9oa0XcwW-COBYoZnVg8cXemmJEI6gtPq9I52LX93PARhUh3kierPz77pqVX1k-pANI9wzJkQx5gvsVGmrGMRdRculQxOhvzmhnut-TavXNxySqkBSJh7wSRZbZ1Qw/https%3A%2F%2Fmedium.com%2Ftheropod%2Ftop-8-reasons-for-using-python-instead-of-rexx-for-z-os-a6b67f8210a6

Regards,

Mark Regan, K8MTR, EN80tg
CTO1 USNR-Retired (1969-1979 active; 1979-1991, reserves; including two
years with the Ohio Air National Guard)
Nationwide Insurance, Retired, 1986-2017 (z/OS Network Software Consultant)
Email:        [email protected]
LinkedIn:   https://www.linkedin.com/in/mark-t-regan

----------------------------------------------------------------------
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