iSpeak

Hear from our iSeries experts. Put in your two cents.

May 4, 2005

Free-format D-specs are LONG overdue!

IBM needs to deliver free-format D-specs (and P-specs) for ILE RPG, and SOON!

If we're worried about i5 image and productivity, a top priority should be the application "lingua franca" of the system.

Can you imagine Windows Server and .NET offering a language that still requires fixed-format, positional entries?

As a practical matter, free-format D-specs don't need to include all the esoteric options that have been added since the days of the "cycle."

Instead, a free-format D-apec should allow declarations of normal scalar and structure types. For example:

Dcl TRUE         Lgl  Const( '1' );
Dcl CurItemPrice Dec( 9 : 3 );

Dcl Structure ItemInfo  Qualified;
  Dcl ItemNbr    Integer;
  Dcl ItemPrice  Like( CurItemPrice );
  ...
  Dcl ItemDesc   String(100);
End Structure;

Positional declarations are a stone-age idea anyway, but this syntax is especially cumbersome with:

-- Long identifiers (requiring "..."). This really torques me on procedure interfaces, prototypes, and P-specs!

-- Within subprocedures, where you have to repeatedly bracket code with /Free /End-Free

Hopefully, it won't take IBM another decade to fix this critical deficiency in RPG.

-- Paul

Posted by at May 4, 2005 9:14 AM

Comments

I totally agree!!!! It has never made sense to me that they would make the c-specs free form but not the d-specs...

another thing is the ability to code embedded SQL in free format... I can do it in ILE C without any problem, so it should be easy to do in Free fomat RPG.

Posted by: bt at May 4, 2005 10:30 AM

I agree, but not with the form you propose. Make it easier, instead of repeating "dcl" all over the place, do it like java, Integer a, b, c, Structure ... (I hate typing stuff that is just for the compiler like dcl). And don't forget to do away with that /free /end-free crap - the compiler should know it is free format by the missing "c" or put it in a new member type with a free format compiler.

Posted by: David Howell at May 6, 2005 7:47 AM

David,

I agree! I just didn't want the example to seem too "radical". :-)

Posted by: Paul Conte at May 6, 2005 10:47 AM

Back in 2001 when George Farr opened a discussion group to ask for suggestions regarding the future improvements of RPG, I had suggested freeing of not only the D specs, but also the F specs. I had given some sample structure as well. I am not sure if I gave sample for O specs or not but I am sure I recommended freeing of H specs as well.

However Hans Boldt was, at that time, of the view that every language had a unique texture and RPG was about being fixed format and freeing specs other than C would be too much at that point.

I had also suggested many times that there should be a subset of compiler that wont allow obsolete technology so that shops looking for standards would standardize the subset compiler.

I think it is about time IBM went for a full fledged free format RPG and a subset compiler.

Posted by: Hassan Farooqi at May 8, 2005 6:51 AM

I think it would be a natural part of further developing the RPG/IV language to fully include D- and P-specs in free format.

It would greatly reduce the basically unnecessary jumping in-and-out of free format, as well as offer a much more practical and consistent syntax.

I can see why the compiler team did not want to introduce a too radically changed language right from the beginning, but as time has gone and the language - and its use - has evolved, I think it would be worth considering to take that next step forward now.

-Carsten

Posted by: Carsten Flensburg at May 10, 2005 5:35 AM

I would like to see the %scan allow an array for results, rather than having to revert to structured code to search for all instances of a delimiter in a string.

I agree that the /FREE /End-Free is so very annoying. Keeping the DECLARE a "section" is helpful so others may find it, but as such, there should be a begin and end for the DECLARE section, not a line by line reminder that we are are declaring, still declaring.

The H spec is fairly free form now, with just an H on the line(s), and I don't use many, but the D and P need to go, while making certain that the code can easily be scanned for these instances.

Posted by: Marilyn Eisinger at May 10, 2005 1:44 PM

I would like to see the %scan allow an array for results, rather than having to revert to structured code to search for all instances of a delimiter in a string.

I agree that the /FREE /End-Free is so very annoying. Keeping the DECLARE a "section" is helpful so others may find it, but as such, there should be a begin and end for the DECLARE section, not a line by line reminder that we are are declaring, still declaring.

The H spec is fairly free form now, with just an H on the line(s), and I don't use many, but the D and P need to go, while making certain that the code can easily be scanned for these instances.

Posted by: Marilyn Eisinger at May 10, 2005 1:48 PM


The next thing you will want is user defined data types. Then you will want those data types to have methods. Then you will want to overload/overide those methods. Then you will get bored with that and want to have an abstract RPG object to implement. It goes on and on and on. . .

Sure it would be great if IBM would have been on the ball with getting RPG up to speed 5 years ago, but does their body language tell you they are drinking RPG koolaid or Java koolaid?

Sometimes you just need to sit down and have a drink of the same koolaid IBM is drinking. Learn Java and you will see what you have been wanting RPG to be.

Note that I still believe RPG has the easiest/best record level database access.

Aaron Bartell

Posted by: Aaron Bartell at May 10, 2005 8:39 PM

In my perception the suggestion here is to improve on RPG/IV free format, rather than making RPG/IV object oriented.

Java and RPG/IV by no means and measures can replace each other. They both have their merits and qualities, they are just not the same.

So in that sense there should definitely be a continued effort to add to the fine improvements to RPG/IV that have been delivered in recent time, free format being one of the most prominent.

Posted by: Carsten Flensburg at May 11, 2005 4:02 AM

Free Format RPG is getting out of hand. The strength of RPG has always been that it gave structure to HLL programs where the languages at the time had the out of control free formatting (COBOL/FORTRAN/PL-I). The midrange industry was always happy with the fixed column in RPG. This is what set it apart from other langauges. But ever since Java made a push, some want RPG to look like Java. My suggestion is to move to Java if you want Java coding techniques.

My experience with Free Format and other free formatting languages is there is more unreadable code around than with fixed column RPG. Most coders will not conform to a style. Most of the cost of any program life-cycle is in maintenance. Think about the multiple ways the same program can be formatted in a free format coding style. Compare that to fixed format. My preference, leave RPG alone and migrate to Java.

Okay...I admit I am a RPG purist...is that wrong?

Posted by: James S. at May 11, 2005 11:30 AM

I believe very strongly that IBM needs a new version of ILE RPG and for me, the number one design criteria should be multi-treading. I don't necessarily mean supporting multi-treading in the new version but providing a clean version of the language that is tread safe and that means getting rid of all the old junk that is no longer needed nor wanted in the ILE world. In other words, a clean language capable of functioning effeciently in a Java world. The statement has been made to me that ILE RPG cannot be made tread safe or multi-treaded because there is too much junk that does weird things so get rid of the junk.

F, O, I specs gone.
100% free format.
Free format SQL.
No SQL precompiler.

Let the people who want to continue writing RPG III in RPG IV stay with the old compiler. How about giving everybody else something to really work with?

Posted by: Alan Campin at May 17, 2005 7:34 PM

While I agree with Paul that having to use the "..." is a pain in the ...... I must admit that I get a bit of a chuckle out of this.

