Robin Murray's Rexx Pages

Robin Murray's Rexx Pages

Robin Murray's Rexx Pages

Logo and link to Mike's book Canadian flag

Rexx Home

These pages contain information on my experiences with rexx for z/OS. I assume you are already somewhat familiar with rexx. If you want to learn more about it, follow the links on the left of this page. They will tell you far more than I can about the language.

You may email me with any comments you'd like to share.

This site was first made available at the beginning of April, 2004.


Useful stuff

I've uploaded a number of utilities that you are free to use. If you would like to see more details before downloading them, browse the libraries.

You might also like to see some hints and tips that I learned from the school of hard knocks.


In Case You Are Interested

The joy of rexx...

I've been writing rexx utilities at various mainframe shops for about 10 years now, and have enjoyed every minute of it. Rexx, more than any other language, allows me to dive in and solve problems quickly and easily, without having to struggle with syntax nuances or mind numbing design flaws. I can simply sit down, start coding, and solve my problems. While it's not suitable for large software packages, it is perfect for smashing out very useful utilities in an impressively short time.

Apart from the generally easy and intuitive syntax, the superior parsing instruction in particular is one of the main reasons I like rexx so much. Once you get over the initial learning curve of the parse command, you will feel lost without it when venturing into other languages.

I also like the design of the stem variables. It is very easy to create a small but efficient "database" simply by using a stem variable for a key. I use stems all through my code, and again, feel lost without them when using other languages.

...and the heartache...

I don't particularly like using the external data queue. I do use it, but always with reservations. I find it too easy to leave data on the stack inadvertantly when exiting the rexx, potentially leaving dozens or even hundreds of garbage TSO commands queued up and ready to be executed. ARRRGGGHHH!!!

I also don't like the fact that the interpreter does not cache external routines when they are called. If I call a routine 10,000 times when running my program, the interpreter has to read in the routine 10,000 times, causing a large number of excp's. If it cached the dern things, all this I/O would be eliminated.


About the pages

These pages have been tested using Internet Explorer V6, Netscape V7.02, and Opera V7.23. They render acceptably on my windows PC at 1024x768, however, I'm not a web page designer by choice or trade, and am actually using this little project to learn about web server configuration, html, css, asp, visual basic, and other unrealiable non-mainframe technologies. If you have problems viewing them, send me a note about it, and I'll see what I can do. No promises though.