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



-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Simon Coulter
Sent: Thursday, July 03, 2003 8:01 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: What the compiler does, or not?

My answer to subject: a compiler translates computer instructions from one
language to another.

>Hans is not Bjarne (note the correct spelling of his name) and just as
well.
>Hans and Barbara et al are improving the language. One view is that Bjarne
>didn't improve C, he just made it more complex and troublesome by trying to
>reuse a base language when he should have started from scratch. Sun, too,
should
>have tossed the ugly C syntax when developing Java. At least they took the
OO
>behaviour from Smalltalk.

What is it with IBMers and C++? Dr Frank, Hans, and now Simon trash C++.
How many impressionable as400 minds have been badly influenced by these
groundless sentiments?

C++ added namespaces, constructor/destructors, well defined scope
boundaries, function overloading, operator overloading, integrated exception
handling, templates, pass by reference and struct ( class ) member functions
to C. It also showed how useful pass by const reference could be.
Considering all this, and putting aside my contention that the syntax is the
way it should be, isnt "ugly syntax" a bit of a ( staying on theme here )
"nitpick"?

Starting with exception handling, namespaces and destructors, ILE would be
much improved, just like C was, by the addition of these C++ features. ( and
IBM would sell a lot more iSeries systems! )

Oddly enough, pass by reference, one of the few C++ enhancements that was
included in ILE has been badly mangled by the IBM sanctioned teaching that
input parms of primitive types ( packed, bool, char, int ) should be passed
by const reference.  As I think I have proved in a past post, passing by
const reference increases the chance of "aliasing" ( thank you Hans ) in
your code.  Whenever the same variable is passed to two or more "pass by
ref" parms of a proc, unforseen results may occur. Unforseen by both the
programmer who writes the proc and the programmer who uses it.  Unless there
is a performance advantage to passing by const ref, passing by value is
hands down the safer ( better ) method.

>The "mass of legacy programmers" can continue to work just as they always
have.
>They can say with RPG III or move to RPG IV and stay in fixed form. They
are not
>forced to use free-form but if they choose to move to free-form then they
gain
>significant advantages at the expense of doing some things a little
differently.
>If they move to free-form then they are no longer legacy (and that is such
a
>misuse of that word) but part of the brave new world.

Why do IBMers, current and former, seem to have such difficulty admiting
they were wrong?  Leaving MOVE and whatever else out of /FREE means that RPG
III code cannot be translated enmass to /free form. The end result being
that many rpg programmers and shops still use RPG III. That is not good for
the iSeries.  If /free supported MOVE there would be no harm because MOVE
would become one of those quirky, little used legacy features that all
languages have.  And the gain would be that all rpg programmers would be on
the same /free page.

-Steve



As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.