After all - once we get free form D-specs isn't the very first thing we're all going to do is to line everything up in columns (I've read your COBOL and C guidelines Paul ;-).

But dammit all - they'll be _our_ columns

Posted by: Jon Paris at May 19, 2005 5:04 PM

Re Aaron's comments on defining data types. We already have that to some extent with the advent of LikeDS etc. According to IBM the next (?) release will probably improve this by allowing the use of TS (instead of DS) and T (instead of S) which will allow type definitions which include initialization values etc. Not perfect, but then most RPG programmers haven't caught up with _why_ they even want qualified DS yet.

Posted by: Jon Paris at May 19, 2005 5:08 PM

One last comment - am I the only one to get driven crazy by this *&^! web page repositioning while I'm typing .... I'm using Firefox and it is driving me nuts. Don't know about IE but since it seems to be caused by the ads refreshing, I suspect it would do the same thing.

Posted by: Jon Paris at May 19, 2005 5:10 PM

Free format is "getting out of hand," James? I can't understand how anyone could see it that way. It easily takes me twice as long, if not longer, to debug an unfamiliar fixed-format RPG program versus the same type of program in free-format, even with a "loose" free-format programming standard. How can you argue against the merit of simple indented if/endif's and do/enddo's? If there are programmers out there writing unindented free-format slop then shame on them. But to not advance the causes of free-format RPG due to a few renegade sloppy coders out there would be analogous to not putting airbags in cars because some people fail to wear their seatbelts and wind up getting hurt by the bags when they deploy.

We can be RPG purists and still pressure IBM to continue advancing the language. Wasn't the introduction of EVAL Z=X+Y a great improvement over X ADD Y Z? Those sorts of "radical" improvements must continue!

I tell you, coming from a C-language environment and suddenly having to write RPG programs in fixed column format was a pretty hard sell for me 12 years ago. I can't imagine what a college graduate today would think of this kind of restriction. Don't get me wrong, I love the language and all its functionality, particularly for native database I/O. But the only way we're going to keep the language viable for the longer term is by keeping the development teams in Rochester busy making improvements for us. All of us, RPG purists included, should clamor to keep the changes (read: improvements) coming!!

Posted by: Rob at May 19, 2005 6:41 PM

Hi folks,

My view is to make the whole thing free-format altogether, and a rename for it.

If appropriate, you could have compiler directives to divide the sections now identified by the form spec code.

And a new name, I think. We'll all know what it is, but it'll be a "new language" for the rest of the world.

- Alan

Posted by: Alan Cassidy at May 19, 2005 9:09 PM

Ah let's just forget about RPG and code in C++ or Java. I hate to think of what the people who write terrible code in fixed form RPG can do with free form. Anyone ever seen the mishmash of C++ and Java code. Talk about a maintenance nightmare.

Posted by: Larry Wood at May 20, 2005 5:25 AM

I understand the reasons for wanting free-form D specs, but they have little to do with those of us using the box today. It seems to be more for "what do other programmers think of our language?" The nice thing about positional entries is that it is a LOT less typing!

Posted by: John C at May 20, 2005 6:28 AM

All of you "newbies" have lost your minds!!! Have any of you looked at the code being generated with any free-formatting?? The term "give them an inch and they'll take a mile" comes to mind. All free formatting translates to is completely varied code. One programmer writes an English novel, another a children’s bed-time story and yet another writes a Japanese Haiku. All of this results in code that takes a second programmer longer to review in order to determine where or how to make code changes; making us slower and shrinking our ROI. If IBM provides free formatting I hope and pray we can label it RPGFREE so the rest of us can keep it out of a structured language that helps us enforce some coding standards that we know you must adhere to. Reading through your “free� garbage is not anything I’m looking forward to.

Posted by: Mike Downey at May 20, 2005 6:59 AM

"The midrange industry was always happy with the fixed column in RPG."

Not necessarily everywhere:

Up until RPGIV, the tendency in the securities industry shops around Toronto that I've seen would implement all their green-screen UI in RPG, and put all the business objects in COBOL, because for complex nested control language structures, fixed format RPG was seen as too hard to read in the middle of the night.

The problem I am experiencing with Java is performance, but it handles complexity really well, and allows you to leverage a vast library of canned functions.

Could RPG++ or RPG# offer high performance with the benefits of OO, without being as crazy as C++? I could be just wishing.

However, RPGIV has a JNI interface which I am finding invaluable for leveraging the useful aspects of Java. For example, I have need of stacks and queues. Java has these things canned in the LinkedList class, so I don't have to mess around with pointers in the RPG, simply make some method calls instead.

But this is really a religous debate, there is no right answer (or wrong one, depending on your POV)

Posted by: John Elliott at May 20, 2005 8:03 AM

Amen Paul!
I like that I can show free-format RPG to developers of other languages without getting a blank stare. It's not about morphing RPG into something else, it's about making it more recognizable to developers who have never coded RPG before. I think IBM has done a great job of modernizing RPG without pushing the learning curve too much. The more they make it readable to other developers the less resistance there will be to my still coding in it.

Posted by: Bill Barwig at May 20, 2005 9:08 AM

A lot of good opinions here. I like Aaron's especially.

Most RPG folks know that I teach a lot of classes for midrange programmers. Lesson #1 is that you'll likely never become a Java programmer (or any OO language for that matter) without first learning to use RPG to its fullest potential (ILE, freeform, BIF's, embedded SQL, pointers, etc.). Only then does the usefulness of Java become apparent, and the desire to embrace it come to life.

21st century RPG is the answer in many situations, just not all situations.

RPG should continue to evolve, but RPG programmers should as well.

Posted by: Christopher F. Burns, Sr. at May 20, 2005 9:28 AM

What about freezing RPG as it is and launching a new language that is based on procedural RPG? That is, the RPG without the F and O specs, without the cycle ... the RPG I code in a sub procedure. File I/O is handled by calls to the C recio.h procedures. There would be no implicit statics in the language so it could be multi threaded.

As I am learning from C#, reference types are great. If IBM is to survive as a programming language and OS software company it has to either embrace the .NET CLI or come up with its own comprehensive version. I guess that is what Java is supposed to be, but clearly IBM never worked to include RPG in the Java GC memory model like MS did with enabling C++ to be part of its managed code languages.

Maybe the IBMers who made those wrong decisions in the recent past have to give way to a new group who have a different approach?

-Steve

Posted by: Steve Richter at May 20, 2005 10:00 AM

I wholeheartedly agree with James S. If you don't like the D specs or the P specs, learn another language that contains free format capabilites. I tried writing in FREE and found the source ugly. I find my way around much easier in RPGIV. New functions are always welcome (like new %BIFs or new functions), but not if it is going to ruin RPG altogether.

Posted by: yakov at May 21, 2005 10:56 PM

Why do you want that, does the way you describe things make better programs.

The only problem is functionality, that 's why you eventuelly could or should change things.

First you make nice and orderly programs so that your colleges can read and understand them to.

For instance when you have used the old RPG ADD SUB etc. with one action per line you have to think about calculations, now you write this direct without seeing the simple steps behind a formula.

I am not against modern build in functions and so on but you must explain correctly what they do which is mostly forgotten after it ok for the result. Three years later it takes a lot of time to understand what was mentioned to do.

So change only things when really needed. We have to many "standards"
already.


Posted by: G. Pijpers at May 30, 2005 2:27 AM

We have a tool (RIO) that translates RPG into C++. The interface would still have to be 5250, but would give you the robust language features you seek.

If someone is so moved, I'd be willing to let one of the posters here try it to guage coding in C++ as opposed to free form RPG. Having some C++ background would help, of course. This is not an attempt to sell anything.

Posted by: Chris Wilson at May 31, 2005 9:33 AM

I hated fixed format RPG at first, but after cutting and pasting code out of nested structures for a decade or so, I began to see the merits of slow evolution.

So the conservative side of me says keep it the way it is - although I have been enjoying pastures new.

The racier side says, divest the Midrange side of IBM let them bring in Python and dispense with both the ENDIFs and ENDDOs by making semantic use of white space AND get rid of the compile cycle.
In internet time we don't have time for such anachronism.

Posted by: jorjun at June 2, 2005 4:07 AM

Free format D-specs are ok by me, but the proposed just doesn't make sense. Why trade in 'D" in column 6 for 'DCL' everywhere? It's just more typing.

I'd rather that free form D-specs be a section... somewhat akin to COBOL's "Working Storage". Just declare that the following section contains data definitions and be done with it.

Free-form F-spces would be ok, too.

But neither fixed nor free format D or F spces get me too riled up. That being said, I do think it's time to get radical. Well past time to get way radical. Rename the language and give it some of the things others here have mentioned: user defined types with methods, and threading.

Don't tell me that if I want these features to code in C. That language is undeniably powerful, but it's obsession with terseness is one reason why I think the langauge sucks. It's syntax is needlessly error prone and the language is unsuitable for business apps. Business apps are what the i5 is all about.


What makes RPG what it is is simple, direct access to the database. No other language comes close to the ease of RPG.

Why limit RPG? "Because other languages can already do it better" seems to be some people's attitude. By that line of reasoning, why bother even living! The only real limits are those of will.

Time to take it to the next level.

My two cents.

Posted by: Tom Daly at June 2, 2005 12:45 PM

Actually - the /END-FREE and /FREE statements shouldn't be necessary.... why IBM is requiring them is beyond me.... it's pretty straightforward to me - if there's something in column 6 it's fixed format - if column 6 is blank it's free format.

I don't mind how the D specs are implemented - you can indent the variable names for readability while at the same time see the definition at a glance - ie numeric vs character, size, etc.. having DCL statements look too much like CL programs.... LOL

Posted by: Rocky at June 2, 2005 1:10 PM

Something else that IBM forgot is a "with/endwith" opcode. It would work like this:

with CUSTOMER;
.NAME = 'ACME Tools';
.NUMBER = 12456;
.ADDRESS1 = '123 SAWMILL RD';
.CITY = 'LOS ANGELES';
endwith;

It would save a ton of keystrokes when working with qualified data structures and, as a bonus, it could be used with user defined data types and methods and properties too! Object oriented RPG? Sure, why not. Bring it on!

Posted by: Neil Soon at June 2, 2005 3:16 PM

Well the pot is certainly boiling, and lest it cool off too quickly, I asked my old friend and RPG antagonist, Raoul Picante what he thought.

What follows are some of Raoul's observations. Don't be too hard on the old guy, he's still trying to figure out why the opcode is spelled DSPLY.

-- Paul

===

* What was Conte thinking, suggesting the superfluous "Dcl"? Declarations should just be recognizable by their syntax or section in the program.

* Fixed-columnar syntax has nothing to do with logical program structure. Program structure is dependent on:

>>> a) reasonable language elements, like the If, Case, and other "structured" statements; procedures (or better yet, classes); and so on.

