Unconfigured Ad Widget

Collapse

Announcement

Collapse
No announcement yet.

Is RPG IV Ready for Java-Like Class Libraries?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Is RPG IV Ready for Java-Like Class Libraries?

    ** This thread discusses the article: Is RPG IV Ready for Java-Like Class Libraries? **
    This is a discussion about Is RPG IV Ready for Java-Like Class Libraries?.

    Click here for the article.


  • #2
    Is RPG IV Ready for Java-Like Class Libraries?

    ** This thread discusses the article: Is RPG IV Ready for Java-Like Class Libraries? **
    I think RPG could greatly benefit from something like this. Basically a Catalog/Registry of available sub-procedures that are automatically available (prototypes and all) to any RPG program. Let the compiler determine what objects to Bind. A super suggestion, truly. I would like to add two comments: 1) They'll have to do something about namespace violations, in case two different procedures are installed with the same name. Fully qualified sub-procedures would fix this issue. Maybe the Compiler could recognize qualified procedure names in the program and resolve them to "TOOLNAME.PROCNAME()" automatically. The compiler could then throw a warning if the same SUB name was found more than once, but allow the user to resolve the conflict by using the above qualified name. 2) Instead of requiring the Vendor/distributor to directly alter Environment settings, let them include an XML file that validates to these Environment settings, then on install simply add the location of the XML doc to the Catalog/Registry. The catalog/compiler could then police the Environment settings and enforce a standard. I'd also say that this is better than Java, C#, PHP, etc. With all of those languages, the developer still needs to add program references to the code. Java has "import", C# has "using", with PHP you include or require the code path. This would be another real leg-up for RPG if all the procedures in a repository were simply "there" for RPG to use. One more thought: if IBM won't do this, how about a third-party pre-compiler? It would entail some work: it would have to parse all the procedure calls and compare them to all the Bound references, make a list of the "undiscovered" ones, then compare them against the Catalog, and if found add the appropriate BNDDIR statements to the CRTRPGMOD/CRTBNDRPG statement, and then execute, but it could work... Thanks for a great idea Bob! Joel Cochran http://www.rpgnext.com

    Comment


    • #3
      Is RPG IV Ready for Java-Like Class Libraries?

      ** This thread discusses the article: Is RPG IV Ready for Java-Like Class Libraries? **
      Along this line, why is it that I must create a prototype to an IBM API call? In Java or C system libraries are stored in their respective header files. QCMDEXC, probably the most prototyped API, should have a based prototype definition, that is either automatically used or in a source file that I can /COPY in. I do realize that there are naming issues to consider, but there are ways around that too (i.e., the % in bifs) that would not be typically used by development shops. Matt Tyler

      Comment


      • #4
        Is RPG IV Ready for Java-Like Class Libraries?

        ** This thread discusses the article: Is RPG IV Ready for Java-Like Class Libraries? **
        Shane, the colons are goofy, but the semicolons are a lot worse, IMO. I hate having to tack them onto the end of every command. I'd rather use a continuation character, as CL requires.

        Comment


        • #5
          Is RPG IV Ready for Java-Like Class Libraries?

          ** This thread discusses the article: Is RPG IV Ready for Java-Like Class Libraries? **
          Lets try this again....with the word semicolon in its proper place. An excellent idea Bob! This platform made a name for itself not only for being stable, but also for being the quickest to get a new application into the users hands. This of course rounds out the ROI formula. Bob, you are absolutely right when you say many programmers are hindered by the complexity and extra work required to use RPG IV's extended abilities. Like you I have a few years invested on the PC side in both C and VB. I will choose VB for application programming any day. This of course is not a new opinion and echoes from many cubicles across the planet. RPG IV in my opinion is just a syntax tweaked C compiler...complete with that annoying semicolon. Which by the way is another nail in Java's coffin. RPG IV should have been designed to be as easy to use as VB. RPG is after all primarily a business application language. I shouldn’t have to worry about prototypes or semicolons. And if George Farr is listening...... no, it didn’t have to look like this. This was a conscious decision. RPG’s constituency does not include a lot of C programmers. Sitting in on various RPG work shops and forums, one can quickly ascertain trying to use external procedures and the constantly forgotten semicolon create a large amount of grief. On a more constructive note, (since this train isn’t changing direction) couldn’t the library list be used as the search mechanism for external procedure libraries. That is how I handled this type of thing in my 4GL which generates RPG. Adding new libraries to the programmers library list is an easy and well understood task. Treat it more like an external file description and actually retrieve the prototype info from the referenced procedure. This would also eliminate the need for the external procedure's programmer to repeat himself when coding the prototype. It is not as though the necessary information isn't already contained in the module. An index of all procedures in all the modules found in the library list could be built at the start of the compile. This may speed up the search process during the compilation, but the machines are so fast these days it might be over kill. As usual, it comes down to "will". If there is a will to keep this machine alive and growing, there is a way. An AS/400 that runs its apps on Websphere on Linux/Unix using an Oracle DB, is not an AS/400. Shane.

          Comment

          Working...
          X