× 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.



On Tue, Mar 1, 2016 at 10:50 AM, Mark Murphy/STAR BASE Consulting Inc.
<mmurphy@xxxxxxxxxxxxxxx> wrote:
Porting a C or C++ library to ILE C/C++ to be called by RPG would be significantly more performant than Java, and not Goldbergian at all.

I agree it would be more performant than Java, especially if you're
not crossing the boundary between "native" and PASE. Even if you were
relying on PASE, C/C++ should be faster than Java (both on PASE).

I also agree that a native port to ILE C/C++ would be less Goldbergian
to *use* than a PASE port, but the native port would also require
greater effort to create in the first place. It's hard for me to
envision anyone having the required time, expertise, and interest to
do it when the pre-existing options (including RPG wrappers for POI)
are not all that horrible.

As far as Python goes, I do not know much about it other than it cares about proper indenting to know which statements go with which control blocks. Can it be called by a program object?

Depends on what you mean. The iSeriesPython interpreter is a native i
command (*CMD). You call it more or less like you would call the Rexx
interpreter, so in practice the calling program would have to be a
CLP, or the job scheduler, or use QCMDEXC or QCAPCMD. Scripts in
either Python or Rexx are not stand-alone executables, but effectively
an input parameter to the interpreter. You can also pass additional
input parameters, but there is no way to get information out directly
from the call. (The script's only means of returning information is
through writing to a file, data area, user space, spooled file,
socket, etc.)

I haven't used IBM's Python for PASE, but I imagine the parameter
situation is pretty much the same as for iSeriesPython.

Can it call into a program object, or better a service program?

iSeriesPython scripts can call native program objects (*PGM) no
problem, with both input and output parameters. It looks like the guy
who created iSeriesPython intended for you to be able to call service
program procedures as well, but that interface is at least partially
broken and I haven't bothered to test it extensively enough to know if
it's completely broken.

I have no experience with IBM's Python for PASE, but I don't think it
can call native programs directly. It uses XMLSERVICE to do much
(maybe all?) of the interop with the native side.

John Y.

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.