|
Not Wanted: That Kind of Native RPG Browser Support
Not everyone was enthusiastic about Brian Kelly's recent article asking for IBM to come up with a more native and natural way to program iSeries applications with a Web front end. Specifically, Jon Paris, of Partner/400, and Bob Cancilla, of Ignite/400, both sent in letters voicing strong disagreement with what Kelly was suggesting in his article.
You know I was really surprised and depressed when I read this piece. There are so many things wrong with it that I'm not sure which was the most depressing aspect--that such weak arguments should be used to support a feature that many of us would like to see or the fact that Brian is apparently teaching our future programmers! It is hard to know where to begin--and even harder not to sound insulting to Brian--but I'll try.
First: The comparison between RPG/COBOL and Java/C++ is more than a little "loaded" since he has not included the line count for the display file, or for that matter the database file. Because he is an RPG/COBOL coder he appears to have has just "assumed" that they are there. Guess what? Any C++ or Java programmer worth their salt would also have access to a similar "tool" which would reduce the number of lines of code. In fact, on the 400 the C++ programmer could use the exact same files! Also the Java example quoted is just too silly for words. Please understand that in saying this I am not trying to defend Java--I happen to like it in many ways, but it is certainly more verbose than RPG in areas where RPG is strong. Try parsing XML in RPG however and the story is very different.
Second: We already have similar RPG support to what he is asking for and many of us have been using it for years. It is called CGIDEV2--is supplied by IBM--and is FREE! You can download it along with tutorials from www-922.ibm.com. A number of schools that teach RPG are already using this to enliven their RPG classes. If Brian had used this tool he would have found the code to be very similar to his RPG example. Go to the Website and you will find hundreds of RPG customers who have used the tool to get to the Web.
Third: Brian appears to be completely unaware that RPG IV and ILE RPG are the same thing. He quotes George Farr as saying "There will be no enhancements to RPG/400. Get used to it." Brian has apparently been doing a Rip Van Winkle for the past 10+ years. That is how long it has been since RPG/400 was enhanced! Does anyone in their right mind think IBM will suddenly resurrect the RPG III language? Get real. Even if IBM were dumb enough to do it, Brian would be waiting for years to get the feature he is asking for. Why? Because the RPG/400 compiler is written in PL/MI and is held together with chewing gum and bailer twine. There is a reason why RPG IV can add more enhancements per release than RPG/400 did in its LIFETIME--the RPG IV compiler is written in a more modern language and takes advantage of ILE facilities to avoid error prone code generation of the type used by RPG/400.
Fourth: Brian goes on to say that "I was taken back at such a bold statement. I thought Farr was on our side." He is--that is why he is not wasting IBM's development dollars on an obsolete language. He then adds "All IBM enhancements recently have been to RPGIV, . . . and many of us are not pleased with these moves." Since when does 10+ years count as "recently"? As for "many of us are not pleased," I agree that some are not in favor of /Free format RPG (introduced in V5R1). But I don't know anyone who voluntarily stays with the old IFEQ, DOWEQ type of code that Brian apparently favors. Why would anyone use such syntax when simpler more obvious variants such as IF X = Y are available? I meet over 1,000 RPG programmers per year and perhaps one or two "prefer" coding in RPG II style to RPG IV.
Fifth: If Brian so dislikes RPG IV, why did he code his example using the language? I'm just plain confused by this. Nobody forces you to use the features that Brian apparently dislikes so much, as his own example shows. If you want to go on using obsolete coding methods you are free to do so--just don't inflict them on the rest of us and PLEASE don't inflict them on your students, Brian--they deserve better. If you don't like Subprocedures, prototyping, Eval, /Free form, etc., then just ignore them. They are all optional--and those of us who like to advance our coding style are happy to have them. Perhaps Brian should warn his students that if they code using his style then very few modern shops will hire them.
Sixth: The COBOL example is also more reminiscent of a program written in the 1960s--Perform x through ? That went out with ANSI '85. Why code INDOF and INDON at all--he goes on to use literals in the program as he did with RPG. "Label Records Standard"--please!! I haven't coded that since the 1970s! It is almost as if he is coding lines to increase the line count to help make his point.
Seventh: IBM are looking into many options such as adding additional browser support to RPG (it won't happen to COBOL). This is part of a growing recognition that not everybody has the horsepower to run WebSphere/WebFacing. In fact I'm surprised that Brian did not hear George say this--it has certainly been mentioned in other presentations and discussions he has taken part in. Of course even if they add it, it will not be to RPG/400--and thank goodness for that.
In summary: Why oh why did you "print" a piece like this at this time?
It was also obvious at COMMON that IBM management are finally recognizing that people are building modern, move-ahead applications with RPG and that they should more fully support the language. The Innovation in Education award presented to Scott Klement for his work with sockets, XML, HTTP, FTP, etc. is witness to this. A piece like this does nothing except give ammunition to those who still believe we are all a bunch of dinosaurs.
Why, why, why?
--Jon Paris, Partner/400
Timothy:
Your publications have always published challenging and sometimes controversial pieces, but you stepped way over the line running "Wanted: Native RPG and COBOL Support for Browsers," by Brian Kelly.
This piece does not meet anyone's technical standards for accuracy and is nothing but the venting of an ex-IBMer on a misguided crusade to "Save the iSeries."
CGIDEV2 provides exactly what Brian is describing and DDS has the HTML tag! So IBM has provided exactly what Brian is asking for nearly 10 years!
I must however take you and Brian to task for printing a blatant and horrendous attack on one of the best friends the RPG programmer has ever had, namely George Farr!
There is no IBMer alive that has done more to advance and ENHANCE RPG than George! George is personally responsible for virtually all of the recent RPG-IV enhancements.
If Brian is talking about supporting RPG-III aka RPG/400, then tell him and every other dinosaur stuck in the dark ages to get a life or better yet retire! When I first saw RPG in 1990 coming into the AS/400 world from the mainframe I was appalled at this pathetic little report writer language called RPG!
George Farr has been a leader in IBM's initiatives to add incredible functionality, and respond to the RPG Programming community with all of the incredible enhancements.
I am still personally no fan of RPG, but I have a very healthy respect for the RPG programmer of today and the language!
So Timmy, SHAME ON YOU and SHAME ON Brian for this piece of utter garbage.
--Bob Cancilla, Ignite/400
Timothy Prickett Morgan replies:
The mission of IT Jungle's publications, and in particular Four Hundred Guru, is very simple: We provide the forum where people can engage in free speech and exchange code and ideas in the IT community. I feel no shame in publishing Brian Kelly's article, since my job as president of Guild Companies and editor in chief of IT Jungle is to let people speak their minds, and to do so freely. You are all grown men and women, and you can handle it.
That is why when Jon Paris accused me of not publishing his letter the week after Brian's story ran because it dissented with Brian's thesis, I explained to him that wherever he sent the email, we didn't get it, and moreover I don't take such accusations about censorship lightly. I welcome dissent, because this is how the best ideas emerge. And for the record, these letters ran this week, rather than last week, merely to give Brian a chance to reply. And rather than push your dissent into a Letters to the Editor section, your letters are running in the top of the newsletter so people will see them and read them.
Bob, I think you are overreacting to Brian's disagreement with George Farr about the direction of RPG IV development. If disagreement were libelous or personal attack, I would have been in jail for 16 years now. Brian disagrees with you, Jon, George, and others. He has an opinion, and we published it. No more, no less. It is up to the OS/400 community to decide the validity of his comments, and this discussion is part of that process. The fact that we have two luminaries lashing out against Brian's comments, but several orders of magnitude more of reader responses solidly behind Brian's basic thesis tells me there is certainly a disconnect somewhere. Now, it is up to all of you Gurus to sort it out. I did my job by allowing Brian to bring it up in the first place.
--TPM
Brian Kelly replies:
I think John Paris and Bob Cancilla are smarter than I am and are worthy of much respect. And while they obviously disagree with my opinions as to what would be best for folks like me, the fact remains that the commoners in the world of AS/400 application development would like Web development to be more like interactive development.
Why anybody would want Web development to be different than the methods that programmers have used successfully from the System/38 days to the AS/400 days to the iSeries days and now to i5 days is puzzling to me.
Another thing about Bob and Jon: Neither of these guys would position themselves as regular IT guys. They aren't!!!! They are a few cuts above the norm. That may even be an understatement.
I know that both of these real GURUS are further ahead than I am in our common field. They may very well operate in the IT stratosphere far from where the run of the mill AS/400 programmer (I am included in this lot) is forced to concentrate her or his thoughts. Maybe they are wrong on this?
Jon and Bob are that smart, and I am not kidding. They are from different backgrounds--mainframe, WebSphere, and Java for Bob--since he is the executive in charge of Web development for a major insurance company, where he implemented the world's first commercial application on WebSphere 1.0 for iSeries in 1998 and has aggressively pursued business application development in the mid-market environment using Java and WebSphere technology--and IBM development for John--who has been in the data processing industry for over 30 years. In 1988, Paris joined IBM's Toronto Lab, where he played a major role in the planning and design of the RPG IV language.
I was an IBM Systems Engineer for 23 years, and during that time I helped other RPG and COBOL programmers get their work done. I am more like the IBM customers that Bob and Jon talk about than they are. I was never in development. I did not help to plan RPG IV. Other than five years in administration at a college which had an AS/400, I have been an SE and a consultant my whole career working with RPG and COBOL programmers. I never would have worked with WebSphere if one of my clients hadn't asked me to help their Java guy implement the company's dynamic Web application. Even in this, I did not code, I helped the guy use WebSphere 3.5 vs. 2.2 of which he was accustomed. Then, after he left the company, I maintained WebSphere 3.5 and helped the company move to WebSphere 5.X. I do know from experience how difficult the WebSphere Java road is. Unlike Bob Cancilla, however, I am not a Java coder and hardly know the language and don't like it one bit for lots of reasons.
Both of these guys are real Gurus. No question about it. And there is no question that I am not in the same class. Bob Cancilla is a brilliant man, is a well known industry phenomenon in Web access and Java. He knows who I am because I talk to him regularly in human terms and he to me. Jon Paris, also brilliant but not a confidant of mine, is perhaps slanted to IBM's traditional virtues. Jon also has reason to be biased regarding RPG IV. He was on the planning team for RPG IV. I have no such stake in the game other than what is good for my clients.
And as such, I don't like how far George Farr and his team have taken RPG IV. They have taken constructs that work well in C and perhaps Java and have retrofitted them into the RPG language. Then, so they don't look like retros they created a somewhat free form RPG so that this type of code would look better.
Hey, I liked RPG IV when it came out with the larger field sizes and the D: spec and the date operations. I am not as fond of the new RPG with its ILE connotations, difficult to understand procedure prototyping, and Java like built-in functions. I would have been happy without those. I liked being able to debug a customers code by looking on the right side of the RPG page looking for where a variable was changed or an indicator was turned on. I can live with RPG IV but it is substantially more difficult to learn and substantially more difficult to read with all of the new elements that have been added. I view the new RPG IV like CISC and the older RPG IV as RISC. I don't like anything that makes anything more complex than it is.
So, from my perspective, George Farr has made RPG like Java while AS/400 programmers have been asking for a more intuitive way to the Web. All of that work would have been better placed in coming up with a natural interface to the Web than in making RPG more Java-like. That's my opinion, and it is not a personal attack on George Farr.
I can see from these emails that both Jon and Bob really disagree with me. But, neither are traditional RPG coders. The big difference between our lines of thinking is that they seem to believe that a 1/4 solution that IBM let out secretly a few years ago ought to suffice as the Web tool for the RPG programmer. They seem to think that most of the AS/400 community would be pleased to accept a compromise (CGIDEV2) if they were aware that life could be easier on the Web without WebSphere.
Even IBM does not push CGIDEV2, just like it does not push Tomcat. If CGIDEV2 were strategic maybe it would have a better following.
And, oh, that good old HTML keyword so that you can do your own HTML in RPG. I don't want to have to do HTML in RPG or DDS. I want a tool that helps build that for me such as SDA. I don't want to see the 5250 data stream either. I don't have a problem with using SDA to create DDS. I don't want to have to use SEU or RSE Editors to create DDS for display files when I can use SDA or the Designer in WDSc. I think that strategically IBM has been wrong in forcing its programmers to Java and WebSphere. That may be good in some shops just as assembler was sometimes necessary when RPG couldn't do the trick. But moving to CGIDEV2 which is not intuitive either and not natural either, though easier than the WebSphere model, is not the full answer.
I want to say again that I respect the work of Jon Paris and I respect the work of Bob Cancilla but both of them continue to make the same fundamental mistake. They think that I am as smart as they are. I admit that I am not. So, when I suggest an easier way to get to the Web, I am not asking for a 1/4 solution just because it is easier than WebSphere. I am not asking for something that Java Gurus think is easy. I want something that RPG people and COBOL people think is easy. That's how I think. CGIDEV2 is not natural and therefore is not easy enough for me to be satisfied.
What I want to know is how Jon or Bob explain that they provided the only negative comments? Other than their comments, the RPG and COBOL oriented AS/400 programming community agreed with me. I hope IBM doesn't check with Jon and Bob and conclude that nothing needs to be done. If CGIDEV2 was going to own the world, it would have by now. If Java Constructs in RPG IV were going to won the world, they would own it by now. That's just not what the real folks out here doing the work are looking for.
They are looking for a tool (RPG or COBOL compiler) that communicates naturally with a browser as if the browser file were a display file. Moreover, they want the display file to be created with an SDA-like tool without having to know HTML or XML in order to write dynamic Web pages.
I believe that most of us who really are of AS/400 ancestry love the AS/400 and the Series and the i5 more because we do not have to know as much as Bob Cancilla and Jon Paris in order to use the tool effectively. I know I don't want to have to know as much as Jon and Bob. Most programmers are not Gurus. I think of myself as a guy who wants it to be easier. And, I want IBM to deliver it naturally.
|