mainframezosrexxtsoclist

What are the relative merits of REXX and CLISTs under z/OS?


What are the advantages and disadvantages of using either REXX or CLISTs in TSO for z/OS?

My understanding is that CLISTs are just an older command language but we seem to receive a lot of new software using them, even though REXX is now standard with the operating system.

Is there some reason why CLISTs are preferred, especially given the power of REXX and it's tight integration into z/OS?


Solution

  • Here is a link to IBM's Inofcenter outlining the differences between REXX and CLIST

    Basically, REXX is newer (about 15 years) and CLIST is older (before my time - I've been at it for about 30 years). The mainframe crowd seens to be getting older and many of the folks building ISPF pannels learned their trade before REXX was available so I believe it is just a matter of 'tradition' (old dogs, old tricks).

    At one time I believe IBM wanted to retire CLIST in favour of REXX but as with so many things mainframe, sunsetting anyting is not going to happen in my lifetime!

    I find the majority of CLIST is associated with managing ISPF dialogs via ISPF panels. There is no advantage in using one over the other for this type of application.

    My personal preference is for REXX because it is a fundamentally more powerful language and is shipped with z/os so it is always available. Also, REXX is available in more address spaces under z/os than CLIST (eg. TSO and even batch). It is also available under Windows (see: Object REXX). The Windows version is basically a superset of the z/os version so as long as you keep to the non Object extentions and manage the I/O carefully, you can run the same exec on a windows box as on the mainframe. I have build a number of utility type functions that run with equal ease on the mainframe as on Windows - virtually unchanged (except for a couple of lines that manage file I/O).

    Unlike CLIST, REXX is quite capable of doing some serious data crunching as well. I have heard that the performance of a REXX application under z/os is similar to Java running under Websphere (given the same size of CPU). On occasion, I have crunched multi-gigabyte sized datafiles through REXX routines in a very reasonable amout of time.

    Anyway, I could go on and on... In answer to your question, I believe, is that REXX is fundamentally a better tool, capable of doing everyting CLIST can do and more. The prevelence of CLIST is just a matter of programmers doing things the way they grew up doing them as opposed to learing newer technologies.