views:

265

answers:

3

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?

+1  A: 

Hi Paxdiablo

I dont have a complete answer but an idea.

I our company we also still use CLIST but we also have REXX.

As I see it: REXX is the new at better language but CLIST is still preferred when building TSO applications that handle lists/arrays of data that are put on the screen. I'm not even sure how well REXX is to handling list/arrays that are put on the screen.

We only use REXX to smaller script like programs.

Regards Sigersted

Sigersted
+1  A: 

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.

NealB
NealB is right. The basic issue in mainframe systems is that IBM almost never removes a facility, at least not within its first 20 years or so. Like most programmers, mainframers tend to stick with what they know best (Unix folks still use awk!), and anyone in Z/OS has used CLIST in their early days.
Ross Patterson
+1  A: 

The nice thing about REXX on z/OS is that if you need serious performance, you can purchase the compiler and library for it and get near-native code speeds.

Nighthawk