Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Rexx Is Still Strong After 25 years

Posted by timothy on Wed Mar 24, 2004 12:23 AM
from the not-the-tiny-PDA dept.
therexxman writes "March marks the 25th anniversary of the Rexx programming language, and to celebrate the Rexx Language Association is hosting the 15th Annual Rexx Symposium at the IBM Research Labs in Boeblingen, Germany, from May 2 to 6, 2004. Full details of the Symposium can be found in the 2004 Rexx Symposium Announcement. Many of the world's 'Rexxperts' will be in attendance including Rexx's founder, Decimal Arithmetic guru, and IBM Fellow, Mike Cowlishaw."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Stevyn (691306) on Wednesday March 24 2004, @12:24AM (#8653205)
    I thought it died off 65 million years ago.
  • by ShallowThroat (667311) on Wednesday March 24 2004, @12:25AM (#8653207)
    but it's no FORTRAN.
  • by rcastro0 (241450) on Wednesday March 24 2004, @12:26AM (#8653216) Homepage
    Seeing is believing:
    Rexx going strong [ndtilda.co.uk].
  • by Anonymous Coward on Wednesday March 24 2004, @12:27AM (#8653227)
    punch-card lovers association held its annual conference and proclaimed punch-cards superior to all modern IDEs, compilers, editors and debuggers.
  • by Faust7 (314817) on Wednesday March 24 2004, @12:31AM (#8653246) Homepage
    I'd never heard of REXX before. Looking at the FAQ, I found my explanation:

    This FAQ is for REXX/MVS, that is, REXX for IBM mainframes (MVS, OS/390 and VM).

    Okay... but is this language at the forefront of modern computing, or even close to it? That's not a cynical inquiry; I'd literally never heard of this language before and I'm curious to know whether it's making some kind of progressive, hidden impact that was just totally unknown to me.

    Anyone? Anyone? Bueller?
    • Probably like most other mainframe languages, REXX is being used because when the programs were originally written, REXX was all there was- so rather than rewrite everything, REXX programmers just keep modifying the original code.
      • by Aussie (10167) on Wednesday March 24 2004, @01:28AM (#8653512) Journal
        REXX is/was the replacment for things like EXEC & EXEC2. Really crappy langauges. If you have used these, you will understand why people use and like REXX. Though it is a pity IBM never released REXX for free, it is a fun sorta language, easy to learn and still quite powerful, though things like stemmed variables have a lot of system overhead.
    • REXX was way ahead of its time when it came out, and when I used it in 1989, it was still very powerful and useful, though it was playing catchup with the personal computer world.

      The programs we ran on the the IBM 370-type mainframes generally had their user interfaces written in REXX, and they were easy to write and easy to change.

      REXX became the scripting language of choice for OS/2, which beats to hell the pitiable DOS batch file language, but other scripting languages have far surpassed it now, yet pl
    • I think, perhaps the real question you are asking is: are IBM mainframes at the forefront of modern computing, do they have a hidden impact the average Slashdot reader is unaware of. My guess is yes. I am not a mainframe guy myself, but it is my understanding that they are still very much used and very important with a fairly large worldwide market. Perhaps some of you REXX folks can give us some examples of the ways mainframes are still used? I'm too lazy to go look up IBM's sales figures for mainframe
      • by hudsucker (676767) on Wednesday March 24 2004, @12:56AM (#8653389)
        Close... but it is more like REXX is to IBM mainframes (z/OS, VM, etc.) as AppleScript is to Mac OS.

        For those that are wondering: REXX was created to be the universal command language for IBM mainframes. It is a replacement for the earlier command languages (EXEC? on VM and CLIST on MVS).

        Then IBM ported it to OS/2, and from there it branched off. You can now find REXX for practically any platform. I have at least 5 different versions running on my Windows machine. (See Regina REXX on sourceforge, for example.)

        REXX's main features include:

        1. Strong string processing and parsing.
        2. Automatic data typing. You never define storage. Mike Cowlishaw's theory was that data types and storage allocation was a way to make it easier for the compiler writer, not the programmer.
        3. Associative arrays.
        4. No implementation limits. For example, you can do math on enormous numbers. And the limits that are there are designed to be meaningful to people (such as "this number can be up to 100 digits") instead of machines (this number can be x bits).
        5. Very easy to understand the syntax. The philosophy is 180 degrees different from Perl.

        But the real key to REXX is it is designed so it can easily interface with multiple environments. For example, one REXX exec in z/OS can send commands and interact with MVS, TSO, ISPF, the ISPF Editor (as an Edit macro), and others.

        The use of REXX on the mainframe is expanding. No mainframe product would think of writing their own command language; they just use REXX. And the more products you can interface with, the more useful it becomes.

        Yes, I know there are Unix and other scripting languages that do the same types of things. But REXX is the standard for z/OS.

  • Remember aRexx? (Score:4, Interesting)

    by bennomatic (691188) on Wednesday March 24 2004, @12:31AM (#8653247) Homepage
    This reminds me of wasting hours and hours on my Amiga500. Yeah, it only had 3MB of RAM and no hard drive, but give me a blitter chip and four channel audio any day! Anyway, there was a great version of Rexx for the Amiga that became the defacto scripting dialect of the day. Great stuff, that aRexx.
    • Re:Remember aRexx? (Score:5, Informative)

      by admbws (600017) on Wednesday March 24 2004, @12:36AM (#8653278) Homepage Journal
      Ah, yes! If only we had something like ARexx here on UNIX. The "ARexx ports" concept really helped with things like information exchange, automation and "remote control". For those who don't know what it is, here's an explaination on ARexx, and briefly explains ports [nethkin.com].
      • But can you imagine the fun you'd have with ARexx these days with viruses? I know the Amiga didn't really suffer that many of them (mostly the old bootblock viruses in the floppy disk days) but imagine an Email app with an ARexx port :)

        KDE does have DCOP which lets you add script functionality to your apps as well as link separate apps together. It's just not as well utilised as it should be (from a users perspective).

  • by iamwoodyjones (562550) on Wednesday March 24 2004, @12:34AM (#8653263) Journal
    it wants its do loops back

    say "Counting..."
    do i = 1 to 10
    say "Number" i
    end

    Yuck!
    • I dont get what is so yuck about simple readable code. Perhaps you need to ask why Unix has sh bash tch perl python ruby, wheras z/OS has clist rexx rexx rexx rexx and rexx.

      I do alot of Rexx stuff on Mainframes, and I far prefer Rexx to the C based stuff like Perl. Ive pottered with Rexx on Linux, and its far easier to use than bash, you can always use 'address SH' if you want to use the power of a shell command. I also had a play with NetRexx, but gave up when it became obvious that Java itself had seriou
  • Rexx was great... (Score:5, Insightful)

    by gmuslera (3436) <gmuslera@@@gmail...com> on Wednesday March 24 2004, @12:34AM (#8653267) Homepage Journal
    at least, back when i was using OS/2. When started with Linux, perl seemed very ugly and unintuitive to me (specially when comparing how text is parsed in both languages), but it was so easy to use the output of other programs (compared with REXX even under linux) that I finished to like it and using it for everything instead of REXX.
  • go go rqqrtnb! (Score:3, Interesting)

    by lysander (31017) on Wednesday March 24 2004, @12:35AM (#8653275)
  • Well.. (Score:4, Insightful)

    by Rhesus Piece (764852) on Wednesday March 24 2004, @12:41AM (#8653305)
    I think it's great that a language has survived so long. That being said.. although it has it's purposes, it'd be hard to say that it is "strong". It may be used. It may be actively developed. However, "strong" is probably an overstatement.
  • Rexx and Kedit (Score:5, Interesting)

    by Camel Pilot (78781) on Wednesday March 24 2004, @12:45AM (#8653328) Homepage Journal
    I still use Kedit, a win32 programmer's editor, that uses Rexx as the macro language and it rocks (both the editor and the macro environment). Even though Mansfield software has quit supporting Kedit about a decade ago it is still the best editor on the windows platform. I tried switching several times - first to Brief then to Codewright and then Slick edit but came back to Kedit because of if clean interface and performance.

    I send mansfield an e-mail every so often requesting a Linux version or ask to open source the code but they just ignore me. Kedit would be a good replacement for vi on linux.

    Any other Kedit fans out there? BTW not to be confused with the KDE based editor by the same name.

    • Re:Rexx and Kedit (Score:5, Informative)

      by Stalky (31519) on Wednesday March 24 2004, @01:47AM (#8653583) Homepage
      I send mansfield an e-mail every so often requesting a Linux version or ask to open source the code but they just ignore me. Kedit would be a good replacement for vi on linux.

      You are looking for The Hessling Editor [sourceforge.net].

      • Re:Rexx and Kedit (Score:4, Informative)

        by Camel Pilot (78781) on Wednesday March 24 2004, @01:19AM (#8653476) Homepage Journal
        Well I have been forcing myself to use vim but I miss things like folding the lines of a file with a simple command like

        >all "if "

        Then be able to add in lines with a

        >more "elseif "

        or take away with

        >less "# "

        Or doing a search and replace on all files within the ring (ie currently loaded files). If vim can do this I would sure like to find the cheat sheet.

        Yes $159 is steep I paid $79 and they have stopped production.

          • Re:Rexx and Kedit (Score:5, Informative)

            by Stalky (31519) on Wednesday March 24 2004, @02:25AM (#8653722) Homepage
            I don't know anything about KEdit's "more" and "less" commands, but the "all" command to which he referred allows you to hide all the lines in a file that don't match a given expression. His 'all "if"' example tells the editor to show only the lines with "if" in them. The user can work with those lines, just as he always does, but without the distraction of the lines he's not currently interested in. It's one of the most popular features of the XEdit family of editors.
  • Brings back memories (Score:4, Interesting)

    by Mostly a lurker (634878) on Wednesday March 24 2004, @01:02AM (#8653410)
    I have rarely used REXX in recent years, but have fond memories of it from the late 1970s and the 1980s. In those days, I used to do a lot of development under VM/XA. Anyone who previously had to script in the old EXEC or EXEC2 could not help but see REXX as an unbelievable advance. Later, I used both PC REXX and the (inspired by REXX) KEXX macro language packaged with the KEDIT editor to write some very decent tools. Performance was not stellar, but that was really the only serious drawback (and, even there, it was better than most other interpreted languages of its day).

    I doubt whether academics see much to love in the language, but I always found it easy to learn and very effective in getting things done. On the few occasions I have used it in recent years, I have still considered it highly useable (and I speak as someone who has used Perl, Python, Lua and even occasionally Ruby).

  • by SamDrake (651779) on Wednesday March 24 2004, @01:06AM (#8653431)
    Other mainframe scripting languages were just disasters. I vividly remember replacing more than 1000 lines of EXEC-2 scripts with about 100 lines of REXX, and thinking that Mike Cowlishaw should be knighted.

    And REXX beat ksh hands down in terms of power and readability as well.

    I gave a speech ~ 1991 at a REXX Symposium about "REXX in UNIX". I had the crowd of mainframe and OS/2 people literally rolling in the aisles with laughter as I tried to explain ksh syntax to them. I made slides of some examples from the appendix in the KSH book, and it was hilarious. Even the geekiest UNIX geek has to admit that sh / ksh are disasters as programming languages. REXX was 10000% better.

    On the other hand, as I pointed out in my speech that day, there was another new language coming up that was 20000% better. It was called Perl. Perhaps you've heard of it. :-)

    REXX was originally intended to be a scripting language simple enough to allow non-professional-programmers to use. None of the UNIX scripting languages, including Perl, hit that mark - but REXX does.

    I haven't written any REXX in 10 years, and haven't missed it. But it WAS a big step forward, and should have been a better success.
    • by erice (13380) on Wednesday March 24 2004, @02:56AM (#8653801) Homepage
      On the other hand, as I pointed out in my speech that day, there was another new language coming up that was 20000% better. It was called Perl. Perhaps you've heard of it. :-)

      I don't really agree here. REXX is a free form shell scripting language and stomps on everything else I have used for that purpose and that includes perl. You can write a simple sequence of commands with virtually no syntactic clutter and incrementally add expressions and control structures. With REXX, one can effortless take a program across the entire practical range of tranditional Unix shell languanges and far beyond.

      Perl, of course, is more powerful but it is not really a shell language. It's syntax is more complex and gets in the way when you are trying to mix control code with command calls.

      I still write bourne shell scripts. I also write awkward "shell" scripts in perl. But I would rather use REXX.
  • by Ray Radlein (711289) on Wednesday March 24 2004, @01:20AM (#8653480) Homepage
    REXX was very much like the Python or Perl of its day, in that it is a scripting language which can be used for everything from job control to add-on macros to interprocess communication.

    It is a completely typeless language, more or less -- basically, everything is a string, so the same variable could hold "87", "eight-seven", "00110111", "0x0117", or "Four Score and Seven" -- and the interpreter kept track of what operations were meaningful (i.e., adding "4" and "5" would yield "9", but adding "4" and "Five" wouldn't). Not surprisingly, it had a wide variety of string manipulation functions built in -- ROT13 could easily be accomplished with one command ("translate()"), for instance.

    On the other hand, it also featured arbitrary precision mathematics, which is a pretty nifty and not altogether common feature for a language.

    It was fairly portable -- I wrote REXX code for OS/2 and the Amiga, and was usually able to move the code from one to the other without having to worry about anything more than CR/LF translation. I was able to make use of old mainframe REXX code too, although it was usually ALL IN CAPS and ugly, which isn't really REXX's fault.

    In OS/2, I used REXX primarily as a batch language on steroids (the OS/2 "CMD" CLI ran REXX programs directly as a batch language), but I also used it to do some pretty heavy text manipulation as well. On the Amiga, I used REXX for those purposes, but the main things I used it for were for interprocess communication, and for extending the functionality of REXX-enabled programs. When Matt Dillon added a REXX port to his hacked-up version of emacs for the Amiga, I was able to use REXX macros to turn it from a nice programmer's text editor into one which did everything I wanted, excatly the way I wanted. I wrote macros to toss and filter FIDONet messages to and from my text editor.

    The same power was available to the REXX ports on other Amiga programs, from word processors to graphics editors. As an aide to interprocess communication, it could be used to allow your graphics editor to control a raytracer, or for your text editor to use the spellchecker in your word processor.

    I made some nice money at a time when I was underemployed by writing REXX programs to control the input and outputs of a NewTek Video Toaster for a guy with a mid-sized video production business; and the code was straightforward enough, and REXX easy enough to learn, that the business owner could easily make any minor changes to it himself (at the same time, after he had used it for a while, he was able to think of more and more things for it to do, which kept me in groceries for another month or two). For that matter, I also made a bit of money writing a REXX programming column for an Amiga magazine, so I really have fond memories of REXX for being a language that allowed me to continue, well, eating food.

    For a long time, IBM tried to convince Microsoft to use REXX as the macro language for Office, instead of BASIC; needless to say, if they had succeeded, we would be living in a universal paradise of peace and understanding right now, or something like that.

    Even today, I find myself thinking of all the neat things I could easily do with OpenOffice or AbiWord or Photoshop or Semware's text editor or Audacity or Zinf if they had REXX ports enabled...

  • by QuantumFTL (197300) * <<justin.wick> <at> <gmail.com>> on Wednesday March 24 2004, @01:40AM (#8653558) Homepage
    At first I thought the title read Rexx is Still Wrong After 25 Years.

    I was like, "Damn straight!"

    Cheers,
    Justin
  • by jobbegea (748685) on Wednesday March 24 2004, @03:06AM (#8653843) Homepage
    NetRexx [ibm.com] is just your normal Rexx, but it compiles into Java byte code:
  • Rexxperts (Score:5, Funny)

    by Citizen of Earth (569446) on Wednesday March 24 2004, @03:09AM (#8653855)
    Many of the world's 'Rexxperts' will be in attendance

    Such as Rooby-Rooby Roo.
  • by dwalsh (87765) on Wednesday March 24 2004, @06:03AM (#8654399)
    Good Dog.

    • I remember after OS/2 I was pretty pumped about Object REXX. Back in the day Python was unknown and Perl was, er, Perl. But IBM decided to make Object REXX pay-to-play and it never became popular.
      • Actually, Object REXX is available for Linux no-charge (as is) here [ibm.com]. I've been using it with MySQL to kludge up a home inventory, as well as a few data extraction scripts for a project at school. While I'm planning learning a more conventional scripting language for Linux, I still haven't found any that match the power of the PARSE... But I digress.

    • Re:My Input (Score:3, Informative)

      --I used to code REXX back in the day on a VM mainframe. Ah, good old VM/CMS, with REXX and Xedit; it was the Best environment in the whole Sysplex. Nothing I've seen even comes *close* to the Help system it had. It beat the tar out of MVS/Jes2/TSO/ISPF, hands down.

      --REXX has syntax close to (compiled) Basic but has more powerful string-handling functions built-in. And CMS Pipelines... I haven't seen ANYTHING that compares to it in PC-land; it was very easy to use and had all-in-one power. I wish to
      • REXX has syntax close to (compiled) Basic
        The syntax is like compiled BASIC? That's got to be almost impossible to write, straight binary isn't a very friendly syntax. They should add some sugar. Strangely enough, I can't recall ARexx on the good old Amiga having that weird a syntax. Perhaps they fixed it in the Amiga version. ;^)
        • ARexx is nothing like a basic IMO. More like a higher level of C thats interpreted rather than compiled. And I've written stuff in ARexx that couldn't be done near as easily in any other langage I've found so far, simply because ARexx isn't a subset of Rexx, its a superset. No other language has a similar concept of an "arexx comm port", where any arexx program can talk to and therefore control or exchange data with, any other arexx program that makes use of this feature.

          I have some scripts I wrote in '
    • Re:My Input (Score:4, Insightful)

      by sql*kitten (1359) * on Wednesday March 24 2004, @07:37AM (#8654711)
      there are more powerful and yet less expensive solutions which should be hitting the market soon.

      It is unreasonable to compare technologies which aren't even available yet to one that has existed, and been relied on for very serious applications, for decades.

      Guess what's the language of choice for HPC? Why, FORTRAN of course. When Oracle wanted a scripting language, did they adapt shell script? No, they picked Ada, merged it with SQL to create PL/SQL. For serious computation or data processing, maturity matters more than buzzword-compliance.
    • Re:My Input (Score:5, Informative)

      by Garg (35772) on Wednesday March 24 2004, @07:39AM (#8654716) Homepage
      Okay, this is probably a troll... but since it got modded up, I'll bite.

      How can anything be less expensive than free? I haven't seen a charged-for REXX since VX-REXX for OS/2... and that was for its GUI extensions to REXX, not the language itself. Was this for some obscure platform where someone was charging for a REXX port? Or was using it going to cause you to have to upgrade hardware or something?

      As far as powerful... what couldn't it do? Using the ADDRESS command, it can talk to the OS, communication libraries, datbases, etc. Admittedly it can get ugly doing a lot of that stuff. Did you perhaps mean other solutions were more elegant?

      Garg