>>> b) competent programming, especially a solid understanding of modular program, abstraction, information hiding, "programming by contract," and so on.

* If you're counting keystrokes, maybe you should consider being a typist not a programmer.

* I enjoy "multi-treading", too, but mainly when I'm in the water. :-)

* If it's easier to understand A = (X+Y)*Z by breaking it into a series of single arithmetic operations, would it be even easier to understand by reverting to assembler-level operations (load register, add register, store in memory, ...)?

* I HAVE looked at some of the code being generated in free-format RPG, especially Julian Monypenny's, Scott Klement's, and even some of Conte's ... and it's SWEET!

* Has anybody considered maybe the computer could automatically pretty up the layout of your free-format code and check for compliance with shop standards at the same time? Oh yeah, I guess they have ... for C++, Java, C#, ....

===

Posted by: Paul Conte at June 5, 2005 7:38 PM

I think "Dcl" is redundant. Also one declaration should be good for more than one variables.


Legal TRUE Const( '1' ), FALSE Const('0);
Dec(9:3) CurItemPrice Inz(0), TotalPrice Inz(0);

Structure ItemInfo Qualified;
Integer ItemNbr, CustNo;
Like(CurItemPrice) ItemPrice, TotalPrice;
...
String(100) ItemDesc;
End-Structure;

Posted by: Hassan at June 6, 2005 7:37 AM

The whole Free Formatting issue can be debated for years to come and IBM will never be able to satisfy everyone. They never have, why should they now or in the future?

I personally like the abilities that IBM has supplied so far, but I am also from the old school. I started off in RPG II. The addition of BIF's has been great, as well as all the new OpCodes, but we have to give IBM time to develope the new functions in a timely manor. Let's face it folks, one of the greatest things about the machine that we work on is its reliabilty. Let's not rush IBM to make changes to the language and compromise the quality of the product (code) that comes out.

I've read a lot of good posts on here, but the one that really gets to me is when you start talking about code that looks bad because of free formatting. I've seen code in fixed format that took a pool of people days to figure out. Free formatting will neither improve nor degrade the maintainability of code it the CODER is a sloppy person. Even with coding standards in a shop, there are always issues that aren't covered or exceptions to the rules. I think it's up to the coder to be responsible for what he/she writes and its readability, no matter whether its free for or not. There are just too many people out there writing code that would probably be better served finding another line of work because of their inabilit to wrote code that is maintainable by others. Heck, I've actually seen a 3200+ line program without one comment line in it. Free format or not, internat documentation is very necessary for maintainability. If someone wants to use the free formatting capability given them, then they sould use it, but include internal documentation and comments to explain what they were "Attempting" to accomplish.

Before I close, I would like to thank IBM for all that they have given us in the past few years and I am especially glad that I DON'T HAVE TO use the logic cycle anymore, yet it is still available if needed.

Posted by: Jim at June 10, 2005 9:57 AM

Rather than requiring a "dcl" how about a D in column 6?

Posted by: Greg Helton at June 10, 2005 2:41 PM

"I am especially glad that I DON'T HAVE TO use the logic cycle anymore, yet it is still available if needed."

By the same token, "I am especially glad that I DON'T HAVE to use the fixed format (atleast in C specs)".

I am also fully confident that IBM would not stop the progress on C specs, but would spawn to all specs. Our only concern is "D specs freedom are long overdue".

I am also old old school from 70's using S360, S370, S34, S36, S38 using Assember, Cobol, Fortran, RPGII, RPGIII before hitting RPGIV, ILE and /free. There are people who have been programming since I was in grade school yet it did not stop them from appreciating /free. Then there are people who would still run As/400 in S36 mode using RPGII.

Posted by: Hassan Farooqi at June 13, 2005 10:59 AM

I'd really like to see FOR fixed. The current syntax of:

FOR index-name = start-value BY increment TO|DOWNTO limit

is ridiculous.

TO|DOWNTO??? This should be determined by the sign of the increment. A positive increment means "TO", a negative increment means "DOWNTO".

Requiring TO or DOWNTO limits the usefulness of FOR. And needlessly so.

Posted by: Tom Daly at June 15, 2005 10:42 AM

I am a recent graduate and started a job as an RPG programmer with no experience in RPG. Learning a new language after having learned a few in university is not so bad ... but the thing that really got me about RPG was that I only had 10 chars to name things!! So, if people want RPG to survive, younger programmers will want to use RPG free format because we like to give things reasonable names (reasonable implies the use of vowels ;) )

