Rexx Is Still Strong After 25 years
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."
I thought it died off 65 million years ago.
but it's no FORTRAN.
The "Insert Quote Here" line is almost as predictable as inserting an actual quote.
Seeing is believing:
Rexx going strong.
Quem a paca cara compra, paca cara pagará.
punch-card lovers association held its annual conference and proclaimed punch-cards superior to all modern IDEs, compilers, editors and debuggers.
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?
The coolest voice ever.
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.
The CB App. What's your 20?
----------
Create a WAP server
it wants its do loops back
say "Counting..."
do i = 1 to 10
say "Number" i
end
Yuck!
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.
It was funny then and it's funny now.
GET YOUR WEAPONS READY! --DR.LIGHT
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.
punch-card lovers association held its annual conference and proclaimed punch-cards superior to all modern IDEs, compilers, editors and debuggers.
... umm, no hardware failure, and zero down-time (if the sun is shining).
Punch cards are all good and fine.
But if you want real power in a computing machine, what you need is something like Stonehenge, which has the advantage of
-kgj
-kgj
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.
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).
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.
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.
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...
At first I thought the title read Rexx is Still Wrong After 25 Years.
I was like, "Damn straight!"
Cheers,
Justin
--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 God they'd port it to Linux; just thinking about it brings back fond memories.
--Of course, the VM sysadmin prolly had a lot to do with VM being my favorite system back then. Props to Mike W; djbechte sez hi if you're reading!
--BTW, Rexx is available for Linux:
' apt-get install regina-rexx '
--I've since "gone on" to Bash coding, but I should seriously take a look at getting my Rexx skillz back online... Prolly easier to pick it back up than to try learning, say, Python or Perl from scratch.
.
== WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
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.
Of course slashdotters have to rip on anything that wasn't written originally for linux or isn't open source. REXX was a great tool in its day. Shit, I would still use it over the vast majority of scripting languages today.
Any man who afflicts the human race with ideas must be prepared to see them misunderstood. -- H. L. Mencken
NetRexx is just your normal Rexx, but it compiles into Java byte code:
Net sa best, mar it koe minder
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 mainframes last year, but I'm guessing it is bigger than many people here realize.
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
Many of the world's 'Rexxperts' will be in attendance
Such as Rooby-Rooby Roo.
WHen I started my first job , to work on Airline Applications - TPF based, on VM/CMS - I started using REXX. Then, at times, whenever I required a particular action on CMS file(s), I started writing REXX EXECs to do it for me. Although my demands were not that tough, as most of the times it was only to help me save my time while working, I found it extremely easy to write EXEcs. And I had no formal training in REXX. For me, its easy to understand the REXX commands/syntax. As I have no experience on Perl or whatever other stuff that you guys may be discussing, I am not in a position to compare REXX with anything else. But I like REXX and I am happy to see that it's still doing the job for me.
Good Dog.
${YEAR+1} is going to be the year of Linux on the desktop!
some stuff to defeat the lameness filter.
Oolite: Elite-like game. For Mac, Linux and Windows
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 '97, running yet today on an amiga, simply because I haven't figured out a way to do them in any other language that doesn't have this feature. They generate the news archives for wdtv.com's web site by extracting the prompter/CC text from the newsrooms newsserver NT box, and html formatting it for your reading pleasure.
Lots of the amiga's arexx scripts can be run by regina, but the minute you bring in the ports functions, regina is tits up and dead in the water. And when the regina list was asked about "ports", and I tried to describe them, their response was to play dumb. They couldn't envision the utility it represented at all, and couldn't see any usefull reason to even consider adding them to the language.
Now, if William (Bill) Hawes, who wrote arexx, had been paid by commode door, he might have been interested in porting his version to other platforms, but as far as I have been able to find out, he never was able to collect a penny for his efforts in doing it. The only money collection he ever did was by his own marketing efforts, selling it to amiga users whose OS version didn't come with the freebie. I know, we bought 2 copies of it ourselves. I also personally bought a copy of an arexx compiler called rexxplus that turned the scripts into standalone binaries that ran much faster on less cpu.
Yes, arexx had its warts with its typeless data, but they were entirely tolerable considering what it could do.
Cheers, Gene
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.
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
Garg
Alumnus, Xavier's School for Gifted Youngsters
Actually, Object REXX is available for Linux no-charge (as is) here. 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.
"I'm a scientist! I don't think, I observe!" - Dr. Clayton Forrester
Rexx was incredibly cool at the time: - implemented on a dozen platforms - code was multi-platform - extremely easy to use / easy to extend / easy to maintain - could run it from MVS JCL - was the macro language for ISPF I used rexx for the following: - converted hundreds of cobol programs from cobol 68 to COBOL II (required parsing code, replacing periods with end-ifs, end-searchs, etc) - created 'asserts' for several programming languages - in which a simple function key would confirm the syntax. - created 'point & click' character interfaces - in which a function key would look up whatever was at the current cursor location and open an ISPF browser window on that file. And the above code was *easy*. Today I'm writing a lot of code in ksh & python. If python wasn't around I'd probably create this code in rexx. Although it's harder to find support for than bash - it a far better language. And although perl is more powerful in some ways - it isn't the maintenance-disaster that perl is. But python is just simply too good a language. Too bad for Rexx.
Wrong link, by you are right: here and here.
Browsers shouldn't have a back button!! It's all about going forward...
To all you Unix bigots who want to call Rexx a dinosaur, you'd better take a good look in the mirror, because to the rest of the world, you don't look pretty.
Rexx dates from the the 1970's, just like the Unix shells. However, unlike them, Rexx is a modern language. Unlike the quirky, bizarre, and barbaric Unix shells that have continued to roam
the earth, threatening intelligent life, Rexx has reasonable facilities for modularization, name
space management, variable scoping, standard means of interfacing in both directions from C code, etc. With its ease of use, built in parsing, immediate access to command line functions, pipes, interprocess communication, etc. it was really in the same league as the
currently popular scripting languages and way ahead of its time.
Rexx was included in a number of operating systems and was part of IBM's effort to standardize all its platforms. Under OS/2, Rexx was the official standard scripting language and most significant programs actually did have Rexx interfaces. Once you knew Rexx (which was very easy to learn) you'd be able to script for pretty much anything. Plus, you had many third party libraries for networking, gui, etc., etc., and some very high quality visual IDE's. A very powerful combination.
This gave OS/2 a huge advantage over platforms like Windows and Unix, which have no standards in this direction. Under Windows, you have VB, which is powerful and extremely well supported, but proprietary to MS apps. There were a million independent scripting languages for specific Windows apps. Under Unix you had the shells, which are not powerful languages, not too suitable for embedding, and which are fragmented. Scripting under Unix thus became a rather dismal situation with either app-specific languages of very low quality (e.g. emacs lisp), or external scripting using command line switches or other uncompelling paradigm.
The situation now is that perl has replaced the shells for a lot of scripting and perl has the advantage of being a more reasonable language and has huge library support. However, perl still isn't a real embedded language and it's certainly not a standard for that. Under Gnome, Guile is "official" the standard scripting language, but in practice it's not used for that, even by Gnome apps.
As a former OS/2 user and a current Linux user, I have to conclude that, despite the emergence of perl and python, Linux has never caught up to the power of Rexx scripting. I can hobble by with a combination of shell scripting, perl, emacs lisp, and other glue, but it doesn't add up to the kind of power I used to have under OS/2.
From: ------- [KEDIT]
l e.pl?sid=04/0 3/24/0034224&mode=thread&t6 &tid=187
[mailto:------------]
Sent: Wednesday, March 24, 2004 1:00 PM
To: '------------'
Subject: RE: Kedit Port
Hi Steven,
Thanks for the link. It's nice to see that KEDIT still has admirers.
To correct a couple of points in the threads I looked at:
1) "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."
We never ignore Linux/Unix version inquiries but there really haven't
been many over the years. We've been consistent in stating that we
have no plans for a Unix/Linux KEDIT. We've also been consistent in
stating that there are no open source plans.
1) "Mansfield software has quit supporting Kedit about a decade ago."
We still do support KEDIT for DOS, OS/2 and Windows. We essentially
don't sell KEDIT for DOS and OS/2 anymore since we ran out of manuals
some time ago and with sales of these versions so low, it wasn't cost
effective to print more. We sell license-only copies occasionally to
users who already know the product and need some more copies to be
legal. We're still selling KEDIT for Windows 1.5. We have no new
versions of KEDIT in the works though and perhaps this was what was
meant by the above comment.
Thanks again for the link. I only wish I had some better news for you.
------ -------
Mansfield Software Group, Inc
PO Box 532
Storrs CT 06268-0532 USA
Phone: 860-429-8402 x117 (M-F 8-5 EST)
Fax: 860-487-1185
Email: ----------------
Web: http://www.kedit.com
>
>>>>>>> Original Message: >>>>>>>
>
> FYI Scroll down to the post titled "Kedit and Rexx"
>
>
http://developers.slashdot.org/artic
id=126&tid=136&tid=15
>
> If you ever port kedit to Linux our department is good for 12
> copies....
I'm fairly certain (having been on the Amiga OS team at the time, and having worked with Bill a fair bit) that he was not stiffed by Commodore on anything. I don't know what sort of deal there was for including ARexx in the OS - it might not have included money.
Bill did a fair bit of work for Commodore on contract, and also did a lot of testing and tool development for us (evil memory-allocation failure tools, for example). We tried to hire him on multiple occasions, but he preferred to stay in Boston.
Bill seems to be involved in Linux kernel/etc stuff nowadays from a quick google search.