• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Bear Bibeault
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • Junilu Lacar
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Jj Roberts
  • Tim Holloway
  • Piet Souris
Bartenders:
  • Himai Minh
  • Carey Brown
  • salvin francis

Joe Pluta...

 
Ranch Hand
Posts: 403
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Just thought I'd say hi.
My first job out of university (6 or so years ago) was working with RPG/CL etc (nasty stuff ) on the AS/400 (iseries now I guess). Anyway, I used to read your articles in "midrange computing" magazine, some pretty cool stuff, spoolfile-to-pdf etc. When I was with that company, it was pretty much a 1 developer (me), 1 contractor shop, so having resources available such as those magazine articles were invaluable.
Also, the company I worked for used that software from Nextgen (sp?) to do a y2k conversion on our BPCS software (I may be mistaken, but I thought you were part of that group).
I made the switch back to unix/linux/java environments about 4 years ago, kind of just missed out before java started getting big on the iseries and IBM run away with it, which is kind of a shame, because I quite liked OS/400, just didn't like the programming languages
Anyway, just wanted to say cool to see you around the ranch, guys like you have a wealth of info to offer for those who want to listen.
Cheers.
 
author
Posts: 9000
19
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Joe -
Are you an RPG guy?! Wow! I spent 9 years moving from s/32, to s/34. to s/38, to s/36, to as/400...
Let's see, if I use indicators 60 and 61 together...
LISTLIBR ...
 
Ranch Hand
Posts: 1376
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
James Swan: Just thought I'd say hi.
Hi, James!

My first job out of university (6 or so years ago) was working with RPG/CL etc (nasty stuff ) on the AS/400 (iseries now I guess). Anyway, I used to read your articles in "midrange computing" magazine, some pretty cool stuff, spoolfile-to-pdf etc. When I was with that company, it was pretty much a 1 developer (me), 1 contractor shop, so having resources available such as those magazine articles were invaluable.
Interestingly enough, Midrange Computing went belly up during the dot-com meltdown, and a couple of years ago arose from their own ashes as MCPressOnline. I write a couple of articles a month over there, including a monthly column called Weaving WebSphere, which focuses primarily on the iSeries side of WebSphere development (which is actually pretty cool).

Also, the company I worked for used that software from Nextgen (sp?) to do a y2k conversion on our BPCS software (I may be mistaken, but I thought you were part of that group).
Yup, Focus/2000 was my baby. A pattern-recognizing RPG conversion utility; it was actually pretty darned sophisticated. It kept track of any field that touched any other field that touched a date field, and then looked for suspicious instructions using those fields. It then replaced the code using a template-generated snippet. Pretty outrageous. But I've been doing that stuff all my life, which is why I was able to put together PSC/400, which takes those green screen applications and puts a JSP front end on them.

I made the switch back to unix/linux/java environments about 4 years ago, kind of just missed out before java started getting big on the iseries and IBM run away with it, which is kind of a shame, because I quite liked OS/400, just didn't like the programming languages
Now that's interesting. I use both every day. I find Java to be perfect for UI work, but for me nothing beats the power of RPG for database access. And with the new releases of RPG, you can create external procedures that have many characteristics of Java methods. It's not exactly OO, but it makes for some really powerful programming. Add all the built-in APIs for stream file access and sockets and all that and it's a pretty powerful programming environment. For example, I wrote a basic XML parser with callbacks in about 100 lines of code. But primarily, my architecture is servlets invoking RPG business logic to fill beans to send to JSPs. Classic JSP Model II stuff.

Anyway, just wanted to say cool to see you around the ranch, guys like you have a wealth of info to offer for those who want to listen.
Ah, Map would disagree with you .
But thanks!
Joe
 
Joe Pluta
Ranch Hand
Posts: 1376
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bert Bates: Joe -
Are you an RPG guy?! Wow! I spent 9 years moving from s/32, to s/34. to s/38, to s/36, to as/400...
Let's see, if I use indicators 60 and 61 together...
LISTLIBR ...

(LOL!)
Bert, it's not your father's RPG anymore. We rarely use indicators. For example, here's a little token parsing routine. Nothing fancy. It returns the next token based on up to five delimiters (which could easily be expanded by making xiDelim larger).

This defines the procedure interface ("pi"). Not only can the procedure return a value (which it does not in this case) but the parameters can all be bidirectional as well. In this case, the last three parameters can be changed. The "varying" option identifies whether character fields are fixed length or varying; very nice when transitioning between databases and string manipulation functions.