The second thing that has me fed up about RPG is all the darn global varibles! As Raoul Picante mentioned, modular programming and information hiding are important parts of any good large program. This is really hard to do when a language has scoping that is as weak as in RPG.


So, my suggestions are: First, continue to free RPG so that it can survive into the future (otherwise maintence of your old RPG will be come more and more expensive). Second, don't make my varibles global unless I explicitly request it.

P.S - sorry about the ugly formatting, but my paragraphs aren't showing up as paragraphs right now for some reason.

Posted by: Adam Glauser at June 16, 2005 6:52 AM

Okay, I guess paragraphs just don't show up in preview mode ...

Posted by: Adam Glauser at June 16, 2005 6:53 AM

i want about technology RPG400

Posted by: noradech at June 20, 2005 8:10 PM

You know, I love my RPG, but with all the changes being proposed I suggest that people just start using one of several languages that already have the features they want, and more. They're called Java and .NET.

Posted by: Scott Walker at June 21, 2005 8:52 PM

People still code in RPG?

Wow.

People still code in fixed-column RPG?

WHOA!

Posted by: Don Schenck at July 5, 2005 1:00 PM

A few IBM Midrange Professionals work this this (fixed format) but certainly not because they are idiots, until you have seen a *large* order entry program where only the brave will tread and add their initials by changed lines, you should not speak of such matters.


It is often more important to keep a business trucking by adding some new functionality than to add a few lines of code and then jiggle other code around just to make the source indentation 'look nice'.

If you want an indented view, there are tools that will present that view to you while you edit and at print-time.

This is far more sensible in my opinion and avoids this terrible talk about coding indents to 'shop standards.'
The rate at which the microsoft dingy is catching up with the Midrange ships should give people cause for concern however.

My vote is for some Big Improvements to RPG.

Number One : Interface support (contract oriented programming)
Number Two : INTEGRATED web support from within OS/400.

Fancy new Mac based tools to handle the style sheets. But adding another 'portlet' to a web site should be as simple as adding another RPG program PDM-style, perhaps with a new attribute type (preferably PY400).

Posted by: jorjun at July 6, 2005 5:59 AM

What is the great thing about free format anyway??
It's hard to read, even harder to find that little bug thats like a needle in a haystack.
Just right click and view source on a lot of web pages, thats what happens when you let idiots FREE!
I have struggled to understand code that is just like reading a book, you spend hours trying to figure the stuff out.
RPGILE is great as it is, leave it alone. I agree with a previous statement, if you want the freedom to write incomprehensible code, switch to Java or C++ or any .NET language.
FREE literally means free to make a mess.

Posted by: Mick at July 6, 2005 11:36 AM

For those RPG "purists" who oppose free format RPG, I am sure you opposed RPG III when you were coding RPG II. Languages have to mature, so is the case with RPG. I look forward not only to free format F, D, & P specs, but also having embedded SQL within free format blocks of code.

Posted by: Mark Harrison at July 6, 2005 12:11 PM

Why not eliminate RPG as a name completely and as an iSeries language? That would solve the dilemma once and for all.

Let the new "RPG" programmers pick Java or C and C++ and fill up the RPG container in the compiler library with one of those compilers. If IBM helps out a little bit, when you call CRTRPGPGM, your C, C++, or Java program will compile just like the old time RPG language - except now it will be free format and block structured and all those things that non AS/400 programmers have loved for years. Plus it will be called RPG. That oughta make the free format guys as happy as they can possibly be.

Maybe IBM can give the rest of us a way to call the "old RPG" that the new guys don't have to care about and try to change since they will have the real and the "modern" RPG and it will be so great and so free form it will look just like their favorite free format language - C, C++, or Java.

Posted by: BKelly at July 6, 2005 1:39 PM

What does RPG have that Java doesn't?

1) Much better database file handling capabilities.

IBM has supplied classes to Java for the same funcitonality, but the fact is it's slower, because using a class can be a relatively expensive proposition.

2) packed decimal

Java gives you either integers or floating points to accumulate with. If you want to keep some sort of precision, you have to use integers, which is tricky. Packed decimal format is the perfect solution for accumulating money in memory. Java does not support that natively.

3)Data structures

If you want a data structure in java, you have to create a class. Imagine creating a subroutine or a series of subroutines just to contain something you want to use as a data structure locally in one subroutine. Some things aren't really meant to be reused, imo.

Someone said free format is hard to read, but that really depends on how you use it. COBOL is free format in the same sense as RPGIV can be, but you can maintain systems with it. Perhaps the best solution is a code viewer that lets you pick the format you want to see it in. Although some functions are avaiable in free format only... and vice versa. So some consolidation would be in order there.

Posted by: john elliott at July 7, 2005 6:12 AM

Of course it depends on how you use it!

The problem is that some programmers refuse to stick to any standards and write horrible code. It's hard enough trying to figure out what they were trying to do when it is formatted. If you let them loose with Free it's near impossible!

Just look at what has happened since we could have service programs and procedures, they are abused everywhere.
We now need additional tools just to figure out what other programs and objects a program might be related too.

Can you imagine trying to sort out a whole stack of programs related to an even bigger stack of procedures and service programs written completely in Free with little or no stucture, standards applied, comments or documentation, what a nightmare!

Posted by: Mick at July 7, 2005 9:20 AM

You do have a point - ILE and free format neccessitate enforcement of shop standards, code walkthroughs, and change management. Coming from a financial services background though, these were required regardless, so it never really registered.

As for mavericks who refuse to conform to standards, in the shops I've worked, we call that a 'career limiting mentality'. When you have them by the bonus, their hearts and minds will follow, sort of thing.

But I do understand the attraction of a language-enforced format, since you put it that way.

Posted by: john elliott at July 13, 2005 6:49 AM

In my experience 'coding standards' are the result of an initiative to set work-practice in stone at some arbitrary point the 1970s.

The point of RPG language development is to simplify systems so that they can cope better with the onslaught of change.

Having said this, there are plenty of idiot programmers on both sides of the divide - those that refuse to embrace modularisation and SQL and those that use ILE to trash code readability (so called literate programming) in preference to nerdy memory performance improvements can end up looking like mere stunts to prove a graduates alpha code-monkey status ;)

Posted by: jorjun at July 14, 2005 5:40 AM

Someone remind that Raoul Picante guy that I was in the forefront of the Free Format fight back in the early 90's. Heck, I think I still have my "RPG: Born to be /free" t-shirt lying around the house (probably under the cat).

