- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
It's high time someone added something positive to this diatribe. RPG has evolved and is still evolving. All OUR RPG is ILE RPGIV, written in modular form using the modern constructs of subroutines, procedures and service programs for comon routines. And we write free format code.
Variables names can be as long as you like. Powerful tools can be purchased at a pittance to instantly convert the ancient into the modern free format code. A little simple editing will fix those horrid six character variables.
Yes, there's still a lot of the old stuff around in some shops, but blame the IT departments, not the language.
Admin
I don't suppose you've been surreptitiously using edlin to edit your RPG code again, now have you?
Well I have, and I can tell you for a fact that IBM's source editors have done syntax checking since before you were born, so the 'problem' of being off a column is rather... invented.
We RPG folk have our own rants (visit a Midrange list and ask how people like matching record) and I find it somewhat refreshing that the Daily WTF thinks that naming conventions are worthy of mention. At least the post is using subprocedures and not some monolith written in 1970.
Admin
Free format RPG is good and not that much different than other languages. RPG was already good at record I/O, so now that RPG Free is here, I think RPG is a good language and I enjoy programming in it. I can say that having written programs in Pascal, C, and VB.
Having to maintain fixed format RPG can be unpleasant, but using good coding practices is at least as important as whether or not the program is in free format or not. Given a well-written fixed-format program, and a poorly-written free format program, I'd prefer to maintain the former.
Admin
What a load of crap. There, I've said it.
It is blatantly obvious from reading the posts that the majority of you do not or have not used RPG in any serious manner at all.
Comments like "I use RPG and only have 6 character fields, two characters of which identify the file" are just pure rubbish. Field naming conventions in RPG, like most other languages, is at the discretion of the individual programmer if not corporate standards.
A lot of the limitations as listed in the various rants and the WTF are releated to older versions of RPG and not the more modern, up to date, enhanced versions available and in use today. Anybody out there still programming using the older style RPG only has themselves to blame - it's their choice where they work after all is said and done.
The AS/400, iSeries or System i5 as it is now known is (as has been said in previous posts) one of the stablest platforms there. In addition, you can run (if you must) both Linux and Windows servers on the platform in addition to the standard OS/400 or i5/OS.
The modern RPG language gives you access to everything that you're all complaining about - local variables, DLL's (service programs), user defined functions (procedures), free format coding, state of the art IDE's, the list goes on.
I have coded in RPG for over 20 years, from RPG-II on a System/36 to todays incarnation. You cannot judge the merits of a language based on the language of 20-30 years ago in the same way you wouldn't judge the merits of XP or Vista based on the original version of Windows.
Then again, most of you probably would!!!
Admin
I wonder is RPG really worse then HyperCard? I remember having to program in that monstrosity back in high school...
Admin
Oh yeah - and what platform doesn't have the stoopid virus thingy problem.
Ahhh that would be the AS/400, iSeries, System i.
And it's quite hacker proof too.
And I guess I forgot about including the ability to run Windows on my System i in my prior post, but then again why would I want to do that when I can run Linux instead...
Admin
My first job (17 years ago) was RPG-II programming. I can still remember the first time a the company accountant handed me a 132 column, green bar print out and a RPG-II ruler. I looked at the page and all I could think was:
"Who sneeze letters on the page?"
Rapidly Programmed Garbage.
Admin
This came from seeing a printout of an RPG program on green bar paper (no indications of RPG columns):
RPG = Randomly Produced Garbage
captcha: ewww - sums it up
Admin
I had to come back and say:
Wouldn't it be freaking great to have a consistent medium to work in? I mean you know where they don't screw up the OS every few years and you know how thing display on the screen because that is how they display?
I magine that something that works the way it was intended to work! Nah we don't need that we just need to be able to code more and more code so we get paid!
Admin
I wrote a post on my blog responding to this: http://conservativgeek.wordpress.com/2007/08/10/ancientarcanelegacy-technology/
Yeah there definitely are some legacy/ancient technologies out there, but they still are around for a good reason - they serve a purpose and usually they just work well (this definitely isn't always the case).
Admin
Dude - why in world would you use an editor that doesn't support lining up the fields for you?
That's like deciding to use a hatchet to cut down an oak tree and then whining about the blisters on your hand. If you program in RPG, you use an RPG-aware editor. Sheesh.
Admin
I actually have a green RPG programmers template if anyone really needs one. Attach it to your green screen and know where you are in the column alignment at all times.
Admin
Actually, I believe that the generally accepted value System i uptime is 99.94%.
And remember, we're talking about a single stand-a-lone system. I'm not sure how much hardware redundancy that number factors in, but the System i can have redundant and/or hot-swap power supplies, disk, and disk controllers.
To get better uptime out of a single system, you have to go to a mainframe or possibly specially designed redundant hardware.
Last but not least, I can have Linux running in one or a logical partition on my System i.
Admin
While RPG (all iterations) are designed for business applications, you certainly aren;t limited to that language on a System i5 (it's not AS/400 today - that's a legacy system since replaced). There's Cobol, PL/1, C, Java, Fortran, and probably a few others of which I am unaware.
Admin
A couple of problems I see. Why would you name a field CHAR? Sounds like you are defining a definition? Next, CHAR would be defined normally in the Definition specification and being off 1 column would not be an issue. But normally you would probably have your fields already defined by the file(s) you are processing so there would be zero coding required for that.
Lastly though I would offer this comment: Structured code has some significant benefits for maintenance. Yes every programmer has to do certain things certain ways, but the benefit is that every programmer has to do things certain ways, so there is a lot of consistency built in and therefore less concern with individual programmer style.
And yes, I like RPG. I know other languages but for a business environment RPG gets the job done.
Admin
Actually, in RPG IV you can use up to ten [10] characters per field name; in ILE RPG it's somewhere in the thousands.
Cobol has had long (30+) field names since its inception, but most of the Cobol programs that I had to maintain over the years were (mostly) using abbreviations that would (mostly) fit into the ten character constraint.
Admin
Another painful language is Basic, especially the "Business Basic" version I was forced to use some 20 years ago.
It would not have variables longer than 1 alphacharacter plus 1 digit. Painful! It’s only redeeming value (which made me bear it) was the ISAM/KSAM files.
I eventually wrote a "pre-compiler" coupled to a terminal emulator to "upload" the "executable" sourcecode (the source code was kept on my workstation, not on the mainframe); the "pre-compiler" allowed to use long variable names and destination labels (for those pesky GOTOs and GOSUBs), and managed to deal with more than 1 statement on the THEN and ELSE parts.
Of course, the boss wasn't very hot at the idea, but I kept sugarcoating the thing by putting in REMarks the actual variable definitions so he could look at the "executable" source code and "understand" what it did (the "pre-compiler" put a big wad of comments explaining the variable definitions at the beginning of the program, and every line branched to had a REMark showing the label name).
Admin
There is http://www.asna.com
Been around for some years now.
Admin
Ah yes the AS/400 RPG.
We all know and love it... now just try interfacing a ColdFusion(Java) app on top of it and you're quids in.
If only more than one company in the world wanted to do this I may actually have some //useful// experience under my belt!
D
Admin
And I'm sure that was really impressive. In 1968. But we're not in 1968, are we?
"Gee, don't knock stone tablets. Back in the day, they were really great - I mean, so great that even God used them to deliver the 10 Commandments to Moses! We should all still be using them, 'cause they were so great!"
Makes about the same sense as your post in the present day, I think.
Admin
Just in case you're not already aware of this, you suck at personal interaction (and punctuation skills), but are pretty good at being a pedantic ass.
Seriously, with the exception of poor capitalization of "java", "what" and "Have", and the double period ending a sentence, the English was fine.
Admin
Well, you see, these youngsters only wear a techie hat, not a business hat. So preserving the business software investment $$$ means nothing to them (but funny thing is, it does the Pres, CEO, CFO, CIO, BoD). These kids only think in technical terms. They are accustomed to throwing away production code (youngsters - that means throwing away dollars, but hey it's not your money right?) to upgrade to the latest and greatest Wintel. That is their norm.
I've been writing pure 64 bit RPG programs since 1995, that run "as is" whenever IBM releases a new version of the OS, or swaps out the CPU. Set it and forget it. When the AS/400 (at that time) went from CISC to RISC (to 64 bits), my RPG programs automagically converted to the 64 bit RISC on the fly. I didn't have to rewrite anything. Moreover, if IBM ever changes the CPU to 128 bits, my RPG programs will automagically convert to 128 bits - on the fly. I can read/write to sockets, code web applications in RPG (yes, I know HTML/CSS/JS/Apache/XML/etc), consume web services, call Unix functions, C functions, send MIME emails, process DB2 databases natively with incredible speed, read/write to PC files, embed SQL in my RPG, code my RPG with an Eclipse based GUI IDE (WDSCi), code in free form RPG (no fixed columns), and so on. Indicators? What are those? Boolean fields. Don't all languages have boolean variables? (well, except SQL).
And please don't tell me Java runs anywhere. Once you hook into a database, it won't port "as is" anywhere. WORA ain't happening. And any business application connects to a database, unless your idea of a business application is a random number generator. And native RPG database I/O speed runs circles around JDBC.
What I cannot believe is that you youngsters are writing web apps today using MS-DOS BASIC. That is so old and archaic... What's that? You say you don't do that? Well, where do you think .NET came from, its roots? Now you might say it is so much different than MS-DOS BASIC that this is not a fair comparison, right? And I can't believe you Java kids are coding Applets. What? You stopped doing that for Servlets/JSP? Well kids, welcome to RPG. The current version of RPG is not the version created decades ago. The only difference is that RPG didn't get a new name along the way... I can't recall that last time I generated a paper report with RPG. Users only want Excel/CSV/TXT attachments in emails now.
Well that's enough, I gotta get back to writing an old archaic 64 bit free form RPG BOM chase.
Admin
Was Jacobus, the RPG coder featured in this article, the same person who stirred up the hornet's nest at:
http://www.mcpressonline.com/[email protected]@.6b506aff
It's one thing to carp about the meagerness of the sacrificial lamb at WTF, but another to do it in the lair of the lion.
Admin
Even on the built in dinosaur mode SEU editor, it takes only a couple keystrokes to pop into a hand-holding mode to make sure you can type something in column 17 or whatever.
And that's just irrelevant, since there have been modern RPG editors available for ages. (CODE/400, WDSC, etc.)
I totally agree that the old guard are a serious problem in the RPG world, their habits, abilities, and paranoias are crippling in most shops, but the language, when used in its intended context is a huge time saver and actually quite pleasant to work with.
The main thing is that RPG isn't meant for solving general programming tasks, although it can do so, it is meant for building data-entry, reporting, and record crunching applications. The backbones of daily business activities.
Admin
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." ????
Admin
Why, oh Why??
Admin
Never run any programs on it;
Never turn it off.
Admin
Ok, I am going to speak to all you that have less than 5 years experinece developing out there. I have worked (developed and managed/administered) IT departments on all 4 major platforms. IBM MAINFRAME(ES9000/VMS-EXA with COBOL, PL/1 and JCL), IBM Midrange SYSTEM/I (AS400) OS/400 with COBOL and every flavor of RPG, UNIX using Bell Labs UNIX OS with PROGRESS and INFORMIX and finally MS/Windows with SQL. Having stated this, YOU MUST KEEP THIS IN MIND: Business "people" that means the people who MAKE THE MONEY for the company do NOT approve projects "just because it is cool to rewrite code". GET REAL. IBM has allowed an investment in code to be preserved while "gingerly" recommending to companies to modernize their code base. AGAIN, decision makers DO NOT spend money on projects just because it is the latest and greatest development tool kit available. GARTNER Group has published studies that show green/amber/white TEXT based entry screens applications blow away a GUI based system. Just becuase it's GUI does not make it all perfect.
THESE COMMENTS are from a developer who is now THE DECISION MAKER. EVERYTHING REVOLVES AROUND COST in a REAL business. And yes, all of our web development is done in ASP. WHY? well, it is cheap, developers using asp are plentiful and cheap and I can PROTECT the real data (that runs on the System I) from hackers using a ASP application that faces the web.
Again, BUSINESSES WHO WANT TO REMAIN "ALIVE(profitable)" base EVEYTHING on ROI (Return on Investment). I understand why most Computer Science folks would not understand this concept. All you know is that HEY THIS IS COOL, from my viewpoint, I say, "hummm, is this the best tool for the job? NO, THEN FORGET IT." If you don't like my response, then look for work elsewhere. I do not care.
comments posted by current VP/CIO.
Thank you for letting an old fart ramble on. Just never forget it is all about the money...........
Admin
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.
Admin
My first job out of college was as an RPG/400 programmer (as/400's version). 3 years and 10 months of that. Not that I'm counting.
Token ring networks too.
We didn't have a form. We had the ole' RPG RULER!!!
It was a stainless steel RULER, calibrated for 12 pitch type, that you could lay on a printout and tell where everything on the printout fell according to the fixed field definitions for the different line types.
There were several different definition types (declaration, output, input, etc) and the ruler had a scale for each one, plus a bunch of little cheat charts on it.
I still have the thing. I'm never getting rid of it! I should photograph it and post it.
Admin
i was hired by an as400 shop that was trying to expand its services to include web development, etc. since they had 0 clue in those areas, they decided to cancel those efforts and suggested to me that i learn rpg. i quit the next day.
Admin
NT, of course, had 224.5 hours.
http://users.ca.astound.net/baspence/AIXtip/download/gartner_availability.pdf
Yeah, the study is old ... but I suspect the results for a similar study done today would be similar.
david
Admin
Amusing how the first few dozen comments were so negative. Wait, those were posted mid afternoon, right? Oh, I see. They were posted by coders who are for some reason despite their great knowledge of all programming languages... unemployed.
It's a waste of time responding to any of the language elitists who think newer=better. Any language has bad code. Any language has old versions. The difference here is that even ancient RPG code still works. Earlier this week I added some code to a program that has been humming along happily since May of 1988. Where was Java or even C in 88?
If it ain't broke... it can't be fixed. It can only be broken. I for one am quite glad IBM took the slow route to "modernization". It's kept my employers in business & me from being able to read the daily WTF in the middle of the afternoon.
Admin
Hmmmm.
Wow! Memory lane.
Ahh memories of 99 indicators and programs, written by a co-worker, who used each and every single one of them several times over.
The RPG ruler. When I stopped programming RPG I burned mine in a sacrificial fire dedicated to the Norse Gods.
Yeah I gave it a Viking funeral a la The Last Remake of Beau Geste.
Good times. Gooooood times.
Admin
Or at least deprecate the English and use the acronym IJTUIMMAL
Admin
I have Cold Fusion running on top of the 400 DB via ODBC and it was a piece of cake. Talk about a quirky obsolete language, that's Cold Fusion.
Admin
Zylon isn't pedantic. If he[?] had made an attempt to point out why Rafbar is bad at English, one could consider Zylon to be a pedant. But he didn't explain his rude comment, so Zylon can really only safely be considered a jerk.
See? I'm pedantic! (and a jerk) :)
Admin
JAVA people have the throw exception. WTF!
Admin
And evidently you had 0 clue too.
Admin
But the real WTF is their clocks. Have you seen them? They all show the wrong time, and they just let them stay that way. They have whole societies where all the clocks are several hours wrong! When it's noon, they all think it's evening! How fucked up is that?
Admin
point and match.
-- Seejay
Admin
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".
Admin
Admin
Admin
Admin
I believe in most of what you've said although I have no personal RPG experience. I only disagree with this part:
You didn't give any information as to how RPG is better in this respect but regardless you're wrong. First of all, there are Java databases. Second, there are a couple of very important databases that run on the major os's used as servers: MySQL and Postgresql come to mind. Third, I think you're assuming the Java app and the database reside on the same computer and to move one you have to move the other. That's not true, you can move the Java app to a different computer and connect to a remote database. I'd still consider that WORA (but maybe you'd disagree).
Again, as you haven't really described how RPG is better than Java in this respect, I'm arguing blind. But maybe you didn't know this information.
Admin
Hmmmm... in this 'windows' world, what did MS choose to do with Java? They chose to rip it out of their OS's...
And lets ask one more question: which platform runs java as a compiled object rather than as interpreted code?
Answer: The IBM System i.
Admin
I'm sure that VP/CIO absolutely makes more money for his business than some .asp coder. How in the world does the coder make any money (unless it is a software house, then you may be correct). If this is any type of manufacturing business, the assembly workers are the ones that create the profit based on the VP/CIO, management instructions.
Admin
So what do you think major corps run on? Data! Lots and lots run on AS/400 flat file RPG COBOL hell at that.
Mom and Pop aren't going make or lose a million of the shit job some kid did, but real big business it costs $$$ to migrate, and it take man hours.
Imagine you have a legacy system that has to function, but you want to convert as much as you can to the new code and trendy ajax things. Guess what more than likely you have to double your number of workers, pay for training and salary during training.... then if you are smart and contract out the new work you have to pay double what a normal coder costs.... plus the job may never get done.. so then you have to bring the contracted guys in house and fire your long standing cobol freaks, but good companies don't fire you for being a cobol freak they train you
or maybe code just happens and the nightly batch jobs run themselves....
Admin