× 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.



Joe said:
 (talking about mixing /free and columnar formats in the same program)

>most managers I know won't want to standardize on such 
>a mixed-mode environment, and for good reason.  It's really 
>a pain in the butt to switch modes during programming, as 
>you know if you've done any embedded SQL.  Any programmer
>must know both sets of syntaxes and understand the differences.

I can't speak for management at any level because I've see some odd things
in my day.  But I strongly advise recalcitrant managers to re-visit the
notion that /free and SQL are equally difficult to switch into and out of.
I've been doing this stuff since Mother Fletcher's [1] days and have no
trouble flipping between columnar and /free.  The only thing I had to get
used to was factor one following the opcode.  It's still RPG, just sans
columns.

Switching into SQL mode is much more difficult, because SQL is not RPG
spoken with a funny accent.  Subselects are the biggest hurdle to an
old-timer accustomed to just doing a CHAIN to get what I want.  /Free really
is still RPG, admittedly with a bit of an accent.

>...if you can live with a mixed-mode development environment, 
>then the compiler team has indeed given you everything you need.

I included this bit to show that I am in fact reading every line.

My experiences agree with Doug's.  I have never converted an entire program
to /free, and probably never will.  I can't use /free in production code,
but all my internal tooling has been in /free for some time now.  I have no
trouble switching back and forth between the two accents (as when I need to
do stuff in production, or post code to the list.)  Also like Doug, when I
modify existing code, I convert it to RPG IV.  Many hands have been in the
code, and there is a distinct mix of coding styles: DOUxx and DOWxx nestled
above one another for read loops, GOTO mixed with CAB mixed with IFxx.
Multiple naming conventions (this one likes EXSR #SUBR and that one likes
EXSR SUBXXX.)  You name it, it's in there.  I leave it all alone.  The bit
of code I need to touch often gets moved into a subr or subproc where I use
the current shop standards.  Those who follow me seem happy enough with what
they come across.

When all my customers move over to a release that supports /free, I will
indeed mix /free with columnar format, but I'll do it the way I mix current
standards with extant code: it'll be in subprocedures or subroutines, called
in 'normal' syntax from the mainline.  In fact, this is what I do with my
internal tooling today.

My points (mostly for the Quiet Readers):
1) /free is no more difficult to understand (hence maintain)
   than columnar RPG IV format.
2) My code is already a 20+ year mix of styles, names and
   functions.  It's working fine as-is and doesn't need
   to be touched, except for conversion to RPG IV during
   normal maintenance.
3) My code is gradually moving to current shop standards
   not by bulk transformation, but by small incremental
   changes made during normal maintenance.

  --buck

[1] The official expansion of the acronym is Multi-Function Card Unit, but
many operators used a name that decorum prohibits me repeating.  Mother
Fletcher's Card Unit is one of many Bowdlerised alternatives.

As an Amazon Associate we earn from qualifying purchases.

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-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.