Still tilting at windmills, I am.

-- Don

Posted by: Don Schenck at July 20, 2005 1:38 PM

A quick quiz:

1. Is COBOL difficult to read?

2. Fill in the blanks: A programming language is to simplify communication between (a)______ and (b) _______.

I'll post the answers in a few days.

Posted by: Don Schenck at July 20, 2005 1:47 PM

Wow. I'm amazed this thread is still going months later. Must be a testament to the fervor of sentiment over this issue.

Free format is the present and the future folks. If you don't already have them, establish among your team design reviews, code reviews, formatting standards, etc. We're professionals here, right? Aspire and improve or get off the bus.


I once successfully found a bug in a 300+ page JDE program that the JDE people in Denver couldn't figure out. This was really no major feat though. I used Raoul's RPG/Pretty against the source and easily saw the problem in a 4 or 5 level deep series of nested do loops. This was after looking at the fixed format version for a day or two and coming up blank.


And truth be told, free format is such a small piece of the pie. Let's all say it together: "Minds are like parachutes, they function best when open." There's so much more to consider in development. RPG should have been free format 20 years ago. Change can be difficult for many though.

Sorry if too preachy.

Posted by: Buzz Loftus at July 21, 2005 9:32 AM

well

Posted by: ap at July 21, 2005 9:53 AM

1. COBOL is NOT hard to read; you've just not seen any well-written COBOL programs. It remains quite an elegant language IF DONE CORRECTLY.

2. Programming is communication between ONE HUMAN BEING and ANOTHER HUMAN BEING. Always remember that.

All The Best,

-- Don

Posted by: Don Schenck at August 5, 2005 6:41 AM

Is there somebody who can help with this, when a calculation is done on free-form it always complains that 'target value is too small for the receiver'. how do we overcome this because the moment u revert back to fixed from it works.

Posted by: Mac Naidoo at August 17, 2005 3:04 AM

Perhaps those of us who haven't gone to Free would consider it if PDM/SEU supported it. Where's the syntax checking? Prompting?

Posted by: Mark at August 17, 2005 8:08 AM

Free form D specs would be fine but I do not believe we need a key word for each entry.

I would go so far as to request that we ditch the P spec as well! Modeling it on Pascal/Modula-2/C++ would make for some good changes but I do not think we should then call it RPG either.

We need a successor to RPG that gives us some of the flexibility of more modern languages with the features and safety we are used to.


Posted by: Chris Holko at August 17, 2005 10:47 AM

" ... when a calculation is done on free-form it always complains that 'target value is too small for the receiver' ... the moment u revert back to fixed from it works'"


That really depends on your definition of "works". What it does in fixed form is to truncate the result so that it fits. There are very few circumstances where that is a good idea, so free-form (which uses the eval methodology) gives an error when overflow occurs. You should see the same result if you code an EVAL in fixed-form.


If you really want truncation e.g. rolling a counter from 99999 to 0, then I would use MONITOR and trap the overflow - then set the counter to zero. The resultind code is far more obvious to those that come after you!

Posted by: Jon Paris at August 18, 2005 12:01 PM

I agree, you agree, we all agree. So what! I haven't been at a client (when I'm working) that would even have an RPG compiler of any type for years anyway. The only 'RPG' around now is Role Playing Games on XBOX.
Everything these days is SAP this and SAP that with a 1/2 cup of Oracle thrown in for bad measure.
It appears that the only areana going forward is in the e-business Collaboration areana on the i5 at least that is the only one that I've been able to identify.
Every executive who reads CIO or any other 'executive' magazine wants their RPG programmers out of the building....permenently. I just want a job that pays 'American' Rates.

Posted by: Tom at August 22, 2005 1:25 PM

Why is anyone surprized that RPG programmers are being kicked out? It is the RPG programmers who are refusing to change. Not only that, they dont want the RPG to change. IBM has not pulled out RPGIII or for that matter RPGII. Anyone not wishing for a change can go back to to as far as running RPGII in S/36 mode. I have worked in such an environment. Why are they complaining about change? Is it because they are being called old guard with obsolete technology? Well it doesn't bother people still using RPGII.

So I invite all progressive old guards like me (25+ years of experience and still adopting/advocating /free) to come out, shout louder than those crying against change, and force IBM to take RPG into 21st century.

Posted by: Hassan Farooqi at August 23, 2005 12:13 PM

i could not have said that any better (Hassan). and if using /free is hard enough for some, try getting someone to replace 30 lines of fixed format code with a single %bif. will wonders never cease.

Posted by: dennis wucher at August 23, 2005 12:19 PM

I try and use a mixture of ILE, Free and SQL.
There are things in all 3 that are useful and things in all 3 that are useless.

As for RPG programmers getting kicked out, thats true until the Idiots kicking them out realize what a can of worms they opened and beg them to come back!

Ever seen a "Blue Screen of Death" on an iSeries or a totally meaningless error message. Ever had to "reboot" an iSeries to solve a problem because nobody knows what the problem actually is!

I wonder, just how many millions have been spent on Java projects that got canned?

Posted by: Mick at August 24, 2005 6:57 AM

One of the primary task of IT is to present information. And we prefere to do it with tables and not with long text becauce we can read it easier.
Our programs are not readable from ather persons when they written as a text and not like a table.
Remember, the benefit of S3/S38/AS/400 was its easy table-like-RPG, not Cobol.
Whith Freeform-RPG and the syntax of ILE-RPG (not the funktion of ILE) we go to the middle-age of programming-languages.
I know no programmer thet have to change RPG-programs over a time of longer then 10 years and prefere now ILE- or freeform RPG. Why?

Posted by: Otto Zehetner at August 28, 2005 3:48 AM

Otto, my question was, if the advantages of S3x are so great, what is stopping you from using RPGII in S/36 mode? Why oppose the improvements in RPGIV? How is it hindering your usage of RPGII?

So you dont know anyone more than 10 years of exprience who advocates ILE or freeform? Well I know of no RPG guru who has less than 10 years of experience. If you know, let me know. All gurus advocate ILE and freeform. Jon Paris, Susan Gantner, Bob Cozzi, Scott Klement are a few we all know. Dont we?

... and are you saying all free format languages like C++, Java, Python, Perl Visual Basic etc etc are middle-age languages? Or SQL, Oracle, and all those leading edlge Business Intelligence softwares are middle-aged? Okay tell me ONE (and I challenge you to ONE) modern languages that is fixed format!!!

Posted by: Hassan Farooqi at September 1, 2005 7:52 AM

Mick, what makes you think that if we use /free we are going to see the "blue screen of death"? For that matter I do not know of anyone using WDS or Eclipse having the "BSD". We are getting our butts kicked not because of Microsoft or IBM but because of ourselves. The mediocre I.T. managers of iSeries shops wait until they get kicked out (alongwith rest of RPG staff). They simply refuse to take iSeries to the next millinium. Why would IBM change unless we scream from the top of our lungs. Especially if there are people among us who are screaming against the improvements? These are the people who there jobs are safe by the philosophy of "Security thru obscurity". When the quantum of solace of the CIO gets over, they get kicked and find they are not marketable. This also results in one less iSeries shop.

Posted by: Hassan Farooqi at September 2, 2005 10:39 AM

