• Subject: Re: Move an entire record format as a whole
  • From: boldt@xxxxxxxxxx
  • Date: Fri, 9 Jul 1999 10:08:36 -0400



Bob wrote:
>Not to start debating a bad idea <g> but if you're going to brag about
>"double the number of built-in functions" you might want to consider that
>we're not stupid. If you already had CHAIN (for example) and you give us
>%CHAIN()  but don't give us some new useful function, like the ability to
>retrieve the length of a parameter passed to a Procedure (with out using
>CEEDOD) I'm not sure I would be bragging about it.
>
>In the Army, the letters "CF" stand for "Cluster F.ck". I can just see the
>buttons at COMMON, now... (Dream sequence starting...)  "CF just another
>Cluster F.ck". A solution looking for a problem where there is/was none.

Hi Bob!

When the issue of the CF-Spec was raised on MIDRANGE-L a
couple of weeks ago, I was very surprised to find a very
favorable response. In fact, not a single person questioned
why we're doing it.  Not one!  So, perhaps I should spend a
few minutes here outlining our rationale for the current
release under development.

Remember the enhancement poll from the beginning of the
year?  Two of the most popular items were date operations
in expressions (#1 in popularity) and new BIFs, such as
%CHECK, %CHECKR, %XLATE, etc.  Note that these functions are
already available as opcodes, but people still wanted to be
able to do these things in expressions.  In other words,
voters wanted these even though it meant not having some
other new useful functions.  Even *you* voted for a few of
those items.

How does the CF-Spec fit in?  Well, as you know, one of the
items on the poll was free-format calcs.  Unfortunately, for
a long time, we had assumed that that would take the full
development resources for a release, and so we gave it a
cost of $100, the full budget for the poll.  In spite of the
cost, a few people were actually willing to blow their whole
$100 on that!

Well, once we put the new BIFs into the plan, we realized
that we were only a couple of steps away from an RPG where
a programmer could do practically everything (except I/O)
using the expression calcs alone.  For a long time already,
programmers have been using the IF statement instead of
conditioning indicators.  Also, defining fields on calc specs
has been passe since the D-Spec was introduced. And since
V4R2, programmers have been using indicator BIFs instead of
resulting indicators.  All of these features of the fixed-
format RPG syntax are fast becoming obsolete.  When you see
programs written for V4R2 (as we often do), you see pages
long sections of code where only expression calcs are used.

Free-form calcs would offer several advantages. More space
would be available in each line, which means that
continuation would be needed less.  Statements could be
indented, thus allowing the programmer to see the program
structure more clearly.  Operands to opcodes would no longer
be limited to a total of 14 characters!

The final step was the realization that a free-format calc
spec would not eat up %100 of our development, but rather,
would be relatively easy to do.  If the intermediate-text
stream in the compiler stayed the same, the change really
only affected the scan phase.  We assumed that if free-form
calcs were given a more realistic cost in our poll (perhaps
say $15), many more people would have voted for it. And the
response from MIDRANGE-L serves to validate that assumption.

Bob, we here in the lab all know how much you dislike the
CF-Spec.  But as far as we can tell, you are in a small
minority.  Overall though, I think you should be happy with
what we're doing.  I just checked the poll results - six of
the items you voted for are in plan and are already working.
The stuff you don't like, you don't have to use if you don't
want to.

BTW, CF is also a familiar sequence of characters in Canada.
The "top guns" of the Canadian Armed Forces fly CF-18's!

Cheers!  Hans

Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* This is the RPG/400 Discussion Mailing List!  To submit a new         *
* message, send your mail to "RPG400-L@midrange.com".  To unsubscribe   *
* from this list send email to MAJORDOMO@midrange.com and specify       *
* 'unsubscribe RPG400-L' in the body of your message.  Questions should *
* be directed to the list owner / operator: david@midrange.com          *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].