× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Barbara Morris wrote:
On 7/27/2010 6:25 PM, Joe Pluta wrote:
>> (quoting an earlier append from himself) ... what
>> exactly is the difference between a KLIST and a PLIST? Not a lot. In
>> fact, I'd prefer teaching people to use data structures to pass data
>> between programs; they're much more flexible.

If your target audience is already using FREE then the whole "RPG
programmers are too dumb" argument is kind of moot. And FREE is the only
place where RPG-OA shows any serious syntactical benefit. Other than
that, a data structure is the superior solution.

I don't understand that point, Joe. Open Access isn't related to syntax at all. Whatever way an RPG programmer is comfortable coding I/O statements will work with Open Access.

Maybe there's not much difference between a KLIST and PLIST in concept. But there's a pretty big difference between a KLIST for a CHAIN and the PLIST to call an API to do the CHAIN. The information in the KLIST is only a subset of the PLIST. At a minimum, other PARMs are the record name, the buffer, the error and found information.

Why is it better for RPG programmers to learn how to set up a data structure to call a particular API or set of APIs to access some new technology? Why isn't it ok to use I/O syntax to make the call, and to use syntax like %FOUND or checking the NR indicator to check the result of the call? I don't think that using that mechanism to call the API means that the RPG programmer is lazy or dumb - it just means that they want to get on with their area of expertise which is programming for their business.
Whoa. I never once said programmers are either lazy or dumb. Exactly the opposite. I was remarking upon the gist of the comments like Scott's: "And *they* (the majority who still thinks RPG II was the end-all-be-all of programming languages) doesn't have to change or learn anything new." My point is that RPG programmers are *not* dumb, and in my opinion telling them to use an approach like OAR to replace generic inter-program communication is the wrong approach, since that doesn't map to any other language. On the other hand, learning a generic messaging technique (whether the message is a data structure or an EGL record or a Java object) will allow RPG programmers to enter the larger world of multi-platform architecture.

Your point about the PLIST for the OAR handler actually reinforces my argument: that OAR makes sense where the following information makes sense: record name, buffer, error and found information. By definition this really only occurs when you're emulating file I/O, and as I stated this makes sense when you're talking about accessing file-like data. You can certainly shoehorn a lot of things into that paradigm -- well, the record name can identify the transaction type, and then we can use a different data structure over the buffer -- but in the end it's not materially different from a data structure.

And from a more general architecture OAR might actually make things more complicated, because nobody else can call the handler without calling an RPG bridge program which will use a file specification to call the handler - and then we still have to pass the data to the RPG bridge program! (Well, I suppose you could emulate the call that the OAR interface does, but that would be way more work than a simple data structure call.)

But again, I really don't want to argue the nuts and bolts of the design. If it works for some people, great. What I found troubling was the argument that RPG programmers are too dumb to use data structures and program calls, and that OAR will bring them into the new world. It's just not true. Replacing a call to a program with a file I/O operation isn't going to teach someone how to separate their business logic. But teaching them how to communicate between layers of an application using messages will allow them to use the tools that make the most sense, whether it's data queues, web services, traditional program calls or OAR.

Joe

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.