7 ms·
We have 50,000 lines of RPG code we need to replace over the next decade. Since the last RPG dev at our company is over 65 years old and can retire at any momen
by hackerboos 9y ago
We have 50,000 lines of RPG code we need to replace over the next decade. Since the last RPG dev at our company is over 65 years old and can retire at any moment.
It's going to be funny when we replace it with Java and our business guys ask why it runs much slower.
- spullara 9y agoI just took a look at the language. I can imagine it could be faster than Java since it appears to be so low-level but I couldn't find any benchmarks. Really depends on how good the RPG compiler is when it comes to mapping the language to machine code.
- tigershark 9y agoI never wrote RPG code, but 50k LOC seems a pretty small project to me...
- meddlepal 9y agoIt might be small, but I doubt it is. I am really curious what kind of test suite an RPG program would have. If it doesn't have a test suite then good luck because you're basically rewriting a decades old 50K line program and its behavior by guessing how it works. Also who knows what kinds of weird data formats or protocols it deals with that no libraries exist for in other languages.
- dragonwriter 9y agoA 50k LOC program serving a critical business function without a test suite or requirements documentation can be quite a chore to replace, especially if you let it go until you have neither staff experienced in the language or with experience with the background of the specific application.
- WalterBright 9y agoI've converted such programs from one language to another. It is not necessary to understand how the program works, only how the language works. What you do is function by function, convert the language by duplicating what it does in the new language. Resist any and all urges to fix it, refactor it, improve it, etc. Just translate.
- chii 9y agoThe problem is if there's some obscure language behaviour that's not documented well, and the code relied on that behaviour. unless you're an expert and knows the language inside out, it's hard to even know such a problem occurred.
- WalterBright 9y agoTrue, but languages tend to be far, far better understood and documented than some random application logic.
- fgonzag 9y agoOne semi modern language to another language is one thing. You could probably transpile the damn thing. Converting batch based, RPG systems to a whole different paradigm, without a test suite covering the edge cases and 0 documentation is another.
- bpicolo 9y ago> critical business function without a test suite or requirements documentation Even in the world of standard consumer webapps, this is a real challenge.
- lj3 9y agoThere's a local company where I am that still runs an AS/400. They're hiring a junior dev with 1 year experience in both AS/400 and RPG. Would you recommend taking the job? I imagine it's pretty good job security. On the other hand, you have to program in RPG and Basic all day.