× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi Joe,

You keep accusing Hans of using the "beauty" argument, but you seem to be
using it yourself.  It is unnecessary to convert an entire program to free
form just to use a new feature.  The only reason you don't want to mix free
form with fixed form is apparently because it's "ugly" (or "inelegant"?) to
have the /free and /end-free in there cluttering stuff up.

As you said, Hans and Barbara and the rest of the compiler team are in
effect transforming RPG into a new language, but keeping the old language
intact within it.  You are not *required* to convert every single line of
code to free-form.  Not even to use a new feature.  Or conversely, convert
everything except MOVE's and convert them or not in your spare time as you
see fit or as you do maintenance.  Sure it's ugly, but isn't that what you
were berating Hans for using as an argument?

I like Douglas Handy's idea best of those put forth so far:

<quote>
  - Columns 6-7 are both blank (eg no C, nor a * in column 7)
  - First non-whitespace word on a statement is a valid opcode
  - Statement ends in a semi-colon (regardless of number of lines)

If those conditions weren't met just throw it out with a syntax error.  But
if
they were, they you could come very close to your proposed syntax:

                 CHAIN(E)   KLIST MYFILE;
     C         IF         %FOUND(MYFILE)
     C         MOVE       DBFLD           WKFLD
     C         ENDIF

You in essence could insert free-format statements wherever, and start them
in
the opcode column if you really wanted to.
</quote>

And why not include the SQL "opcodes" in there too?  Just put an "SQL_"
prefix on them instead of the c/exec SQL stuff and forget the precompiler
garbage.

As for MOVE, there are ways to do all of its myriad functions in free form.
It would just take a very intelligent conversion program to do it.  Easier
though to simply use the syntax suggested by Douglas, and fix the MOVE's
when doing maintenance to the program.  After all, why fix it if it isn't
broken?

Regards,
Peter Dow
Dow Software Services, Inc.
909 793-9050 voice
909 522-3214 cellular
909 793-4480 fax

Joe Pluta wrote:
> I'm unable to express my point, I guess.  I shouldn't HAVE to justify
> another cost just to use new features with my legacy code!  I'm already
> paying an arm and a leg for the compiler, support and maintenance (now all
> bundled in, thank you).




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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

This mailing list archive is Copyright 1997-2024 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].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.