• Kevin Kofler (unregistered) in reply to jp2558
    jp2558:
    64-bit in 1995. Subsecond response via sql over 100,000,000 record table. Call C++, Cobol, Java, Domino, and output in HTML. All within one rpg program.

    Show me another language that can do that and not require recompiling whenever Bill Gates upgrades his toys.

    GNU C. Back in 1995, GCC already supported some real 64-bit targets, as well as "long long" for 64-bit integers on the common 32-bit hardware. Calling any other language is also something C is strong at. And the database processing speed should be achievable too if your database doesn't suck. It sure won't be C causing the slowness. :-)

  • Sarge (unregistered)

    it is certainly easy to bash RPG as a language, but the underlying issue most people have with IBM's language is not the RPG itself, but the proprietary platform that it runs on, instead of being on an open source machine.

    i have been using RPG since 1983 and have grown with it, as it evolved from a fixed format language supporting field names with a max length of 6 characters.

    would i go back to the 1980's (or even 2000) version of RPG? of course not, unless the paycheck was astronomical. but i will defend RPG as being a relevant language.

    i base this on:

    1. the language has evolved greatly;

    2. the language now (and has for a while) supported modular programming in the form of true modules;

    3. supports nearly unlimited field name lengths

    4. runs on an OS and machine that are up over 99.9% of the time, which i do not know of a linux or unix based system that is used in the business world, with that kind of up-time;

    5. supports nearly ALL previous iterations of the language, including the 1980's version upto present, just for the really old guy's, which keeps them employed;

    6. runs on a machine iSeries (AS/400) that can run Windows, Linux,IBM OS, etc...

    7. has an upgrade path that contiues to evolve and include the neat features of other languages;

    there are other things i could say to promote the language, but unless one has used it, in earnest, they cannot see the usefulness and forethought behind the language and machine.

    -sarge

    "some people are like a slinky...not really good for much, but they bring a smile to your face when you push them down the stairs." -unknown

  • Anonymous Coward #666 (unregistered)

    I learned this language at a private college I attended in the late 90's. After completing my diploma I swore I would never work in that language or with the AS/400 ever again. From what I can remember this college is the only school outside of IBM their selves who teach this arcane language! I can't believe anyone would still be using this, or the AS/400 mini-computer.

    My brain hurts, my body aches, and I am scared!

  • Anonymous Coward #666 (unregistered) in reply to Anonymous Coward #666

    Oh,I have since moved on to get a real degree in a real university!

  • Spaghetti-code Greg (unregistered)

    I work with RPG programmers who've moved on to Java. The problem here is totally different:

    void getOrderListData(OrderListData data)

    or at least bassakwards.

  • (cs) in reply to MOD
    MOD:
    99.9% would be a massive understatement. I'm about to leave a .com where I've been the as/400 administrator for several years. I've been with the company for 7 years. During that time, the AS/400 had 3 unplanned system outages. 2 were when someone cut the power, ran down the battery backup, and every system in the building went off. The 3rd was when we lost 3 out of 45 drives in a 24 hour period (2 were on the same array... ouch...). If I remember correctly we lost about 4 or 5 other drives in other systems that day. I don't know what happened... Maybe sunspots?

    Downtime for the power being cut unexpectedly was less then 1 hr each occurance. Downtime for the drives blowing... about 4 hours... and that included lag getting hardware people out to try to get us running again... We managed to revive the system with no data loss, and only minimal recovery needed.

    As for the AS400, it doesn't suffer the way SQL server tends to. It handles locks MUCH more gracefully, and it doesn't let processes take over the system.

    I will admit... I HATE RPG coding. But, it is a small price to pay for a rock solid system. Particularly since you can usually avoid it by going to a web based programming language on a windows server for the less mission critical applications.

    I was pretty much agreeing with you there, even though my very limited experience of an AS/400 (comms configuration for LU6.2) caused me to loathe it passionately.

    However, I'm not quite sure how, in at least its original incarnation as a "Report Generation Language," RPG could ever be described as suitable for mission-critical applications. Coming soon to a Hospital soap near you:

    Dr De'ath: "Nurse Goody, we need to pull up this patient's medical history right now! And while you're at it, hook up the RPG-powered Cardio-doofo-scanner!"

    ...ten minutes later...

    Dr De'ath: "Goody!! Where's the darned Cardio-doofo-scan?"

    Nurse Goody: "Sorry, doctor. The RPG medical history report iterated through all 250 million US medical records, the circuit trip on the printer's air-con failed, it set fire to itself, and now the Goober wing of the hospital is toast. The scan is coming up right now."

    Patient: Aaaack...

    (Although I'm sure that IBM's RPG IV has inbuilt thread support now, so sequential processing like that would never be a problem.)

    But seriously, who, other than managers, thinks that producing reports is "mission-critical?"

    Mind you, I do agree about the Linux-weeniedom. I love Linux; it's robust; but I'd never rely on it out-of-the-box for 99.999% up-time, let alone proper fault-tolerance. Not yet, anyhow.

  • LittlePD (unregistered) in reply to TR
    TR:
    Where's the wtf. I didn't put this one..

    ROFL!

  • LittlePD (unregistered) in reply to Cpt
    Cpt:
    An AS/400 (or iSeries as it is called today)...

    Actually, it hasn't been called the "iSeries" for more than three years now. In April or May of 2004, IBM changed the name of the iSeries to the i5 (because it included a Power5 processor). At the same time, they grouped all of the different models (AS/400, iSeries, i5) together and collectively called them the "System i".

    Beginning in the first wuarter of next year, IBM will begin rolling out a System i model that uses the Power6 processor. Lord knows what they are going to call that! :)

  • MOD (unregistered) in reply to KenW
    KenW:
    MOD:
    As for the AS400, it doesn't suffer the way SQL server tends to. It handles locks MUCH more gracefully, and it doesn't let processes take over the system.

    Ummm.. So a hardware platform doesn't suffer the same as an RDBMS does? That's really impressive!

    Seriously, what the hell are you trying to say? "Well, my Ferrari doesn't suffer from the same problems that my son's tricycle does." ????

    It doesn't say much for your arguement when you need to resort to picking apart terminology. I can only speak for DB2 on the AS400. I can't speak for DB2 on windows, linux, etc. What I do know is that I've seen an extremely high transaction logistics system run using RPG, DB2, AS400. Locks rarely are a serious issue, and when they are they are easy to resolve. We had a team of two to maintain all aspacts of the AS400 programming included. By comparison, windows, SQL Server, IIS, .NET suffered horribily during peak usage, Locks were a continual issue, runaway processes could easily bring the server to it's knees, timeouts and errors were a regular occurance. Of course. the windows serves had 2 network admins, 2-3 DBAs and 2-3 programmers at all times.

    I've seent he same scenerio at two companies over the past 10 years. AS400s/DB2 are rock solid, and require a minimum of manpower to maintain. Are they for everyone? No. Are they the way to go for mission critical systems that you can't afford an unplanned outage of even a short time on? Yes.

    IBM concentrated on what the AS400 needed to do it's job even better. The AS400 does not try to be the best at everything. The AS400s core functions of Data Entry, Data Processing, Data Storage, Report generation, and communications however, it does VERY well.

  • MOD (unregistered) in reply to jp2558
    jp2558:
    Let's put it this way:

    How many DBA's does it take to run an Oracle shop or an MS SQL Server shop and how much time do they spend load balancing and partitioning and whatever else it is that they do?

    And how many DBS'S are there in the entire world of the System i?

    NONE - We don't need no stinkin DBA's. The i stands for INTEGRATED and we don't worry about all that crap those DBA's have to deal with. IBM has done a wonderful job of allowing us to deal with the real business of business - which is solving business problems.

    I'll argue that. My primary responsibility for a while was to do DBA work on an AS/400. IBM has done a great job of letting you deal with "the real business of business" but a database without a DBA tends to be a tad inefficient. Yeah, it runs. But as a DBA I reduced the processor load on my company's AS400 by 30% while we experienced 30% growth. Would we habe been OK without that. Yes. but now there's a lot more room for growth.

    A side note though. DBA being my primary responsibility means I got to dedicate 2-3 hours of my 8 hour day towards doing DBA work. AS400s do NOT require a seperate full time DBA, but all databases can use some tweaking and maintenance.

  • MOD (unregistered) in reply to real_aardvark
    real_aardvark:
    I was pretty much agreeing with you there, even though my very limited experience of an AS/400 (comms configuration for LU6.2) caused me to loathe it passionately.

    However, I'm not quite sure how, in at least its original incarnation as a "Report Generation Language," RPG could ever be described as suitable for mission-critical applications. Coming soon to a Hospital soap near you:

    That's one of the great things about the AS400. A runaway application on most other platforms will cripple the server. AS400s don't allow that to happen. They limit the processor a given session can use. And most have a helpdesk, or sys admin that would catch a serious runaway within a few min and verify the user actually wanted what they were generating (screen reports would only query 1 screen or results, and cache the next. printed reports will throw a operator alert if they exceed a certain length, and then pause)

    RPG is used for warehouses, manufacturing, insurance companies, hospitals, universities, and banks. Many of them really do have mission critical applications running on their systems. They also have operators monitoring jobs. But, the point is, one runaway job will now have a serious impact on anyone else on the system. Even if the system is not very well maintained.

    I love the AS/400. I don't like RPG... it's a bit of an oxymoron... but mostly that I just have a hard time reading RPG code. (lack of experience with it) I can read it, but it's so rare I need to go back and look at old RPG code I tend to forget how all the commands compare to languages I use more often (and need to debug FAR more often)

  • (cs)

    RPG IV wasn't that bad at all. In fact it was resembling C more and more each version, with the ability to still use the fixed format version.

    When I started in RPG in the 90's at a company I had never seen RPG before. RPG III code wasn't that bad, was stuck with the fixed field lenghts, but the hardest part was the 6 char limit on var names. Including file columns.

    RPG II code, however, wsa horendous. I hated touching old RPG II code. It was my vision to convert all the RPG II code to RPG III code. Fairly simple to fix some of the formatting issues and recompile and run, but then it wouldn't work if the RPG II program used ... I forget what they were called, screens with rows and overlays. RPG III had a different cycle than RPG II and just wouldn't work if converted. And it was no easy task to convert the display form to work with RPG III becuase the logic was then all screwed up.

    I wound up converting most of the RPG II code to RPG III that didn't have issues with the display files, and then started converting to RPG IV which was rather painless. Very few issues with RPG III not working with RPG IV. But when I left that company in the early 00's there were still RPG II files hanging about. Although at that time the company had been bought out by another company and their mini-mainframe was being used instead so the code was pretty much dead. And, yes, the company that bought them out was using an AS/400 and RPG.

  • gnobal (unregistered)

    It's a shame you included "free format" RPG IV code in this WTF. "Old" RPG code would have been so much funnier.

    When I was an RPG programmer (I'm 30 years old, I programmed RPG during my early 20s), we used small programs to share code. The small programs would do things like conversions (specifically date conversion prior to Y2K).

    So we didn't cut and paste, we had programs named CVT423 and such to do stuff. It was much clearer :)

  • Ornedan (unregistered) in reply to Cloak
    Cloak:
    SomeCoder:
    So... is the WTF that RPG exists?

    If you're going to do language WTFs, we could cycle through every programming language ever created and list WTFs from them. Personally, I like C++ but there's stuff you could find from it to put on a site dedicated to pointing out shortcomings in all languages.

    Honestly, I think RPG is a WTF language as is MUMPS but... I fail to see how this really should be featured on this site.

    If you are really doing language WTFs then chek this out:

    http://members.tripod.com/rkusnery/weird.html

    Especially the Brainf*** and Doublef*** should come to your attention. I'm pretty sure that one day there will also be a WhatTheF*** version of those.

    You know, it's rather interesting that you managed to pick the least messed up languages on that page for your examples. Brainfuck is essentially just a Turing machine (though one with limited tape). More interesting examples would be INTERCAL, which is an attempt to be not quite utterly unlike any other programming language. Malbolge probably wins at being the insanest language, but it feels forced (which it is. According to the language designer, there is pretty good chance it isn't even Turing-complete). The fungoid languages with their multidimensional control flow are also rather interesting. noit o' mnain worb is somewhat similar to those and seems like it could almost be usefull somewhere after being extended a bit. Maybe for visualizing stochastic algorithms.
  • mountain (unregistered)

    Just posting this for people who aren't familiar: when we're talking about DB2 on the AS/400, the database is integrated into the operating system, and it always has been since the system was launched.

    A "physical file" is a table, a "logical file" is a view and the idea was that you could manipulate them transparently through either RPG/COBOL or through database functions. However, I don't think DB2 for AS/400 supported SQL until the 90's, before that the database used proprietary interfaces.

    The database isn't an app packaged with the OS -- DB2 code is directly hooked into all layers of the OS stack, and part of the kernel is the database query engine. So if you're running an AS/400 it might make sense to refer to it interchangeably with DB2 or SQL Server.

    It's technically possible to run other databases on the platform, but there's not much reason to. MySQL has an agreement to support the System i platform, but this is being marketed as mostly as a way to run packaged LAMP webapps on the platform.

  • Bored Bystander (unregistered)

    I find it strange that people are complaining about fixed columns and stuff when languages like Python (and some functional languages) use fixed indentation in their syntax, which is more prone to error. Even C (and hence C++) still requires the # of a preprocessor command to be in the first column.

  • Os (unregistered) in reply to SomeCoder
    SomeCoder:
    Experienced Devleoper:
    ... YOU MUST KEEP THIS IN MIND: Business "people" that means the people who MAKE THE MONEY for the company...

    ...comments posted by current VP/CIO.

    Thank you for letting an old fart ramble on. Just never forget it is all about the money...........

    I have some major problems with this. First, as a VP/CIO, you don't actually make the company any money. The sooner you recognize that fact, the better of a VP/CIO you will be. You are essentially a drain of resources for the company. The people that actually make the company money are those "cheap" ASP developers you were talking about. Those people are the ones that actually build the product and contribute to the bottom line. Managers do not.

    Granted, we need them to make decisions and manage processes and it's nice to have a project manager/CIO/whatever to handle the things that developers don't want/need to handle.

    I'm not saying managers are useless by any means but they aren't the ones that "MAKE THE MONEY".

    Wow! What arrogance. Now I can understand something about the push to offload development out of the US. Why pay a sniveling little developer 90-grand a year (+ bennies) when it can be outsourced for 1/8 the cost, PLUS you don't have to look at nor listen to their worthless opinions on what makes the company money.

    Continuing on that example, when the cost of one developer is reduced from 90k to 10k, that MAKES THE COMPANY 80-GRAND (for just one developer for just one year). Note that no amount of wizardry from an ASP developer can yield that kind of return. That's why the ASP developer's job is outsourced and CEO/CIO's position ISN'T.

  • rpgcoder (unregistered) in reply to jaspax

    Actually, the proper way to code this in free format RPG would be:

    num = Putclientno();

    In extended fixed format you would have:

    c eval num = Putclientno()

  • Edward Royce (unregistered) in reply to Os

    Hmmmm.

    Os:
    ... Note that no amount of wizardry from an ASP developer can yield that kind of return. That's why the ASP developer's job is outsourced and CEO/CIO's position ISN'T.

    shrug why couldn't a CIO position be outsourced?

    Frankly considering some of the nonsense I've seen CIOs do I would think that a company could save itself millions by outsourcing the CIO work.

  • Denny Sangiovanni (unregistered)

    The story of looking into denigrate RPG as a Business Language goes back long time ago. But as a pain in the back for some people trying to do so, RPG remains live and walking to the future, as always.

  • scooter (unregistered) in reply to The Masked Director of Development
    The Masked Director of Development:
    RPG is the Awk of the 1960's.
    So cool then?!
  • Denny Sangiovanni (unregistered) in reply to Anonymous Coward #666

    You can't believe it. Of course, you can't, cause you don't have experience at all. RPG and the IBM Series I ("mini As/400") are the strongest support for business, software and hardware since they were out in the market.

  • Denny Sangiovanni (unregistered) in reply to RobbieAreBest

    Java's stuff is scary for them too, believe me.

  • Denny Sangiovanni (unregistered) in reply to RobbieAreBest

    Java's stuff is scary for them too, believe me.

  • Denny Sangiovanni (unregistered) in reply to Matt

    The other way around could be difficult for you, right?

  • dave (unregistered)

    you have no idea what you're talking about. Mumps isn't just a programming language, it's an associative knowledge store that using a graphical representation of objects and data rather than a relational one. In the billions of 'records' if you must call it that, the associative methodology is much more effiecient than the use of joins and tables in a relational system. Cache is a very good product, it's just not the type of thing your average developer can get his head around. It's also a niche tool for Very large data. (It can be used for smaller systems, it's just not all that helpful over relational bases at smaller scales, and it's not worth the learning curve.) To say that it's not going anywhere is silly of you, and you obviously don't know what it's actually used for (it's very prevalent in even modern brand new off the shelf medical records tracking systems, and many companies are converting their data systems TO Cache, not away from it.) So before you WTF, make sure you know wtf.

  • tieTYT (unregistered) in reply to Os
    Os:
    Wow! What arrogance. Now I can understand something about the push to offload development out of the US. Why pay a sniveling little developer 90-grand a year (+ bennies) when it can be outsourced for 1/8 the cost, PLUS you don't have to look at nor listen to their worthless opinions on what makes the company money.

    Continuing on that example, when the cost of one developer is reduced from 90k to 10k, that MAKES THE COMPANY 80-GRAND (for just one developer for just one year). Note that no amount of wizardry from an ASP developer can yield that kind of return. That's why the ASP developer's job is outsourced and CEO/CIO's position ISN'T.

    I see arrogance on the developers side and ignorance on yours. Yes, the VP makes money. They make business decisions that make or break the company. It's a very important position.

    But you are ignorant in thinking that the only cost involved in making software is related to the salary of the developer. The 10K developer may make it in 10x the time. They make it take 10x more time to maintain. They may make 10x the bugs. From what I've heard, they OFTEN make it impossible to make version 2 of the app by updating version 1: usually the code is so unmaintainable that version 2 has to be started from scratch. From what I've heard, they OFTEN don't follow specs correctly and you end up getting an app that isn't what you asked for.

    Your ignorance is based on the fact that you are thinking in the short term. If you could avoid a lot of cost long-term by paying a little more short-term, wouldn't you do it? Probably not, I imagine you'd take credit for the short term success and blame the developers for the long-term failure :)

  • tomliotta (unregistered) in reply to veppy
    veppy:
    Do you realize how troublesome it is when declaring a simple variable can be "wrong" because the word "CHAR" is off by 1 column? The mental overhead for even the most mundane things in RPG is enough to give anyone fits. Much of RPG is a silly hold over from punch cards and should have been "modernized" before I was born. (1981)

    Clearly you've never used RPG...

    And just as clearly, you've never used an RPG editor. It's actually difficult to to put the word "CHAR" in the wrong position... unless you're foolishly trying to do manual formatting. Would you try to type a Word document into Notepad, entering the formatting codes manually?

    It's not much different from entering something as widely used as HTML. While it can be a challenge typing decent HTML tables into Notepad and getting all the rows and columns correct, using any mediocre HTML editor makes all the difference.

  • RPGProfessional (unregistered) in reply to real_aardvark
    real_aardvark:
    Nurse Goody: "Sorry, doctor. The RPG medical history report iterated through all 250 million US medical records, the circuit trip on the printer's air-con failed, it set fire to itself, and now the Goober wing of the hospital is toast. The scan is coming up right now."
    Good grief. Mission Critical doesn't necessarily mean life and death, it means applications that a company needs to run in order for itself to survive. For example, for a courier company it means logistics and routing applications.

    Being able to produce statutory reports such as end-of-year accounts, accept sales orders, pay vendors, etc is conidered by a lot of people to be mission critical.

    Producing a medical history report, on the other hand, probably isn't, besides 250 million records on the System i would be a snip - of course it would be a pretty poor programmer - that is, one who isn't used to writing serious business programs and how to limit the amount of data that a program needs to access - that would allow the program to read that many records or even use the figure as an example.

    real_aardvark:
    But seriously, who, other than managers, thinks that producing reports is "mission-critical?"
    Intelligent programmers who know what they're talking about. It seems fairly obvious that you don't know anything about RPG even after reading the previous comments (I'll give you the benefit of the doubt that you did read the comments). Yes, RPG stands for Report Programmer Generator as that is what the language was originally designed to do at a time when report were the norm. Just because the name hasn't changed (other than showing a version) doesn't mean that the language still only has the same function as it did originally.

    Or maybe you think that BASIC and VisualBASIC are tantamount to the same thing?

  • RPGProfessional (unregistered) in reply to veppy
    veppy:
    Not more difficult? Are you insane? Do you realize how troublesome it is when declaring a simple variable can be "wrong" because the word "CHAR" is off by 1 column? The mental overhead for even the most mundane things in RPG is enough to give anyone fits. Much of RPG is a silly hold over from punch cards and should have been "modernized" before I was born. (1981)

    Clearly you've never used RPG...

    Clearly you haven't. I've programmed in RPG for over 20 years and I can honestly say I have never come across the keyword CHAR in any version of the language. Unless, of course, you're using CHAR as a variable name in your program? Is that it? Do you limit your programs to having three variables? CHAR, NUM and FLAG? Wow, I'm impressed.

  • (cs)

    RPG is used at my place of work. In fact, AS/400 is a pretty darn essential part of our system. So I found this article rather amusing - I just hope RPG is not as sucky as the article makes it out to be!

  • RPGProfessional (unregistered) in reply to tharfagreinir
    tharfagreinir:
    I just hope RPG is not as sucky as the article makes it out to be!
    Don't worry, it isn't. The trouble with the article is that it's written by somebody who is obviously biased against the language, you could go to a pro-RPG forum and get just as many reasons as why it doesn't suck.
  • tomliotta (unregistered) in reply to RafBar
    RafBar:
    Yeahh I suck at english, it is not my main language. I teached myself english just by reading books and listening to my TV...

    Well, now i have to learn to ignore morons like you.

    No, you shouldn't ignore them. Just get them to describe how well they speak whatever second-language that they know. I'm pretty sure most of them won't know another language as well as you do.

  • auly (unregistered)

    Well, after reading the mass of replies to this article, I just couldn't help but getting my two cents into this thread.

    I have programmed in RPG since I graduated from college, 17 years ago. I have had exposure to other languages and see the merits in each. One of the posters referenced that. I have programmed RPG to deal with a myriad of different applications not just reports, but a Pharmacuetical system that depended on determining drug-drug and drug-allergy interactions. I would call that 'mission-critical'. RPG can be used to do most anything as long as the programmer is capable of producing the code. I don't believe the argument here should be about the capabilities of the language as much as it should be about the capabilities of the programmer using the language.

    As for the merits of VIP/CIO/Management vs. the programmer....both have their places within the corporate structure. A company cannot operate without either. Both make money for the company in their own ways. Both can be accused of loosing money for the company as well....it just depends on the capabilites of the person in their respective job.

  • anonymous (unregistered)

    The reality of RPG & AS/400 platform for a business pssst - the business guys paying for the platform haven't realized this yet. This stuff is only known in IT circles.

    1 - Many of the iseries & AS/400 shops are frozen in time in the pre-internet era. Their IT processes and methods regarding purchasing, programming, security!, tuning, user needs, etc. are from another era. Ask TJX/TJ Maxx how that worked out for them. The cost of running it the old way was cheap but the modern risk & impact is devastating. Remember the early 90's for IT? weren't they fun?

    2 - new COTS software (enterprise and SMB) with modern features is increasingly not written for AS/400 & RPG. It's only getting harder to find modern packages for the AS/400. If you don't need SOX capabilities, PCI compliance, regulatory compliance, your business needs wont ever change, AND you like paying incredible amounts for the inexpensive commodity hardware and software on other platforms = congrats - the AS/400 has your name on it!

    3 - Staffing issues. It is hard to find staff that know the new RPG (using the post 1999 features). Most only know the ways described in item 1. You will find staffing costs aren't very low cost to deliver the same IT services to the business you can provide on an intel platform. You will end up with two IT departments - one dedicated for the AS/400 that is incapable of modernizing and another IT group that knows the modern IT platforms and is capable of change.

    This is the WTF in the example. They typical RPG skilled staff don't see the point in the post 1990 IT world.

  • RPGProfessional (unregistered) in reply to anonymous
    anonymous:
    The reality of RPG & AS/400 platform for a business pssst - the business guys paying for the platform haven't realized this yet. This stuff is only known in IT circles.
    CRAP!!!
    anonymous:
    1 - Many of the iseries & AS/400 shops are frozen in time in the pre-internet era. Their IT processes and methods regarding purchasing, programming, security!, tuning, user needs, etc. are from another era. Ask TJX/TJ Maxx how that worked out for them. The cost of running it the old way was cheap but the modern risk & impact is devastating. Remember the early 90's for IT? weren't they fun?
    Complete CRAP!!!
    anonymous:
    2 - new COTS software (enterprise and SMB) with modern features is increasingly not written for AS/400 & RPG. It's only getting harder to find modern packages for the AS/400. If you don't need SOX capabilities, PCI compliance, regulatory compliance, your business needs wont ever change, AND you like paying incredible amounts for the inexpensive commodity hardware and software on other platforms = congrats - the AS/400 has your name on it!
    Utter CRAP!!!
    anonymous:
    3 - Staffing issues. It is hard to find staff that know the new RPG (using the post 1999 features). Most only know the ways described in item 1. You will find staffing costs aren't very low cost to deliver the same IT services to the business you can provide on an intel platform. You will end up with two IT departments - one dedicated for the AS/400 that is incapable of modernizing and another IT group that knows the modern IT platforms and is capable of change.
    Total CRAP!!!
    anonymous:
    This is the WTF in the example. They typical RPG skilled staff don't see the point in the post 1990 IT world.
    What a complete load of bollocks, shame on you for posting such drivel - no wonder you posted as "anonymous", should have been "anonyMOUSE". Shame on me for taking the bait!!!
  • tomliotta (unregistered) in reply to Disgruntled Postal Worker
    Disgruntled Postal Worker:
    There is no RPG.NET because all applications written in RPG are intimately tied to the AS/400 architecture. To port it to windows, one would also have to port the non-relational (DB/2) database engine to windows, as well as the Library File System, and a windows implementation of the 5250 terminal. You'd then have succeeded in building something that combines the worst aspects of both the AS/400 and the Windows PC. I cannot imagine there being a market for this.

    There has been a market for this for nearly 15 years and the market still exists. Not ".NET" as such, but Visual RPG (from IBM, comes along with the other compilers and tools at no additional charge) is developed in a GUI IDE, compiles and runs under Windows, and even generates equivalent JAVA if you wish. It can call Windows .DLLs or interface with a remote System i or pretty much anything else that a Windows app can interface with. A System i in the network is not required for the resulting app.

    RPG programs tend to be either pure batch processing, or the conceptual equivalent of a query + user interface. Just rewriting your RPG apps in MS-Access or Oracle Forms would be infintely more cost effective, I imagine.

    So far, I haven't seen that anyone has been able to demonstrate this as long as a basic assumption is that the code that's being converted has been reasonably maintained and updated to take advantage of basic platform improvements. It doesn't have to be fully state-of-the-art, just reasonably maintained and updated. Lots of clueless claims exist about how wonderful things would be if it were converted, though.

    The last such conversion that I had experience with started with an estimated 6 months to convert to Oracle. My experience began at the 18-month point in that project and the estimated remaining time at that point was -- 6 months. The project was originally approved based on the so-called expert opinion that it all could be done so much easier/cheaper/faster by converting. Had there been any honesty up front, the project never would have been approved.

    Obviously, if the conversion is from ancient RPG II (or worse, RPG) within an ancient app design, then it's no different from converting Dartmouth BASIC to a more modern equivalent. But those who have no clue of how the language has evolved should at least learn how to find clues first.

    I'm sure many conversions could be done as you said. However, the statement is false as far as the vast majority of apps I've worked with over the past twenty years (to stay mostly in the AS/400 and its successors' times). I do remember one in particular that desperately needed such a rewrite but couldn't get approval due to... well, governmental obstacles. Otherwise, your assertion simply hasn't held true.

  • RPGProfessional (unregistered) in reply to Disgruntled Postal Worker
    Disgruntled Postal Worker:
    Just rewriting your RPG apps in MS-Access or Oracle Forms would be infintely more cost effective, I imagine.
    Hmmm. I imagine from your statement that you don't actually know anything about RPG otherwise you wouldn't be imagining an exagerated saving (obviously nothing could be infinitely more cost effective)...
  • jp2558 (unregistered) in reply to tomliotta

    Hmmmm. EVERY Access application I've used has almost ALWAYS had to be re-written, tested and debugged after a new verions of MS Access is introduced. Yeah - that's really cost effective - and the reason why I stopped recommending use of or doing any access development in 2001. RPG applications written in 1983 for a System/36 can run unmodified today on any flavor of AS/400/iSeries/System i.

  • Mark Murphy (unregistered) in reply to iToad
    There already is a Cobol.net (Fujitsu sells it). Why isn't there an RPG.net also?
    There is ASNA sells it
  • roboprog (unregistered) in reply to Khim

    Editing the code is not too bad, if you have the right tools. I had to write an editor ("SEU" emulation) for RPG (in C) that would flip between a "normal" text window and a templated form for each F, I, C, O line as appropriate. The company I worked for at the time was in the business of selling a product that translated RPG into C code which could be run on newer, cheaper hardware.

    Most clients (RPG using IT shops) simply used the product as an alternate compiler, of course...

  • (cs) in reply to RPGProfessional
    RPGProfessional:
    real_aardvark:
    Nurse Goody: "Sorry, doctor. The RPG medical history report iterated through all 250 million US medical records, the circuit trip on the printer's air-con failed, it set fire to itself, and now the Goober wing of the hospital is toast. The scan is coming up right now."
    Good grief. Mission Critical doesn't necessarily mean life and death, it means applications that a company needs to run in order for itself to survive. For example, for a courier company it means logistics and routing applications.

    Being able to produce statutory reports such as end-of-year accounts, accept sales orders, pay vendors, etc is conidered by a lot of people to be mission critical.

    Producing a medical history report, on the other hand, probably isn't, besides 250 million records on the System i would be a snip - of course it would be a pretty poor programmer - that is, one who isn't used to writing serious business programs and how to limit the amount of data that a program needs to access - that would allow the program to read that many records or even use the figure as an example.

    real_aardvark:
    But seriously, who, other than managers, thinks that producing reports is "mission-critical?"
    Intelligent programmers who know what they're talking about. It seems fairly obvious that you don't know anything about RPG even after reading the previous comments (I'll give you the benefit of the doubt that you did read the comments). Yes, RPG stands for Report Programmer Generator as that is what the language was originally designed to do at a time when report were the norm. Just because the name hasn't changed (other than showing a version) doesn't mean that the language still only has the same function as it did originally.

    Or maybe you think that BASIC and VisualBASIC are tantamount to the same thing?

    Ummmm ... It was a joke. And yes, I did spend a lot of (painful) time reading the hundred-odd preceding comments. Many thanks for the benefit of the doubt, though.

    BASIC == VisualBASIC ' Whatever that might be
          == crap.
    

    But that's purely on an equivalence level, not on an equality level. So it only really works on containers. Such as either toilets, or AS/400s.

    I don't really have a problem with RPG: it's never going to have much of an impact on my life. I do find it interesting that so many RPG apologists (and, please note, "apologist" does not mean that you are "apologising" for it: more that you are defending it, as is your right) have come out of the woodwork on a site like TFWTF.

    Is there some sort of Evil RPG Network out there, propagating the need to leap to the language's defence?

    The only sensible defence that I can see, given perfectly reasonable alternatives that do not cost management $150 per hour to maintain -- see, I do read each and every comment -- is that there's a Godawful number of RPG systems out there, and re-writing them is not cost-justified.

    This is in and of itself a sad commentary on IBM's continuing commitment to the language. I'm pretty sure that they could have produced a spiffy AST generator from the trivia that is RPG II, and probably even from RPG III, and generated some sort of real and maintainable language out of it ... instead of morphing into the dead-end that RPG IV seems to be.

    Look. You can put lipstick on a pig, but it's still Paris Hilton.

    Oh yes, and you seem to completely miss my point about the concept of "mission critical." Sure, management reports are "mission critical" (unless you're Enron management). However, they do not need to be delivered within the next millisecond or so, with a guaranteed latency, etc. That's mission-critical.

  • Tom Brennan (unregistered) in reply to mh

    Heheh! I remember studying this in college, here in Ireland, and in fact this college was the only one in the country to house an AS/400 system (www.lit.ie) within the college campus and we learnt RPG IV and COBOL/400. Mind you it can be a numb experience remembering which columns to put in code sequences, but it was fun and a lot of us (including myself walked away with AS/400 skillsets!) Ahh! Those were the days! This was back in 93/94/95!!!!

    Tom.

  • Jacobus (unregistered) in reply to Cpt

    A said in the original post (i am the original poster), the as/400 (or i5 as it is called now) is quite a modern platform. It's a unix flavor under the hood, and i5/OS (formerly OS/400) is a very elegant, simple and robust environment, compared to unix for example. It's architecture is quite modern (from the 70's, as opposed to the 60's where unix came from). It is very versatile and supports all modern technologies like websphere etc. But it also still supports 5250 screens, of course. I like i5/OS but i don't like RPG (for obvious reasons). The real WTF here is that most as/400 programmers still do the same thing they did 20 years long, and dont want to learn. This is THE reason why much of the apps are using green screens. It's not the as/400 which just supports it for backward compatibility, but the programmers who do not want to learn something new. Phew.... it's almost impossible to learn an old-school RPG programmer the concept of pointers. Making abstractions is key to making good software, but most RPG programmers never learned this because they were never exposed to a language with local variables for example. Everything that's more abstract and does not let the program twice as fast or let's the programmer create a "working" program twice as fast is just not understood. Also because these people generally do not have a technical background or even interested in technology. The brighter side of this is that most RPG programmers tend to be more aware of their "business" then "technology". So this is a good thing. But a good programmer is both. In the first place he is a technician (because thats the job he is doing, technical). But he also has to relate this to business.

  • RPGProfessional (unregistered) in reply to Jacobus
    Jacobus:
    It's a unix flavor under the hood, and i5/OS (formerly OS/400) is a very elegant, simple and robust environment, compared to unix for example.
    Do you have any evidence to support this statement? Having worked on the "AS/400" platform since its launch I have never come across OS/400 and its successors as being a "flavour of UNIX". AIX on the RS/6000 I understand to be a flavour of UNIX (I may be mistaken), but OS/400 and i5/OS? No.
    Jacobus:
    It is very versatile and supports all modern technologies like websphere etc. But it also still supports 5250 screens, of course.
    Isn't that the definition of versatility?
    Jacobus:
    The real WTF here is that most as/400 programmers still do the same thing they did 20 years long, and dont want to learn.
    I take it you mean RPG programmers rather than "AS/400" programmers (who program using a variety of languages such as C++, Java, COBOL, RPG, MI, PL/1, etc.), however your statement is no more true about RPG programmers than it is about any other languages programmers. If you can provide evidence about the statement I'll accept it, but please don't just espouse statements that the ignorant masses will take up as gospel.
    Jacobus:
    This is THE reason why much of the apps are using green screens. It's not the as/400 which just supports it for backward compatibility, but the programmers who do not want to learn something new.
    Again, this is a ridiculous comment, I worked for a large blue-chip international pharmaceutical company once that was reviewing their finance application. They used AS/400s at the time, but were willing to look elsewhere for the right system and even looked at SAP/R3 running over Oracle. SAP was a fabulous package, but using it within the Finance Dept would have severely reduced the heads-down data entry speeds when the clerks were processing invoices, etc. A speed they kept by using 5250 "green screens".
    Jacobus:
    it's almost impossible to learn an old-school RPG programmer the concept of pointers. Making abstractions is key to making good software, but most RPG programmers never learned this because they were never exposed to a language with local variables for example.
    The use of pointers doesn't relate to "green" screen programming any more than it does to "modern technology", it's a programming concept. Most RPG programmers I know (and I know a lot of them) have embraced the use of pointers and local variables. Why wouldn't they?
    Jacobus:
    The brighter side of this is that most RPG programmers tend to be more aware of their "business" then "technology". So this is a good thing. But a good programmer is both. In the first place he is a technician (because thats the job he is doing, technical). But he also has to relate this to business.
    That's the first sensible thing you've said (apart form the "technology" point). On the basis that RPG is used primarily for writing business applications it stands to reason that the programmer should be aware of the business. It doesn't, of course, mean that they are unaware of "technology" any more than, say, a Java or C++ programmer is. I'm afraid you can't just link the two in a statement and believe it to be true.

    I wouldn't be proud to be the original poster for this thread, I would feel guilty for making outrageous accusations without any evidence to back them up. All you have succeeded in achieving is slagging off a language for no other reason than you think it is fun to do so, and inflaming others to stand up and defend it.

  • jp2558 (unregistered)

    And for all of you who think RPG is a dead end, here's something else you can do with it - and it's still RPG...

    http://www.itjungle.com/fhs/fhs082107-story03.html

  • Nelle (unregistered) in reply to Khim
    Khim:
    Zylon:
    RafBar:
    RPG is all but deprecated. I work in a place where it sustains the daily operation of a 250-million-a-year-profit business.

    I work mainly on java.. when I Have to touch RPG I litterally feel that my neurons are commiting seppuku.

    Just in case you're not already aware of this-- you suck at English.

    At least he doesn't suck at relevance.

    or at least he does not suck generally ...

  • Marilyn (unregistered) in reply to bkendig

    For heaven's sake. He's talking about power failures. Are you trying to say that you don't need electricity?

    I suggest that you reserve your opinions for things that you've actually done. To compare even the current level of RPG that is taught at schools with real life is like deciding not to read literature based on a boring high school history class (also not reflecting on the importance of history).

    I believe the point of the article is that the early construct of the language only attracted those in life that lack both imagination and ambition (along with proper education). On this I am dismayed to agree.

    As a EE, I could never have imagined working on any business type language, and laugh because I was working on MUMPS when my employer wanted to convert from a S/3 to a S/38. I was not amused, but ended up out of boredom one day picking up the manuals. I have found that it's a heck of a machine.

    At the time I did not expect the platform to expand, it just paid a little more at the time as nobody else knew how to use the machine. I wanted to buy a new stereo in 1979 and I haven't turned around. I work on other machines, but still prefer the basics of what I can do with iSeries. Even Apple used this platform to run their business.

    I say push for better coding on the platform, be a part of the solution or a part of the problem.

  • TomHolden (unregistered)

    RPG IS a vital and viable programming language! anyone who doesn't know this is either a Windoze Microclone or Unix-head. I have programmed on Windoze, Unix with several languages. on the System i (the latest moniker for the AS/400) you can create web apps using websphere, RPG-CGI, PHP, run Apache and Tomcat and tons of other stuff. the nice thing is that a lot of the functionality can be written directly in RPG IV, C, C++, COBOL all on the same machine. RPG is my favorite language. there are several reasons:

    I don't have to code all the file definitions, opens, closes, etc. the compiler does it for me. i also have the option to control those functions when needed.

    the language has evolved through the years...(unlike COBOL, BASIC, PL/I, (and really java...), C, C++ (the .NET stuff is really a different iteration of the language).

    it can be used for creating windows apps via Visual RPG (ASNA or IBM flavors).

    RPG is robust and evolving rapidly. unlike the aforementioned languages.

  • ILoveRPG (unregistered) in reply to TomHolden

    I agree with Mr. Holden. I have worked with clumsy java and C++ programmers for a few years in a mixed programming shop. I can generally do in rpg what they do in java and in less time. I find it interesting that they complain about the 400 so much when it's nearly always the windows and linux machines that are problems. Get a real computer you little dweebs.
    (Now sit back and watch their heads explode.)

Leave a comment on “The Other Kind of RPG”

Log In or post as a guest

Replying to comment #:

« Return to Article