Rexx for Everyone 61
An anonymous reader writes "It's easy to get lost in the world of 'little languages' -- quite a few have been written to scratch some itch of a company, individual, or project. Rexx is one of these languages, with a long history of use on IBM operating systems, and good current implementations for Linux and other Free Software operating systems. Rexx occupies a useful ecological niche between the relative crudeness of shell scripting and the cumbersome formality of full systems languages. Many Linux programmers and systems administrators would benefit from adding a Rexx implementation to their collection of go-to tools."
Comment removed (Score:5, Informative)
Re:Not to mention... (Score:2, Insightful)
Why not libtcl? (Score:1)
Re:Why not libtcl? (Score:2)
Re:Why not libtcl? (Score:1)
Re:Why not libtcl? (Score:2)
Re:Why not libtcl? (Score:2)
Re:Not to mention... (Score:5, Interesting)
Useless? Sure, but it looked a lot cooler than your average progress bar, and I could poke my head into the room to see at a glance how far along I was on my hour-long 2MB download from Aminet (via a 28.8 modem).
Re:Not to mention... (Score:4, Informative)
Amiga University - Arexx [amigau.com]
Re:Not to mention... (Score:2, Interesting)
If think AppleScript is good too in the Mac-world (never tried this one)
Re:Not to mention... (Score:1)
The least you can accept from something that people are using would be a working xmms interface...
Of course most people with some programming skills could control xmms easily, which means that we won't see a simple standardized system on linux anytime soon.
DCOP tutorial [linux-magazine.com]
Re:Not to mention... (Score:3, Insightful)
Sounds very similar to AppleScript. I'm constantly amazed at the amount of control those little scripts can manage on OS X. Some even go as far as to become completely new programs, just by wrapping the original! Unfortunately, the syntax absolutely blows. Maybe non-programmers find it intuitive, but I always think of it as another "Do what I mean, n
Re:Not to mention... (Score:1)
Re:Not to mention... (Score:2)
Interestingly, although it is called an ARexx port, you don't have to write programs in ARexx to make use of this Amiga feature. There's no reason at all why you can't code your "script" in C. What makes this rather exciting is the possibility of small extensions to Amiga versions of Python or Perl or whatever, to allow interfacing with ARexx port
Re:Not to mention... (Score:1)
Really?! I'm a big fan of Lisp and have used clisp extensively but never on the Amiga for some reason. I shall have to investigate this...
Yay for REXX! (Score:5, Funny)
Man, I can't believe someone's still kicking poor old REXX around. REXX, the crazy computer lingo that won't die -- a deadly scripting language in the horrible tradition of DOS batch programs and JCL. Gar! It's REXX!
Back in the day, when OS/2 fanatics would get all uppity-puppity about how great OS/2 was, their SECOND most deadly comeback (after "You can format two diskettes at once! One in drive a:, and one in drive b:! Try THAT on a Mac/DOS/Windows/Whatever!!!") was that OS/2 had REXX. It was the ne plus ultra of PC-level scripting languages. It would stop a conversation cold.
I think the Amiga also had REXX, which, like, that's the kinda thing that Amiga folks still get all teary-eyed over. "I miss the Amiga! It had great VIDEO! and it had REXX!! Waaaaaah!"
Hey, so, can you still buy a computer with TWO floppy drives? I wonder. That'd be kind of cool to find one. It's kinda sad to think of all the computing manpower in the late 80s that went into making it possible to format two diskettes at once, and now nobody even HAS two floppies. Like, as if Project Apollo had been achieved, and then the moon fell out of the sky or something. Who cares! Why bother?
Oh, yeah, but anyhow: back to REXX. IBM has this great REXX site [ibm.com], chock full of links to other REXX sites and REXX programs. There were wack developer tools in the early 90s, like Watcom's VX-REXX, a VISUAL REXX. Of course, there's a link from this site. And IBM has, of course, a couple of crazy-ass updated versions of REXX, like for example Object-REXX (no shit!). The coolest one I can see is the new NetREXX, which compiles REXX to Java, which can be, in turn, compiled into Java bytecode for running in a browser.
Yay for REXX! REXX everywhere! REXX REXX REXX!
Re:Yay for REXX! (Score:5, Informative)
Where it really shined, though, was in its ability to control other running applications. Most decent Amiga programs had an "AREXX port", which was basically an API that you could connect to while the program was running. You could write a script so that whenever your newsreader encountered a URL on a trusted website, then it would execute an AREXX script that would queue a request on your web browser to visit that page. Or, maybe you wanted your MP3 player to tell your IRC client to tell the whole channel that you were playing a new CD.
By itself, AREXX was pretty lame. As a global scripting language that could tie abitrary applications together, it was wonderful.
Re:Yay for REXX! (Score:4, Insightful)
IBM has done a great job of evolving these systems with the times, but very few shops implememnet ports of common languages such as PERL. Just try telling your Senior Systems Programmer that you'd rather use C++ or PERL or write code for your CICS regions and they would think that you were crazy because they don't want to support that code. Ironically, when the shop I worked at starting interfacing MVS and NT systems for data warehousing, my knowledge of Regina REXX on the NT boxen made the production programmers on the mainframe side more comfortable. Regina REXX even had some built in functions for the Windows Registry! REXX can be a good intermediate language for mainframe programmers to be more at home on the target platform you are moving them to. Ah, memories... Long live IEFBR14!
Re:Yay for REXX! (Score:4, Funny)
The best justification for OS/2 was it was a brilliant multitasking operating system and poor BBS sysops like I were happy with it because it really worked. Not like that Win3.1 crap or that stupid NT thing which you needed LOTS RAM. I ran OS/2 with 8MB and it was a dream. If only my win2K workstation would run as fast as that old 386 (later 486) with OS/2.
I ran Maximus BBS for years and it was fun fun fun! Sysops are sad losers which can distinguish all sorts of V protocols by the sound of the modems. The real sad ones can whistle a 1200 baud link (I managed an 300 baud one consistantly but never managed to do 1200 baud).
Yet Another... (Score:4, Insightful)
The only answer: (Score:4, Insightful)
There's no other reason. Your list could've stopped at perl, and it would still be a reason.
Its good to have diversity in your language choices, because different languages have different strengths and weaknesses, and having a good command of more than one can often make you much better, individually.
There's no reason not to continue adding scripting languages to operating systems
Or at least, so the theory goes. Of course there's the "pro at all, master of none" aspect to consider as well, but you never know
Re:The only answer: (Score:4, Interesting)
One issue is that rexx when compared to perl, pales in comparison. There are reasons for diversity with regard to differnt language styles, as each serves a niche, but you're kidding yourself if you think rexx serves any purpose for future scripting development.
There are reasons for python, perl, tk/tcl, C, C++, C#, java, lisp, and even smalltalk... but rexx? Lacking in the strengths of perl, and yet having more glaring weaknesses, with little in the way of development and integration that perl already has in a stronger and more up to date fashion.
Only reason to learn rexx is to help support previously written applications that would require too much time and effort to rewrite in a better support scripting language.
Re:The only answer: (Score:4, Insightful)
The other issue is "bulk" in terms of the scope of the language. Sometimes limits are *OK*. If I just want to script out some very simple operations, do I need Perl? Do I need my users to learn Perl?
You need to consider the topic as a whole. This isn't a defense of REXX's suitability in these roles, but a counter to the assumption that there is an "only answer".
Re:The only answer: (Score:2)
I've seen people do just about anything to avoid having to write REXX code. For those who had to learn it, they all agreed it was a good
Re:The only answer: (Score:2, Interesting)
Language Diversity rules. However, a really good language ought to be designed
so that you can use diverse programming paradigms within the limits of that
language. Perl is taking some steps along these lines. Perl5 already has very
good support for procedural programming, basic functional programming, basic
contextual programming, and with a little work you can get it to do basic OO
programming also. Perl6 is revamping the OO stuff to be a first-class citizen,
as well as bolstering t
Re:The only answer: (Score:2)
I am a happy user of Common Lisp, which supports imperative, functional, OO etc. out of the box. But what is more important is that the language itself is extensible. It is a rather common approach to write applications by first extending the language, and such extensions can go quite far. For example, people have integrated prolog style log [lispworks.com]
Re:The only answer: (Score:3, Interesting)
Of course, if you're a closed-source programmer, you can use whatever compiled language you like; but with open-source code, using obscure languages imposes a cost upon your users and limits your code's usage.
Zoc (Score:2, Interesting)
Re:Yet Another... (Score:1, Informative)
Re:Yet Another... (Score:3, Informative)
Right on! Read more about Ruby here [ruby-lang.org], and check out lots of projects using Ruby here [rubyforge.org] - games, sysadmin utilities, wrappers for WxWindows and ImageMagick, and so forth. Good stuff!
REXX isn't as much fun as Perl (Score:5, Interesting)
Life is too short to waste on REXX. Stick to Perl have fun.
- doug
Re:Perlisn't as much fun as Python (Score:3, Funny)
It's CobolScript for Unix!!! (Score:5, Interesting)
Yeah, I can see right away why I would want to write programs in this language. No object model. No regular expressions. Cobol-like syntax. This is more like BASIC (and not even the Visual variety) than Perl or Awk.
I know it may come off as such, but this really isn't meant as flamebait. I just really don't get why people would want to write new code in such a dreadful language.
(To be fair, I think the same of PL/SQL coders; but at least they have a good reason -- "Larry made me do it.")
Re:It's CobolScript for Unix!!! (Score:5, Insightful)
That's definitely verbose and ugly, but behind the scenes, that code just "connected" to the "SYSTEM" port, issued the "ls" command, and sent some configuration information.
When you "ADDRESS"ed the SYSTEM object, you basically imported it's API into the REXX namespace. See that "PARSE PULL" bit? That command comes from the SYSTEM object, and isn't part of the REXX language proper. Imagine this code sample (completely invented and unlikely to work without modification, but still illustrative) instead:
Suddenly it doesn't seem quite so horrible, does it, when you realize that you can connect directly to any REXX-enabled application and control it as though you were written a script directly within that application?
I'm not saying that I'd ever for a moment consider touching REXX code again without a large monetary incentive, but you should understand that noone said "hey, this language has no redeeming values, let's use it!". It has its own unique properties, and while the ugliness outweighs the good stuff, it certainly had its niche back in the day.
Re:DCOP (Score:4, Interesting)
Sure, but I was doing this on production systems in 1990. As I said, I'm not advocating REXX. However, it had a lot of really cool features that didn't seem to be in wide existence anywhere else at the time it came around. Python is much nicer than REXX, and I love it to the point that it's my primary development language, but REXX was alive and doing the same stuff (on a more primative level) nearly 15 years go. You have to give it some credit for that.
That's more a result of the apps than the language (Score:2)
I'd dearly love to see a common application scripting interface that was language independent. DCOP under KDE is nice, but we really need something universal. Ideally cross-platform, but with the entranched VB+COM/DCOM under Win32 and AppleScript under OSX, this seems unlikely.
It's the one thing I mis
Re:It's CobolScript for Unix!!! (Score:1, Informative)
Re:It's CobolScript for Unix!!! (Score:2)
As for PL/SQL, it is a great language. If someone say "Larry made me do it", they shouldn't be using it, as they obviously know nothing about the database and how to code for better results with less stre
Saints Preserve Us! (Score:2, Insightful)
Seems like Rexx is dying out (Score:4, Interesting)
bash and Perl are ideal for ripping together short scripts that do relatively simple things. The problem you often encounter with these languages is that it's hard to maintain scripts of more than a few hundred lines unless you're very disciplined in how you structure your code. VBScript on Windows sits in this area as well.
Python and Ruby fill the >100 line script niche by adding nice OO features. Python and Ruby scripts are generally easier to support than bash/Perl scripts once you get beyond a few hundred lines of code.
TCL seems to sit somewhere in the middle. I've never met anyone who actually uses it regularly, so I'm not really competent to slot it in anywhere...
Where does Rexx fit? Frankly, these days, it doesn't - these tools pretty much have the market cornered on both Windows and Unix platforms. New tools will emerge to split the "market" further, but to do that they'll offer some compelling extra feature to get people to switch. Rexx, being an existing solution, isn't likely to offer that compelling new feature.
The question Rexx advocates need to address is "Why would someone *switch* to my language?". In order to answer that, they need to be able to reasonably objectively discuss the pros and cons of Rexx vs. Perl/Python/bash/..., and I don't know of many Rexx people who can do that; they tend to know Rexx and nothing else in the scripting space.
Re:Seems like Rexx is dying out (Score:4, Insightful)
Scripting languages offer a programming interface to automate the use of a specific tool. eg. Javascript in a browser, Bash in a terminal.
Python, Ruby, Perl and perhaps Rexx (can't be sure, haven't used it) can be used for general programming which might otherwise be tackled in C, C++, Java, etc.
Re:Seems like Rexx is dying out (Score:1)
It is, however, the most enjoyable scripting* language to program in.
* Or post-scripting, or VHLL or whatever the heck you want to call languages like Ruby, Python and Perl.
Re:Seems like Rexx is dying out (Score:1)
"Why would someone *switch* to my language?" (Rexx)
Because it's better than EXEC and EXEC2!
Actually, I've seen Perl and it isn't anything I want to learn. I've read good comments about Python, but it looks like C to me. Again, not something I like. So, maybe the question should be "Why should I switch *from* Rexx?" And, yes, Rexx is the only scripting language I know. Fortunately, Rexx is available for Linux, and
Good Ole REXX (Score:1)
I have yet to find a suitable replacement for VX-REXX though.
For yo
Re:Good Ole REXX (Score:1)
Ahhh the memories!
Back from 1990 to 1998 I worked a systems programmer for an IBM contractor, supporting one of their software dev shops. I got quite good with REXX on VM and OS/390 and was fortunate enough to have access to IBM's internal mainframe network VNET and their VMTOOLS and MVSTOOLS repositories. They had tons of add-ons which were free of use inside the company.
One of my projects was updating my shop's APAR/PTF creation tools from poorly written REXX scripts to fast/furious compiled REXX with