×
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.
Jon,
<Jon>
I would never teach any of this to a new programmer. _If_ they end up in a
shop that uses it they will pick it up - but I would never teach it from the
outset so it is a moot point.
</Jon>
I fully agree with this statement, but reality is diffrent. Even Birgitta
was looking for old educational stuff not long ago and many education offers
are starting from old to new.
@reserved words:
In fixed format you could name a variable call, or do, in real world I've
found "in" for a parm. porting this to free, it won't compile. For embedded
SQL the rule, that variables must not start with SQL is never checked, in
case of collisions you might get a compile error or a runtime error -
depending on version of the compiler. Similar problem with the new SQLTYPES.
@programm creation:
I would not recommend to use CRTBNDRPG, that's not sufficient and one big
binding directory is the starting point for many problems in real world. And
using SRVPGMS, you would have to deal with ACTGRPs and looking to forums,
even real experts sometimes don't understand the concept of activation and
deactivation...
@RDI:
RDI is based on Eclipse, but that's only the base. The most important parts
are plugins, specific to each language. I could only argue about languages
I've worked with in projects. Comparing RDI with an Eclipse based Java
Environment there are big diffrences:
- once set up the Java Environment, compile is done incremental, syntax
check is done by the compiler. You won't even notice, that there is a
compile. (deployment is done by an Ant Script, invisable for beginners).
- the most important parts of the java editor are not available for RDI:
refactoring (rename, move, extract...) and Source (generateXXX) another
point is Quickfix (simply use a variable or method and let quickfix write
the empty method, parms included).
@data types:
that's a minor point, but why not use int, bigint, short, long? Why template
and like definitions, instead of typedef (BTW. Dave would be happy with
typedef)
@strict typing:
in my experience strict typing is helping beginners. learning a programming
language. The compiler does more work for the programmer.
Dieter
**************************
Jon>
But as was noted earlier - the OP's question concerned how hard RPG was to
learn. Not whether it was easier to perform certain tasks. And it is easy to
learn.
</Jon>
... I don't think so, there are some points, making it hard to learn:
- no reserved words
True - and there are very few in most modern languages so I don't really see
the point.
- strange dialects, tolerated by the compiler (cycle programming, level
breaks, MR ...)
I would never teach any of this to a new programmer. _If_ they end up in a
shop that uses it they will pick it up - but I would never teach it from the
outset so it is a moot point.
- complicated compile-bind
CRTBNDRPG with a binding directory. Really complicated. Name a _compiled_
language that is any easier. Having explored node.js and Python those to me
are much harder to deal with until you understand the surrounding
infrastructure. Why does that make RPG harder? Have and class paths and on
and on.
- compiler creating programms, that could not run (weak type checking)
If you decide to lie to the compiler - the only way this will really
happen - then all bets are off.
- storage description in datastructure (I call it binary huddle)
As compared with ? The only other language where I find it easer is PHP -
but then I give up strict typing which you seem to think is essential.
- no "state of the art" IDE (RDI is just a joke, compared to Java - Eclipse
or visual studio)
I've been using Visual Code a lot lately trying to convince myself it is
worth the effort and it drives me nuts. RDi is Eclipse plus - so saying it
is a joke compared with Eclipse makes no sense.
- strange datatypes (int with scale and precision)
I assume you mean the old binary (B) type. The only reason that even exists
in RPG IV is for compatibility with previous versions of the language. Again
something nobody would teach to newbies.
I could also come up with similar lists for just about any language but I
won't bother because there are enough religious zealots out there who have
already made such lists to prove that "their" language is "the" language.
I think it was Brad who said that he uses a mixture of languages using each
for its strengths. I agree 100% and I know Scott K is in that camp.
This was about ease of learning and having taught RPG to a LOT of people I
think I'm qualified to say that it is indeed easy to learn the _modern_ (or
current if you find "modern" hard to swallow) version.
And that is me done with this topic because, like anything of this ilk, it
is getting hijacked to the point where it bears no relationship to the OP's
question.
D*B
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.