Automatic variables. You can also define statics, which hold their value between calls, and you can specify initializers.


Here's the code. Don't ask about the semicolons at the end, I don't want to discuss it. The RPG compiler team insisted they were required. We in the field disagreed, but we lost.


And the end of the procedure.

These procedures can be located within a main program, or in a separately compiled module. Modules can be bound in at compile time, or can be joined into service programs and bound at runtime (like DLLs).
Invoking a procedure is as easy as this:
NextToken(xwBuffer:' />':xwStart:xwToken:xwDelim);
This will find the next occurence of either blank, slash or greater-than in the string starting at position xwStart. The intervening characters will go into xwToken and xwDelim will contain the actual delimiter.
There are weaknesses, such as lack of a namespace, but all in all it's nothing like what you may remember. And plus, all the great file handling capabilities still exist, making it a really powerful language for business functions.
And the final kicker: on the iSeries you can call RPG procedures and programs from Java and instantiate Java objects and call methods from RPG.
Joe
 
Leverager of our synergies
Posts: 10065
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ah, Map would disagree with you

I almost cried when I saw this post first time. It's so damn cool when somebody has nice words for you.
but it makes for some really powerful programming.
Joe, what do you mean by "powerful programming"? I often meet this expression in texts, but not sure if authors always mean the same, or different things, or this is just a metaphor. How do you define "powerful programming" -- as lines/per effect ratio?
 
Mapraputa Is
Leverager of our synergies
Posts: 10065
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And by the way, Joe, where is "practical moral absolutes" thread you promised us? Chickened out? Actually, that's wise, you probably already figured out relativist crowd's intellectual superiority, so there is no hope, resistance is futile...
[ September 23, 2003: Message edited by: Mapraputa Is ]
 
James Swan
Ranch Hand
Posts: 403
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Joe,
yeah unfortunately I left the iseries environment just as all these new features were being added to RPG etc, the ILE and such. I did get to play around with making things into modules, procedure calls (I kind of forget the correct terminology ). Also I got to play a bit with an early version of Websphere, but it wasn't considered any further as the company I was with was heavily into Net.data and didn't want to invest time effort to make the switch.
I guess the kicker for me (we have all seen bad design/code), but when I came across a program named "ORD500" in the BPCS suite that was 30,000 lines of "main code" and supposedly written by a professional software company, that damned thing took over an hour to compile and was completely unreadable.


Now that's interesting. I use both every day. I find Java to be perfect for UI work, but for me nothing beats the power of RPG for database access. And with the new releases of RPG, you can create external procedures that have many characteristics of Java methods. It's not exactly OO, but it makes for some really powerful programming. Add all the built-in APIs for stream file access and sockets and all that and it's a pretty powerful programming environment. For example, I wrote a basic XML parser with callbacks in about 100 lines of code. But primarily, my architecture is servlets invoking RPG business logic to fill beans to send to JSPs. Classic JSP Model II stuff.


Sounds cool, I'm all for keeping existing code/business logic in it's appropriate place, and the "right tool for the right job", there's plenty of awesome RPG code out there, which certainly doesn't need to be rewritten into java etc.
 
James Swan
Ranch Hand
Posts: 403
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


Ah, Map would disagree with you


The last time I even remotely considered engaging Map on a thread, it was brought up that she has "issues" with people named James (and I don't like to be referred to as Jim, no offence Jim), plus I'm more of a lurker in MD anyways
Just hassling you Map
 
Mapraputa Is
Leverager of our synergies
Posts: 10065
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In case there is some misunderstanding, I wasn't serious about "chickened out"! Just tried to provoke Joe and thus add some fuel to further discussions, which I greatly enjoy.
Hey, Joe, you cannot work all the time, you need some time off to discuss what *really* matters, i.e. moral absolutes.
P.S. Now I have some ideas why there aren't too many Jameses around MD...
[ September 23, 2003: Message edited by: Mapraputa Is ]
 
Joe Pluta
Ranch Hand
Posts: 1376
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Just a quick post... I'm way over my head in things to do this week, so I'm not doing alot of MD posting (or posting in general). I'll be back, though, Map. And I have thoughts on exactly where I want to go with the practical thread - I'm just trying to figure out how to make it as inflammatory as possible.
Joe
 
Legend has it that if you rub the right tiny ad, a genie comes out.
Thread Boost feature
https://coderanch.com/t/674455/Thread-Boost-feature
reply
    Bookmark Topic Watch Topic
  • New Topic