Answer to "...Okay tell me ONE (and I challenge you to ONE) modern languages that is fixed format!!!"

Posted by: Hassan Farooqi at September 1, 2005 07:52 AM

Yes, there is a RAD (RApid Development) tool that allows you to create rich GUI applications running on a pletora of databases, Oracle, Ms sql, Iseries. Programming in this language is merely pointing and clicking components and ... believe it or not.... maintenance of tables!
The program sentences look like rpg3 statements with columns "input status", "instruction", "resulting status" and they are entered into a grid like table structure.

This system is called: "Magic"

Just take a peak at www.magicsoftware.com

Posted by: U.Geerts at September 2, 2005 2:17 PM

I agree all the improvement for RPG, but it doesn’t make sense to make so many efforts to a dead language. RPG is dead!! J2EE can do everything RPG does, why to spend lots of time and money to stick with RPG?

Posted by: James Zhang at September 2, 2005 4:23 PM

Answer to Geerts: A tool is not a language. I agree, most tools are fixed formats and for this reason RPG started fixed format because it WAS a Report Generator (the R & G of RPG). RPG is no more a report generator. It is much more powerful than languages like Cobol now.

Answer to Jhang: First, if RPG was dead, RPG would have been dead! However there are Zillions of lines of code in RPG that can not be discarded. It is for the same reason that Cobol is not dead yet and Fujitsu is giving it a new life on .net! Yes RPG will soon become dead if the process of improvement is not accelerated, and it will not be accelerated if IBM feels that spending time and money on RPG improvements will be wasted because not many are going to use it. Second, nobody is spending time and money on RPG except IBM. We are SAVING money by not having to discard all those zillions of lines of code and redeveloping them. Kudos to RPG compiler team. They work hard so that we dont have to. J2EE has its own usage but it is NO subsitute to RPG. Even IBM knows it NOW, after unsuccessfully advertising Java as something that is replacing RPG.

Posted by: Hassan Farooqi at September 5, 2005 11:41 AM

"We are SAVING money by not having to discard all those zillions of lines of code and redeveloping them".

There is no doubt that RPG is a great Database language, unfortunately, you have to redevelop at least half of the zillions of lines of code soon, the only role that RPG can play now or near future is Report Generator and nightly batch job. All of the interactive application on green screen will be obsolete because the Internet. IBM itself is the RPG's terminator. As a programmer, my suggestion is to learn Web development as soon as possible for your own future, pay as less attention as possible to RPG. RPG II (or RPG 0 if there is one) will do the job we need.

Posted by: James Zhang at September 14, 2005 12:58 PM

Indeed, the AS/400 was a great machine and RPG was a great language... 5 years ago. Every feature that IBM has added to RPG ILE up to now already exists in .visual or JAVA languages for over a decade. IBM really leads its dedicated but dwindling crowd by the nose to nowhereland. As to hardware, why don't we have native USB, FIREWIRE, DVD, DSL support on this system?

Answer: these are all NON-IBM technologies, IBM introduces them only when looking at gun point which again is about 5 years after they've become commonplace. Remember the days of Ethernet versus TokenRing? A 10MB Ethernetcard costed a ridiculous fortune back then. Remember when they introduced the CD ROM?

And those NON-IBM systems and languages, are they all bad, ugly and faulty? Maybe Windows NT4 was a blue screen pain in the.. in 1996, but today, I see Windows 2003 servers running accounting applications who only need to reboot once every 2 months, and in between, 24/7 trouble free operation is assured. Yes, Microsoft did a great job in improving the stability of their OS. Look at Intel, the 486 cpu in 1996 could execute arithmetic instructions faster than the average AS/400 of those days. Now with the Itanium processor, Intel is advancing so fast with their mass marketed products that the elitarian, overpriced Iseries PowerpC 64bit soon will become irrelevant, as will the whole Iseries productline for that matter.

Posted by: U.Geerts at September 14, 2005 1:59 PM

Answer to: Hassan Farooqi at September 2, 2005 10:39 AM

I recently witnessed a similar event. An account manager asked a senior Iseries programmer to develop quicky a report and to give him the results back in Excell, with the usual timing "to be ready yesterday". Now the guy started asking (annoying?) questions what information, how the files were to be sorted, what kind of level breaks, what computations etc. He was going to analyze the request, write the specs and later going to code it in RPGiV. Would take a whole week. The account manager said, ok, here are the tables, I access them from the Iseries directly within Ms Access (the programmer eyes went wide open, how do you accomplish such a thing?). Then you take that field (picking it and moving it to the visual query designer), then you link that field to another table to get the product division description, another for the salesman name. Then he did click, click, drag, drop, click, click, clicked some more, added some graphical hoopla to the title bar, some shades to the total lines..... and voila, the report was ready, nicely formatted for a management presentation and based on up-to-the-second account information.

Weeks later, the RPG3 guy was laid off. Remember: ** USERS THESE DAYS ARE WORKING WITH EXCELL, ACCESS, OFFICE ** as if was their daily bread and butter. When you come from behind your green screen terminal still writing stuff in RPG.... better beware!!!

Posted by: U.Geerts at September 14, 2005 2:26 PM

(UGeerts) "He was going to analyze the request, write the specs and later going to code it in RPGiV. Would take a whole week"

What you describe is a very informal CMM, RUP process or modern software engineering methodologies. To make even minor changes in these environments takes a "whole week" and more. Pointing & clicking & dragging is NOT software engineering, and neither are those that loudly and brashly proclaim GUI somehow makes them better engineers. You are what I call a modern day user, not a programmer or engineer. You simply point, click, drag, write a few lines of meaningless event driven code and think you're an engineer. To engineer would mean being highly creative, innovative, imaginative, skilled and a master at developing advanced algorithms using scientific methodologies.

Parroting out acronyms about methods and tools is meaningless. You flippantly mention J2EE as having all traits of RPG. I have been technical lead on pre and post J2EE projects for over 7 years, taught Java classes and otherwise a guru at it as well as many other languages, starting with my days as an assembler programmer on multiple platforms. The proper comparison to a compiled language such as RPG would be C, older Basic dialects, Pascal, etc. J2EE is an huge environment with an equal learning curve, not a language. If you do the proper comparison, Java and RPG, Java fails miserably. Environmentally speaking, then a proper comparison is J2EE vs ILE, another environment. If one uses JDBC then the proper comparison would be embedded SQL, etc. Other than OO, which most developers understand sparingly and generally results in classes full of getters and setters, as opposed to large OO frameworks which most companies can ill-afford to develop and support, there is very little I or anyone else needs J2EE for. Great prototyping tool but too costly with less then desirable results.

You might want to consider you're own fate in a Windows, point, click and drag world. How does the VB programmer actually fare in a future Windows world? Why would visual programmers be needed at all, why not just have end-users do the work? Most Windows systems are simply replications of common manual tasks which are equally simple. Of course, there are great systems developed on ALL platforms and thus something you should consder. If you are so tied to Windows, just actually where is UGeerts the engineer? If you would rather point and click and drag all day, go ahead, I would rather invent then be an MS whore.

Posted by: RealEngineer at September 16, 2005 4:39 AM

