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


  • Subject: Re: Load CL variables from SQL example
  • From: Buck Calabro <kc2hiz@xxxxxxxxx>
  • Date: Tue, 20 Aug 2019 14:36:55 -0400
  • Autocrypt: addr=kc2hiz@xxxxxxxxx; keydata= mQGiBEcbaT4RBADqmM9OgXil65pjrxclJpxuAF6vraI3kkmJbEHb5ElL7EquHE3QDuFqFgIB 4NZLHDbVAh0AD5exAX+r+xg//UvtBc2k34HROnCpWTMnIOaSVhhVjpYEbZGLz6wfrRpu4Qyn 45iaKT4F0qcHo+0LrGQPef3xrFkUhxURgzY5zgo6+wCg/XjYJ155witPWB2CbNf6RAm9QT0D /jSp6YhvE3xPE12aBuRYM678JTbaQfuYv4HUfug1Wz/0zH5btfEihWVN4wbKaoQ/H/29v2TP /Lyh8XTVd3Z0rz4iaSD5fGicn81WPANBeIepLB8vpfEik6UhHpN1DJkz6Ryw2mgx8p53LhHV Ck4Jt0HP2TAl3f7QTXGFOiFzJwEqBACsHk/gFpKAHdv7n4vJoHqp0RNgOOyhnTThlulPilt6 tAaSe10FOrrugBuLMn7wXBANQ1ApmIb5yNjhYqPREj65OVv2MUbw8H2HnQs//Z6aodyR/kzU 2q2G9A/YFI1LL0m/gvaVbEj/wE0ybBgFkrcoEFeStkqS5HzLEFGUDFXhD7QfQnVjayBDYWxh YnJvIDxrYzJoaXpAZ21haWwuY29tPoiFBBMRAgBFAhsDBgsJCAcDAgQVAggDBBYCAwECHgEC F4AFAkcbdMokGGh0dHA6Ly9rZXlzZXJ2ZXIudmVyaWRpcy5jb206MTEzNzEvAAoJEN7KcclH umuRfngAoNXU6AXqyTR8FRuoXKBGS4k7bPUEAJ912WKSkjpCt0axjrq6j22e5XgWzbkCDQRH G2k+EAgAnLXJ9hOqedgsIYM3LuomBBNN+7WTFSVaJ3Rqz8XVZtJvLL0bIRAvpVK9L9rYXlCR cPAm0YNK6H2DR7sQxWlxEH4mWB+jTCTALpcVq+Kpfbw5qDdn+9DVMS7tBOchtTlPSGgdKgn7 sTObra8cHtX/ddTB6OLzHeTXr4PZbUwVeQdIStdwMmozKBQvgjXWKi1GiuYbwYkCM/zJEUCs J36BIE4li9xohJ5O4iKC20YVckMJfZLbn1a2gVgn6Re8C5ezNewT0qM8ZDCUNENWAxsU/c9J UCFQ2QcMU+25b84D5yPxnEKna5U9Fz2JjRjWy5ZKZx2+WhZj0r2Tw6/kGb28AwADBgf/WBsn JSMHxyVfg+LKLHpdANwa9jdrKOt2WjJbWOiJ9l7SmqD0oi3c22FFxRXKsFfjCikLk9wbLZKH SqqnOePvMMHqNcqQTSv7+ARjxnBH4g6dhqg+zmebKpt8zV2awQzYSSm4YY6IqzkWmPNAN7BU zUtSAfL4UU2PljTnT9m443aVCTXMne5l90HQv/gdJ121owg5KuGE6LodTpoR4hn9nbdKWtfY pDNoykvR+GN5y335yF2Zp/j6QgdxWezjou5Y3/6PUZLEsJagWe9hAcKb1eiO2bmg+1bFYu0T g5Mvb27nqfFeHHFysC7a7sXtxp/pqNLNDcK6j/7Th6vF7/n98YhJBBgRAgAJBQJHG2k+AhsM AAoJEN7KcclHumuR9SgAnRuJWHon4GP58xbqCiFR/jSUfvRgAJ47KZ1UNoXgdftoePnbrZu6 W+poEw==
  • List-archive: <https://archive.midrange.com/midrange-l/>
  • List-help: <mailto:midrange-l-request@lists.midrange.com?subject=help>
  • List-id: Midrange Systems Technical Discussion <midrange-l.lists.midrange.com>
  • List-post: <mailto:midrange-l@lists.midrange.com>
  • List-subscribe: <https://lists.midrange.com/mailman/listinfo/midrange-l>, <mailto:midrange-l-request@lists.midrange.com?subject=subscribe>
  • List-unsubscribe: <https://lists.midrange.com/mailman/options/midrange-l>, <mailto:midrange-l-request@lists.midrange.com?subject=unsubscribe>

On 8/20/2019 1:39 PM, John Yeung wrote:

When someone tells you your Python code isn't Pythonic, they are
telling you that what you are trying to accomplish in Python can be
done in a more elegant way, or a way which is closer to what the
language design encourages, or a way which has come to be the
preferred way by Python experts who have the benefit of experience.

I do hear that message, but first I hear 'that looks funny'. I don't
view that as a harsh criticism. 'Funny' might be the mildest word
starting with 'fu' that's been addressed to my code :-)

Are you then saying that if I am trying to accomplish something on the
IBM i (such as building a Web application), that the more elegant way,
the way that IBM i is designed to support, and the way that experts
have coalesced around, is to do everything (or as much as possible)
with CALL/PARM? Because otherwise it "looks funny"? Imagine the giant
pile of funny-looking that is a JavaScript application built on
Node.js, running on the i!

I'm not sure I quite managed to say that everything ought to be done
with CALL/PARM, but it's clear I could have done better.

Your comparison is tantamount to saying "anything that isn't
database-oriented business logic on the back end and 5250 green screen
on the front end looks funny". Or, if not *quite* that drastic, then
"anything that isn't written in CL, RPG, COBOL, and maybe some C,
looks funny".

I tried reading my response again, and I see what you mean. I should
have realised that not every individual post carries the context, the
history, that I have inside my own head, and I should have clarified the
context. I thank you for your gentle reminder.

The overarching context of my remarks on interoperability is this: I
have a large, functional, vital body of existing RPG and CL code that I
would like to extend by grafting on functions from the open source
world, PASE, and yes, my old friend Rexx.

Rexx (like Python) extends my RPG/CL, not ever the other way round.

'Looks funny' isn't to put down unstructured streams (in lieu of
CALL/PARM), but to note that it's not a natural (Pythonic?) way to view
program interoperability on this platform. Which is why I presented
actual working examples of how to do it. I'm afraid my word choices
weren't the best. I was hoping for:
a) CALL/PARM doesn't work with Rexx
b) Unstructured streams don't look like CALL/PARM
c) Here is an example of unstructured streams that anyone can try

Always a pleasure exploring programming with you John!


As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.