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