Mr. RealEngineer, I have sorry news for you: you've flunked completely your exam to synthesize a text correctly. Maybe that's because engineers see everything in black or white (a switch is either on or off), maybe it was a reaction to the sharp tone in my blogs, maybe you just had a nasty, bad day.
I you read my post carefully, you would read "I witnessed an event where an account manager asked the local senior programmer...". Being a witness means you observe the event (observation is probably a concept your're familiar with), I was not that account manager clicking his life away.
Next you start to argue that this request for a report is a "very informal CMM, RUP process ", nothing do with "real software engineering". Here you again missed completely the boat. My aim was to make clear that you, as a (iseries) programmer, need a broader IT knowledge, beyond green screen and RPG, and a sense of business if you want to survive in todays IT world. Picture yourself for a moment in the shoes of this accountmanager, he has to fight every day to close deals, to convince customers and now he also needs to instruct the company's senior "information" guy how to produce an information report.
And thirdly, your speedreading of texts completely failed again, Mr Realengineer. The remarks about J2EE and RPG were not even made by me, try reading again, thank you.

Lastly, one piece of advice. If you had a bad day, why not relax and go for a night on the town with a Real whore, Mr Real engineer. I'll do you a world of good.

Posted by: U.Geerts at September 16, 2005 2:08 PM

"Lastly, one piece of advice. If you had a bad day, why not relax and go for a night on the town with a Real whore, Mr Real engineer. I'll do you a world of good."

Comments like these SHOULD get a person banned from posting. Disagreements & arguements regarding the topic are one thing, but a comment like this should not be tolerated...

Also U.Geerts YOU are the one who should pay attention to what you are reading. RealEngineer sounds to me like he has TWICE the experience with multiple programming environments while you sound like a MS bigot.

I'll take experience with DATABASE design and programming over a "point & click" 'programmer' anyday.

Posted by: LANSA Architect at September 16, 2005 5:34 PM

So what you're saying is that it is enterily unneccessary to learn about and get experienced with office tools like Excell, Access, Powerpoint, Word?
That would be a waste of time and not at all helpfull in your career??

I would appreciate very much your viewpoint on this matter!

I have more than 15 years experience in RPG. I was the first to advocate ILE in 1995, including the use of embedded SQL. More than 15 years experience in Cobol on the AS/400 and Mainframe, more than 3 years with tools like Synon and Adelia. More than 5 years with Visual languages, Oracle PL/SQL+forms and currently about 1 year with ABAP, the SAP development language. I had my share in DATABASE design and systems design from the ground up within various industries as a consultant. The job assignments me and my colleques get in the past 4 years as far as an as/400 is involved are invariably either 1) data migration projects away from the as/400 or 2) keep-it-alive maintenance projects. Jobs like these have suddenly boomed in Europe in the past quarter and we see at the moment an avalanche of companies running towards other systems. Development projects on a AS400 with 3GL or 4GL like Lansa or Synon resulting in green screens have dissappeared enterily, the last one I did was in 2001. As for Ms tools, I use them like any typical user in an accounting or sales and budget department, but like most users, I rarely program in Access.

And last, as for name calling, I will not use words like whore or bigot anymore. I'll leave that to the posters who wrote them first!

Posted by: U.Geerts at September 17, 2005 4:54 AM

"USERS THESE DAYS ARE WORKING WITH EXCELL, ACCESS, OFFICE"

Apparently you have never developed any Business Intelligence application for a Fortune 500 company. Anyone who works in a Bank, Insurance Co., Airline, Telecom, knows MS-Office is a micky mouse software when it comes to BI. These giants mostly have DB2 in the backend (atleast oracle but never ever Access). The front is usually a BI cube manupilator like Cognos (but never ever excel).

Go talk to a Bank IT professional about manupilating a billion record file thru Access and he will roll on the floor laughing. Talk to a Insurance Co. Marketing executive about analyzing a multi million record cube with excel and he will do the same.

The problem of iSeries is not its product, it is the stubborness of its professionals in not changing to technologies.

Posted by: Hassan Farooqi at September 17, 2005 10:13 AM

So what, I know you don't process millions of records with Access, you don't use 100k rows x 100k columns Excell sheets. I know, and modern users know that! So what's your point?

The point of my click-click post, which appearently worked like a red cloth on a bull to some traditional rpg guys, is TIME-TO-RESULTS. If every click during the creation of a stupid query report (and yes I do not consider this software engineering nor programming) is the equivalent of half an hour of programming time in traditional RPG development for traditional 132x66 report output, then many clicks can save a lot of time.

Any traditional RPG programmer not willing to work with- and not see the capabilities and limititations! of modern information office tools like 90% of all users work with these days, digs his own grave, imho.


PS: let's organize a poll:

Which Iseries shops still write their Analysis, Tests and Documentation in a QTXTSRC file using OS/400 PDM?
Would be interesting to find out. I know at least of a couple who still do.

Posted by: U.Geerts at September 17, 2005 11:08 AM

regards the user using a gui to design the report - it behooves IT workers to know the business. So if it was a 'typical report' it's reasonable to expect the programemr to make a stab at it. That said, if you think it's unreasonable to ask for requirements, in an email or something, I don't htink that's reasonable.

If I simply say to you "give me a report", you will be at a loss without further information, I dont care who you are.

Typically for our shop, we write reports as automated with email distribution. Our end-users aren't all familiar with SQL. The ones that are don't bug us for ad-hoc reporting, just stuff they don;t want to run every day and stuff they don't want to tie up their PC for. ODBC over big remote databases has been notoriously slow in our shop. Running the SQL on the server seems to work better for everyone.

We do use Gumbo and JExcelAPI to produce spreadsheets though. Java and SQL are becoming mandatory these days.

NAme calling is lame, btw.

Posted by: John Elliott at September 20, 2005 10:50 AM

"The point of my click-click post, which appearently worked like a red cloth on a bull to some traditional rpg guys"

Nope. Traditional RPG guys showed no reaction to your post. They would rather let their iSeries shop die and change to other platforms than use modern tools. That is my argument with them. You just irritated progress RPG programmers by showing how little you know about the RPG capability.

"Which Iseries shops still write their Analysis, Tests and Documentation in a QTXTSRC file using OS/400 PDM?"

All progressive shops do their SDLC in specialized software like Turnover. However if someone works in a Mama-Papa shop where a PC with MS-Office is enough, they would not have heard what an SDLC is!

"office tools like 90% of all users work with these days".

I think more than 99% of the businesses fall under the category of small businesses. I am sure 90% of the businesses dont use MS-Access but rather a pencil and calculator!

Posted by: Hassan Farooqi at September 22, 2005 5:22 AM

