IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New tight and readable?
Hmm, I don't think I'd describe REXX as "tight". Readable, usually. Depends on the skill of the programmer. I've seen a great deal of REXX code that could easily be mistaken for COBOL or FORTRAN (different code, don't give me that...)

REXX embodies a different mindset than Perl. As someone who has transitioned from REXX to Perl, there are a couple of things in REXX that I miss in Perl. Eg. multi-line comments (/* */, default variable values (assign to the stem name in REXX), optional command end characters (";" is required only to separate multiple commands on a single line) and there's probably a few others that are mainly syntatic sugar.

REXX has only two variable types: simple and compound. Simple is the familiar name/value pair. Compound is like a Perl hash, it is a name followed by a period followed by an index. Eg. foo.bar "foo" is the stem name and "bar" is the index. bar may be a simple variable, and if it is, its value will be used as the index. If it isn't, its default value will be used, which is "BAR". The default value of any variable is its name in upper case. Arrays, are implemented as stem variables and indexed from 1. 0 by convention contains the number of elements in the array. Note these aren't "real" arrays in the traditional data structures sense. The array indexes are really stem indexes. A very useful trick is to give a default value to a stem by assigning to the stem name like this: uncle. = 'Bob' This way any indexes for the stem uncle. that don't have a matching value will return 'Bob'.

Perl has use strict; to tighten up the parsing rules. REXX has Signal on Syntax; Signal on Error; Signal on NoValue (note the last semicolon is missing, and not required.) These enable control to be transfered to the subroutines syntax, error and novalue respectively, where the signal condition can be examined and handled or reported as appropriate. Ah, did I mention that REXX keywords are case insensitive?

REXX does not have regular expression handling. Instead string searching is handled by the parse statement via templates. REXX's approach is easier for novices to handle, but Perl's regular expression handling is far superior in what can be accomplished.

I could go on, and if you have any specific questions I'll be happy to answer them as best I can.

ps. Larry Wall has some interesting comments on REXX and Perl [link|http://www.cs.nmsu.edu/~jeffery/godiva/semi.html|here].
Have fun,
Carl Forde
New I've done both as well
..even for money. After the REXX experience I loved it. After the Perl experience I wanted to tear my eyes from their sockets and run isopropyl alcohol over them and massage them back to life.

REXX always seemed to me to express the coder. Sloppy coders would produce sloppy REXX (because you can!) Neat ones wrote for readability.

REXX was also very easy to use with external libraries. It was very simple to call things in OS/2 DLLs for example. Also on 'frames, the interface to the system routines was very simple (at least so it seemed to me, coming from DCL - but I always seemed to get the IBM mindset).

Everyone says Perl's regexp engine is just the bomb, but how often is all that needed? Of course REXX on UNIX can always call an external regexp parser if needed. On the other hand the lexical pasting that is so REXXy is extremely useful all the time. Also, "parse" seems to me to be better for getting "real things" off a text string - not in the abstract but say for parsing a syslog from a 'frame. Regexps tend to piss me off anyway.

In short I liked REXX a lot more than I liked Perl as an "intermediate" language ( > shell, < C ). I personally could never get past the unreadability of Perl due to the prefix operators, a horrible flaw. People say APL is unreadable - it's a children's book next to Perl. No offense to Ben, but Perl also seems to encourage "tricksterism" - this may be good among fulltime Perlers who write most of their own stuff, but for people who have to read other people's code it sucks. In addition to REXX and Perl, I've done DCL and of course UNIX shell. I would not complain if REXX were the default scripting langauge for everything.

Barry says only Perl can handle his volume. I doubt this, but he'll have to explain it himself.
-drl
New Something curious just occured to me
I wonder if knowledge of written music conflicts with Perl appreciation?

There is just something about it that reminds me of a sheet of music that got genetically fused with a telephone book.
-drl
New Nope
Like many other programming languages, the density of musicians among Perl programmers is fairly high.

I don't know a big enough sample to speak to musical style preferences though.

Cheers,
Ben
"good ideas and bad code build communities, the other three combinations do not"
- [link|http://archives.real-time.com/pipermail/cocoon-devel/2000-October/003023.html|Stefano Mazzocchi]
     Article, links on freeware REXX - (deSitter) - (5)
         It's been a long time. . . - (morganek)
         tight and readable? - (cforde) - (3)
             I've done both as well - (deSitter) - (2)
                 Something curious just occured to me - (deSitter) - (1)
                     Nope - (ben_tilly)

Kilroy was here.
69 ms