Slashdot Mirror


IBM Open Sources Object Rexx

dryeo writes "IBM has Open Sourced Object Rexx. IBM Announcement. Source code has been turned over to The Rexx Language Association under the Common Public Licence. Rexx is an interpreted language which has been included in platforms such as the Amiga, OS/2 and AIX, and most IBM mainframes. For a quick overview check out Rexx for everyone."

18 of 216 comments (clear)

  1. Does anyone use it? by halivar · · Score: 1, Interesting

    I've never heard of it before. Does anyone have any personal experience with utility/quality verses other interpreted languages for Unix? I'd like ot hear some personal anecdotes.

    Is there, for instance, any reason I'd want to use it on Linux?

    1. Re:Does anyone use it? by gmuslera · · Score: 3, Interesting
      I used it a lot when in OS/2, back in last century, and it was very powerful and clear scripting language. Used it in things like CGIs, system scripts, processing reports, parsing texts and even dbf processing.

      Compared with i.e. perl (to which i moved when started with Linux) is far easier to read, for simple text parsing is far more clear and scripts are easier to maintain. But if you need to get the output of other programs with it perl wins hands down (that was the first thing that jumped into my sight) and once you get the trick with regular expressions, rexx "normal" way of parsing looks very limited.

    2. Re:Does anyone use it? by clacour · · Score: 3, Interesting
      I used to use it on IBM mainframes, and loved it. Of course, the language I was using before was "clist", which I've typically described as a retarded assembly language. (That's actually a bad description, because it's nothing like assembly language. My point was that I would far rather have written in assembly language (for any processor) than write clists.)

      Rexx is a scripting language. I used it for things that in the Un*x world you would use a shell (ksh, bash, etc) for, or in some cases, what I would use awk for on Un*x.

      This is the object-oriented version, which I've never played with. I strongly suspect it is comparable to things like Python and Ruby.

      The syntax is reasonably clean (one reason I compare it to Python and Ruby). If you hate Python and Ruby and love Perl, you won't like Rexx. If you're on the opposite end of the spectrum (I am), you may like it. (Although if you already know Python or Ruby, I don't know that there would be any great advantage to doing Rexx.)

      Rexx had one feature which I absolutely loved, and I've never seen another language with anything nearly as good. It had a trace function which showed you what the script was doing, first as the actual code, then the results of that code. (A similar function would be "bash -vx script".)

      What made Rexx's debug facility so much better than everything else was that if turned all the way on (you could turn on and off various things, like whether you wanted to see variable values), it would show you not only the original code and the result, but all the intermediate results, as well.

      For example, say you had a line that said something like:

      x = ((( a + b ) * ( c / d )) * e) ^ f

      To make the example simple, a=1, b=2, etc.

      Rexx would show you:

      x = ((( a + b ) * ( c / d )) * e) ^ f

      x = ((( 1 + 2 ) * ( 3 / 4 )) * 5) ^ 6

      x = (( 3 * .75 ) * 5) ^ 6

      x = (2.25 * 5) ^ 6

      x = 11.25 ^ 6

      x = 2027286.5295... (I'm not bothering with the whole thing, ok?)

      I had one program that I had written in clist language. I found a bug, and past experience led me to think it would take about two days to find and fix. Since I wanted to learn Rexx, I ported the program over to Rexx (which wasn't trivial, but it's also not important to my point). I still had the bug. Using the trace facility in Rexx, it took me 15 minutes to find and fix the bug. I was in love with the language from that point on.

  2. Power... by chill · · Score: 5, Interesting

    I once developed (and sold) an entire jail booking system on Amiga 3000 computers using off the shelf products and tying them together with ARexx. Everything from mug shots to personal items inventory to tamper-resistant wrist bands with photos and bar codes.

    IR-24 capture card, Art Department, Superbase & ARexx.

    THAT was computing power!

    -Charles

    --
    Learning HOW to think is more important than learning WHAT to think.
  3. Object Rexx not a mainframe thing by ErroneousBee · · Score: 4, Interesting

    Object Rexx is not the one used on IBM Mainframes.

    Mainframe rexx is more like the (already open source) regina, only without the IO functions, and its been 'functionaly stabilised' (aka no new features) for a while now.

    Personally I cant see much use for this Object Rexx, what they need to do is fix the error handling and data passing problems in the non-object Rexx interpreters.

    --
    **TODO** Steal someone elses sig.
  4. I'm not sure that will work too well by brokeninside · · Score: 3, Interesting

    I don't think that all my Rexx scripts that customized the WorkPlace Shell's Launchpad applet will migrate very easily. The WorkPlace Shell is the one piece of software that I would have like to have seen IBM release as open source.

  5. Re:Both Amiga and OS/2? by blueZhift · · Score: 3, Interesting

    Ahh, to see any mention of OS/2 in print these days brings back mostly fond memories. I dabbled a bit in REXX in those days on OS/2 to get various little tasks done, it was a pretty good tool. Perhaps open sourcing it will be of benefit if it makes its way onto Linux or other platforms. Heck, I wonder if it could run on cell phones or pdas? A good scripting language on those could be very useful and cool.

    Now if only IBM would open source the fabulous Workplace Shell!

  6. Common Public License by DARKFORCE123 · · Score: 3, Interesting

    Granted that Rexx isn't as useful as Eclipse is to most users, this is another great example of IBM's committment to open source.

    For me it is also alot easier for me to convince management and legal to use code that are related to IBM ( a reputable commercial company ) or other companies that use the Commmon Public License than code under the GPL. No offense to GPL but a business reality.

    I hope that this trend continues.

    1. Re:Common Public License by arose · · Score: 2, Interesting

      Because Novel and MySQL AB aren't reputable companies? Because IBM hasn't donated code to the Linux kernel?

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
  7. wow, Rexx. by Anonymous Coward · · Score: 0, Interesting

    Believe it or not, a few years ago I was working for this company in VA who was developing IVR and "database" solutions using REXX and Btrieve, on OS/2! It was awful. They had taken REXX, which actually is a half-decent (just half, though) shell scripting language and turned into an application development language! If you value your life and sanity, stay away from Rexx. IBM open-sourced it because (like OS/2) it was nothing but a cost center for them, and generated no revenue, and the project was likely going down in flames. My advice: Let it burn.

  8. All the miffed Rexx developers... IBM's history... by Levendis47 · · Score: 5, Interesting

    I did a co-op with one of IBM's software R&D groups in Boca Raton back in 1995 (just before they turned Boca the "Grave of OS/2")... at the time, Java had just been making waves with Netscape turning LiveScript into JavaScript (the bane) and the first baby-tiger book was hitting the shelves.

    I recall that IBM had an entire crew of Rexx developers who spent most of their time crying into their coffee-machine cups of mirth about how they had developed a virtual machine, bytecode-based system "a whole decade before Visual Basic and Java."

    It was a classic case of "we got their first and didn't do anything with it" that IBM was famous for throughout the 80's and 90's.

    The project I was on, for example, had developed a web/CGI-based mail/newsgroup/PIM system that included (I kid you not) a 3D chat system myself and two other developers built as a Netscape 1.0 helper application. Mind you this was before Hotmail/Yahoo! mail/GMail were even on the horizon... They demo'd it a few times and then broke the team up... priceless...

    Oh, look... my cup of mirth is getting low...

    l8r,
    Levendis47

    --
    --==[ AOL YIM ICQ : Levendis47 : levendis47@yahoo.com ]==--
  9. Re:Both Amiga and OS/2? by bplipschitz · · Score: 3, Interesting

    Now if only IBM would open source the fabulous Workplace Shell!

    Yes yes yes yes yes yes yes! There is *nothing* in the OSS world that works anywhere nearly as nice as the WPS. Not Rox, not dfm, not any of them.

  10. Dynamic scoping! by [l0l]Bobo · · Score: 2, Interesting
    Ahh, ARexx.. Brings back memories. When I was a teenager with too much time on my hands, I built a really nice graphical front-end to control my uucp and fidonet nodes (using WelMat, Juliet, and a bunch of other software from AMICUS people, the Ottawa Amiga users group). The UI was all AmigaVision, and ARexx was doing the back-end.

    And _that_ reminds me of one of the weirdest quirks of Rexx: it has DYNAMIC SCOPE!! The variables you have access to from within a procedure depend on where that procedure was called from. How's THAT for wacky!

  11. Value of *object* part of object Rexx... by Spoing · · Score: 2, Interesting
    Rexx was quite handy under OS/2.

    OS/2's desktop (workplace shell) was exposed as objects and was very consistant no matter how different parts were viewed. Unfortunately, modern desktops including KDE, Gnome, and Windows XP either don't expose the parts properly or treat 'the desktop' and CLI environments as if they aren't dealing with the same computer.

    Without an OS that deals with the system as objects, I don't see the value of Rexx above any of the dozens of others out there.

    (I'd like to hear from OS X users if the GUI/CLI split is there or if both are fully integrated.)

    --
    A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
  12. Re:Tyrannosaurus Rexx ?. by Dinosaur+Neil · · Score: 2, Interesting

    After all it's only used on Mainframes these days ..

    Not true! I use REXX on my home machine to update an inventory DB I've got in MySQL, and I used it extensively on my school machine for my work on my thesis (mostly data extraction 'cause the CFD software I was using, WIND, does damn near nothing in post-processing). I've looked at Perl and Python for scripting since I transitioned to Linux 2 years ago, but I still haven't found anything to rival the REXX "parse" instruction...

    --
    "I'm a scientist! I don't think, I observe!" - Dr. Clayton Forrester
  13. Already replaced by Python??? by swamp+boy · · Score: 2, Interesting

    REXX (and then Object REXX) was my favorite high-level language (especially for scripting). With the demise of OS/2, the existence of Object REXX on other platforms was not freely available and so I didn't have access to this tool that made me highly productive for some situations. After searching for a decent Object REXX replacement for a number of years, I finally found Python - which I found to be a good replacement. Like Object REXX, Python has these benefits: (1) strong string handling capabilities, (2) easy to learn and use, (3) can be used from very simple scripts all the way up to full-blown apps (including GUI apps), and (4) very readable and maintainable (perhaps the most important benefit).

    Given the similarities between Python and Object REXX, I now wonder if there would be any compelling reason for anyone to pick up Object REXX as a new language. Sadly, many will see it as a "fringe" language and may never even consider it.

  14. Re:Quit saying "solutions" by steve_l · · Score: 2, Interesting
    Actually solutions is apt. "Services" implies you get money for something they provide over time.

    Solutions is "they fix problems you have". But if you squint your eyes, you see that they create half of them. Here are some of the things you need IBM Global Services to solve for you

    1. Anything involving EBCDIC (spelling?)
    2. Enterprise Java, with particular reference to Entity Beans, that were designed by IBM, so the story goes.
    3. Integrating Mainframe apps with modern code
    4. Web Services built using SOAP
    I'd point to web services and EJB as examples of recent dev nightmares that came from IBM. Horrible things that convince you distributed apps are easy, but leave you with a nightmare that needs paid experts to fix.

    Which is what scares me about Object REXX. It could just be there to add complexity to the mix.

  15. Re:IBM's analysis to open software by Anonymous Coward · · Score: 1, Interesting

    I'm not sure if you are right. This page quotes an IBM exec as saying (from what I can tell) that they are planning to open hardware development tools as well. I think the key point is what they will open, and under what license. This REXX release is under the CPL which I'm not deeply familiar with -- but which seems at first glance to be pretty liberal, and would allow competitors (or any one else) to benefit from the source code, should they wish to do so?