The syntax and coding constructs of RPG have been areas of heated discussion for years. I do agree generally with those who propose moving the language to a more modern style, but do not believe that should be IBM's main focus for the language. Most of my development these days is in Java on Websphere, but for performance reasons I build anything that has complex database intensive logic for the iSeries with RPG. Yes, I use the free-format capabilities and find they do facilitate self documentating code. What I really care about though is the capabilities of the programs that I build with RPG, not the style of the language. For my applications RPG is for the enterprise layer of n-tier applications. It is not Java and I do not want its syntax to become Java like (why do we need a semi-colon after the test portion of an if statement - we aren't done with the construct). I appreciate that it has familiar RPG opcodes. As it has been enhanced, it has retained the RPG flavor and power. If the syntax was a problem for me, I might look at other ILE languages. What I really want to see is runtime enhancements that increase the application of the language. If the same RPG code syntax used to read and write a 5250 data stream could NATIVELY do some of the things that IBM's web facing tool does, it would open a huge new world to billions of lines of existing RPG code. RPG could, without loosing its flavor, be a great development language for business applications for a variety of UI's including HTML and Windows. I think that application of the language is more important than syntax changes. If IBM evolves it from procedural to object oriented it might actually create something that ceases to be RPG. I don't want to loose RPG. If someone really wants a total replacement of the present syntax and structure, they might be better served by adopting another language for development. I love RPG and wish that I did not have to use Java for my front end applications.

Posted by: Kevin Sweeney at January 31, 2006 7:42 AM

Most computer languages were converted to GUI and OO in the previous century. IBM should have done the same at that time.

Posted by: ugeerts at January 31, 2006 9:40 AM

ugeerts the broken record...

**Most computer languages were converted to GUI and OO in the previous century. IBM should have done the same at that time.**

Like what would you know, since it all was invented in the USA anyway. Go away.

Posted by: yeahyeah at January 31, 2006 12:06 PM

I don't understand your statement that IBM should have made RPG an OO language. Force fitting RPG into an OO language makes no sense at all. RPG is a procedural language that is exceedingly well suited to server side database driven application components. The procedural "what you code is what you get" RPG code would cease to be RPG if you added classes and interfaces. I use RPG for high performance enterprise side code for my Websphere Java applications and assume that we would loose the high performance advantage if the ILE runtime had to deal with abstract classes and multiple layers of inheritence. At that point I might as well code in Java on the iSeries. Yuck! I love coding in Java for front end servlets, but our experience has shown that Java performs miserably on the server when compared with RPG. If you don't like RPG don't use it. Don't ruin a good procedural language by turning it into a "me too" language. A hammer is a lousy tool for welding but that doesn't mean that I want a blow torch added to it. The "enhancement" would probably degrade the ability of the hammer to drive nails into a board. Use tools for the purpose they were designed for.

Posted by: Kevin Sweeney at January 31, 2006 12:12 PM

It's the perception "RPG is obsolete" that kills the language. Demand for RPG programmers has dropped to zero. Dot NET, ABAP, JAVA guys are still in demand. That's my point. If I had to choose between the "grown up" languages, then give me Cobol. According to a Gartner study, program development overall (all hardware) is still 30% done in Cobol, 30% Java , less than 1% RPG. That 30% cobol will probably be 29% maintenance (and for java 29% new development), but nevertheless, Cobol will certainly outlive RPG.

Posted by: ugeerts at January 31, 2006 1:51 PM

Dice Listing - National - All catagories
January 31, 2006

RPG 347

Powerbuilder 339

COBOL 1248

FoxPro 62

Microsoft Access (both words = exact match) 2439

Visio 2146

Excel 7252

RPG is in slightly higher demand than Powerbuilder, but people with Access skills leave RPG in the dust. Cobol eats RPGs lunch 1248 to 347.

The market speaks.

Posted by: goodBye/400 at January 31, 2006 3:03 PM

Those numbers are meaningless unless you place them in the context of the pool of available resources. For example, yes there are 2400 openings for MS Access developers. Guess how many kids can do MS Access. I'm guessing that the ratio of skilled resources to jobs would cause those 2400 openings to be at a relatively low pay level. I am skilled in both RPG and J2EE Websphere. When we go looking for Java developers there is a large universe of kids from Bangalore who work cheap and know Java very well. We don't often look for RPG developers, but when we do, they are much more expensive than the kids from Bangalore. Economics 101 - supply and demand. If it is true that everyone with RPG skills is ready for the nursing home, then there would be a resulting shortage of RPG developers. Personally, I'm not heading for the nursing home (don't want to hang around with all the old PowerBuilder guys) soon. I will continue to build my Websphere Java skills as well as other evolving languages (perhaps Ruby on Rails) but I am going to hang on to my ILE RPG skills. I'm betting that 10 years from now there will be roughly the same number of i5 sites using RPG as there are today.

Posted by: Kevin Sweeney at January 31, 2006 3:38 PM

I just read the i5 V5R4 system and developer announcements here on iseriesnetwork.com, the developer announcement being "i5/OS V5R4 Supercharged for Developers". There is enough in this new release to take me months to explore and absorb.

I tip my hat to IBM for getting this right. It's a great start, a great foundation for the future of the next generation of the AS/400, the i5.

A great system for software that works.

rd

Posted by: Ralph Daugherty at January 31, 2006 8:53 PM

great comment, Ralph

let us be positive!

Posted by: Claudio Cuzzi at February 1, 2006 3:56 AM

Kevin Sweeny said:

Those numbers are meaningless unless you place them in the context of the pool of available resources.

Reply:

No. Supply does not create its own demand. Go back to Econ 101. They will confirm this. Dice numbers represent what companies are willing to spend money on. The supply of RPG programmers is probably in the thousands. Demand is somewhat lighter.

The numbers ARE meaningful because they are put in the context of what employers want. If an unemployed RPG programmer could conjure up a job out of thin air, your analysis would be correct.

Thr market speaks.

Posted by: goodbye/400 at February 1, 2006 5:27 AM

Ralph Daugherty said:

I just read the i5 V5R4 system and developer announcements here on iseriesnetwork.com, the developer announcement being "i5/OS V5R4 Supercharged for Developers". There is enough in this new release to take me months to explore and absorb.

Question:

If they used a larger type face and wider margins and added more sentences, the release notes might be double the size. Does this mean the release would have twice as much to offer if twice the paper were used to describe it? Would this rate goosebumps?

Posted by: goodbye/400 at February 1, 2006 5:36 AM

While there is no doubt that Java, VB.NET, Ruby on Rails etc. are object oriented, are strongly type cast, and are portable. Those are all good things. But . . . If my target server is an iSeries, I don't really care. For my front ends I use Java in Websphere and it works great. Java does not though utilize (even with AS/400 toolbox for Java classes) the unique features of the i5. I have not found anything that compares with RPG for rapid development of high performance i5 server side code when complex database functions are required. If you are not targeting the iSeries, then all of the RPG bashing points in this thread make sense. I wonder though, if the people on this thread who are so busy bashing RPG are really posting to the wrong forum. If they don't like the iSeries why don't they leave this forum. Instead of wasting their time writing about their hatred of the iSeries, they could be productively working with the latest OO languages that they love. My sense is that these are people who are at best marginally employable, or they would be busy with one of the languages that they so heavily promote while bashing the iSeries.

Posted by: Kevin Sweeney at February 1, 2006 7:28 AM

August 2008
Sun Mon Tue Wed Thu Fri Sat
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

Blog Policy

Our blogs are editorial content of System iNetwork. We welcome your comments and opinions and encourage lively debate on the issues, and we reserve the right to edit all postings for clarity, length, civility of tone, and appropriateness to the topic under discussion. Comments consisting of product or job solicitations and other spam, profanity, and extreme rudeness will be deleted. We also reserve the right to publish excerpts from the blogs in our e-mail newsletters and print magazine.

ProVIP Sponsors