home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / RXBKS.ZIP / BOOKS
Text File  |  1993-01-26  |  9KB  |  167 lines

  1. This article was first printed in the Jan '93 newsletter for the Vancouver
  2. PC Users Society.  It has an OS/2 bias.
  3.  
  4.  
  5.                            Three REXX Books Reviewed
  6.  
  7.                                       by
  8.  
  9.                                 Jonathan Story
  10.  
  11.  
  12.  
  13. Introduction
  14.  
  15. REXX has been around for more than a decade.  At first it was used only on
  16. mainframes, but more recently has become available for personal computers as
  17. well.  Two great strengths which have helped this propagation are that it
  18. embraces the operating environment on which it runs, and that it is easy to
  19. use.  Any place where REXX is supported means yet another macro or batch
  20. language that the computer user doesn't need to learn.
  21.  
  22. Three books about REXX have recently been published as part of McGraw-Hill's
  23. J. Ranade Series, and are the subject of this review:
  24.  
  25. Programming in REXX, by  Charles Daney
  26. New York: McGraw-Hill, 299 pages, 1992. 44.95
  27.  
  28. REXX: Advanced Techniques for Programmers, by Peter C. Kiesel
  29. New York: McGraw-Hill, 239 pages, 1993. 39.95
  30.  
  31. The REXX Handbook, edited by Gabriel Goldberg and Philip H. Smith III
  32. New York: McGraw-Hill, 646 pages, 1992. 49.95
  33.  
  34. *  *  *
  35.  
  36. "Programming in REXX"
  37.  
  38. REXX is easy enough to use that many people, and most programmers, can get by
  39. with only a cursory look at existing REXX programs, some online help, and
  40. trial and error.  To use REXX well, however, demands a better understanding
  41. of the language.  _Programming_in_REXX_ can give it.
  42.  
  43. The author, Charles Daney, is well-qualified to write such a book.  He brings
  44. with him the technical depth that comes with implementing DOS and OS/2
  45. versions of REXX for his company, Quercus Systems.  Perhaps just as
  46. important, he also uses REXX, and draws on this experience to look at issues
  47. that are important to programmers.
  48.  
  49. _Programming_in_REXX_ is not suitable as an introductory programming text.
  50. Daney assumes that the reader has at least some knowledge of programming (if
  51. none of REXX).  This is not because the book is filled with arcane
  52. references, but rather to avoid having to explain such basic concepts as
  53. variables, statements, and functions.
  54.  
  55. Mike Cowlishaw, the inventor of REXX, defined the language in his book, _The_
  56. _REXX_Language_.  Daney praises the work for being so readable for a language
  57. definition, but attempts in his own book to expand and clarify.  As an
  58. example, the possibly confusing terms "instruction" and "keyword instruction"
  59. that Cowlishaw uses are replaced by "statement" and "instruction",
  60. respectively--more familiar to many programmers.
  61.  
  62. _Programming_in_REXX_ contains fourteen chapters, plus appendixes that list
  63. the REXX instructions and built-in functions.  Each chapter, after the
  64. Introduction and Language Overview, examines some aspect of the language:
  65. Program Structure and Syntax, Control Structures, Subroutines and Functions,
  66. Commands to External Environments, Character String Handling, The PARSE
  67. Instruction, Input and Output, The External Data Queue, Exception Handling,
  68. The INTERPRET Instruction, REXX Arithmetic, and finally, Tracing and
  69. Debugging.  It is not absolutely necessary to read the chapters in order, but
  70. for the first reading this is a good idea.
  71.  
  72. The hardest slogging, unfortunately, comes near the beginning with the
  73. Language Overview.  Like a French Immersion class, it shows you enough to get
  74. started, but this comes at the cost of getting too much too soon.  Fear not.
  75. The rest of the book is more like dim sum, presenting information in small,
  76. tasty, and quite digestible portions.
  77.  
  78. Throughout, Daney keeps an eye out for programmers' previous experiences,
  79. remarking on similarities and pitfalls.  One that could cause problems for
  80. those who use C is that REXX does NOT do logical short circuiting.  In other
  81. words, in the expression A & B, B will always be evaluated.  He does,
  82. however, in one place make the minor error of misidentifying "%"  as the
  83. "integer division" operator in C.
  84.  
  85. The book contains numerous examples to illustrate how REXX commands and
  86. functions work.  This ranges from a multi-page "Eliza" program to a one-line
  87. gem showing how TRANSLATE() can also re-arrange a string.  The effect of this
  88. is to make using REXX as easy as we always knew it was.  One area not
  89. covered, for the most part, is how REXX works under specific operating
  90. environments.  For a book such as this, the lack is actually a plus, since it
  91. is relevant for any REXX programmer on any system.  This does mean, however,
  92. that while this could be the first REXX book you'll read, it will not be the
  93. last.
  94.  
  95. I have some quibbles with the book, but these are few.  The appendixes are
  96. not easy to search quickly; the entries should be formatted better and fewer
  97. entries should have to span a page (this is distracting).  Also, the book is
  98. hard cover.  In my experience, while hard cover books are more durable, soft
  99. covers can get thumbed through faster--but this may be just a matter of
  100. personal preference.
  101.  
  102. To conclude, _Programming_in_REXX_ gives excellent value for a programmer new
  103. to REXX.  It answers the most pressing questions without burdening the reader
  104. with excessive detail, and deserves a place in a REXX programmer's library.
  105.  
  106. *  *  *
  107.  
  108. "Advanced Techniques"
  109.  
  110. _REXX:_Advanced_Techniques_for_Programmers_ is of much more limited appeal
  111. than _Programming_in_REXX_.  Most obvious is that the book is written for
  112. someone in a mainframe environment; if you don't know what VM, CMS or TSO is,
  113. then you might want to look elsewhere.  The alternative is to get used to
  114. reading only half the book.
  115.  
  116. Advanced Techniques groups twenty-one chapters into four major sections:
  117. Coding Techniques; How to Debug Your Program; Editor Macros; and
  118. User-to-Program Interface Issues.  The chapters deal with such diverse topics
  119. as:  Overall Format of Your Program; How to Get Pretty Output; Performance in
  120. VM; Sample XEDIT Macros; Reading/Writing Files; Using Select in Place of IF;
  121. and Can I Make a REXX "Include" File?  If this partial listing appears to
  122. lack organization, this is only a mirror of the book itself.  The author,
  123. Peter Kiesel, has for eight years taught REXX to IBM employees and customers.
  124. While reading his book, one can imagine that he put into a box all the
  125. Post-It notes he wrote during the course of his teaching and handed it to a
  126. publisher.  This is not to say that the result is uniformly bad, but uneven,
  127. with no coherent theme, and a hodge-podge of advice.
  128.  
  129. There are good parts, which with more development could have been even
  130. better.  One is the chapter on "Commonly Found Errors (For Each
  131. Instruction)."  For a programmer, if there is anything more satisfying than
  132. fixing an elusive bug, it is not to have made the bug in the first place.
  133. Here Kiesel at least partially succeeds.  He does weaken its relevence,
  134. however, by the VM-centric bias that is the reader's constant companion
  135. throughout the book.  (The few sops he throws to OS/2 do little to redress
  136. the balance.)
  137.  
  138. There is an unfortunate flaw that was not under the control of the author.
  139. In my copy, at least, the print quality is uneven.  Sporadically, some
  140. characters appear not fully formed.  The result, although legible, is
  141. distracting.  If you can, examine your copy before purchase.
  142.  
  143. I cannot recommend Advanced Techniques for a first REXX book, especially for
  144. non-VM users.  Moreover, even those in the VM world  might be well-advised to
  145. consider looking first to something like _Programming_in_REXX_ for a grounding
  146. in the basics.  As a supplementary text, Advanced Techniques has somewhat
  147. greater value, but, again, largely for IBM mainframe environments.
  148.  
  149. *  *  *
  150.  
  151. "REXX Handbook"
  152.  
  153. Let's get one thing clear at the start:  you don't need _The_REXX_Handbook_.
  154. The more important question is:  is it something you might want?  The answer
  155. is very possibly yes.
  156.  
  157. Forty-five articles by three dozen writers cover enough different areas that,
  158. if you like REXX, chances are you'll find something here to like as well.  A
  159. sampling of article titles include:  "REXX Origins", "The REXX I/O Model",
  160. "Debugging", "Object-Oriented REXX", "Application Macros", "REXX Compiler for
  161. CMS", "Amiga REXX", "REXX for PC-DOS and MS-DOS", "REXX and DB/REXX", "SAA
  162. Portability", "The IBM OS/2 and OS/400 REXX Interpreter", "REXX Education",
  163. and more.
  164.  
  165. To put it another way, for the price of dinner and a movie, you can hold a
  166. REXX convention in your hands.
  167.