On 21/06/2022 9:09 pm, Seymour J Metz wrote:
If all that you want to do is to check for STOP, then it should be trivial to
do it in C++. If you also want to enable and look for MODIFY text, then you
need to use QEDIT. At that point it's easier to do it in HLASM.
The __console2() C/C++ RTL function does everything you could want to do
with console services other than START, which I don't care about
https://www.ibm.com/docs/en/zos/2.1.0?topic=functions-console2-enhanced-console-communication-services.
Maybe Charles will open up his code for inspection and (just for fun) we
can see if it's easier to implement in C++ or Java :)
I've used Assembler H and REXX in an environment where code and design reviews
were mandatory. And, yes, discussions included alternate ways of doing things,
some accepted, some not.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of
David Crayford [[email protected]]
Sent: Monday, June 20, 2022 1:34 PM
To: [email protected]
Subject: Re: Some UNIX file usage questions
I could care less about Python. What is disconcerting is why you would
choose REXX/Assembler when you could write the same thing with less code
and complexity using C++ which you already know. Maybe you're just
having fun and there is nothing wrong with that. There is nobody to
review your code and ask for changes like where I work.
On 21/06/2022 1:31 am, Charles Mills wrote:
I am not the client. I guess the client makes its decisions based on a variety of factors. I have
many skills that are valuable to the client, and I would guess that "best language for the
application in the opinion of a guy on IBMMAIN" (as opposed to "demonstrably adequate
language") is not high on the client's list of factors.
I think you are engaging in "engineer-ism" (there may be a better word?). Python may well be the
best language for the job, for some values of best. Rexx is a perfectly adequate language for the job.
"Integrating a new developer" would be for the client what "implementing a new language
environment" would be for me.
Charles
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf
Of David Crayford
Sent: Monday, June 20, 2022 9:58 AM
To: [email protected]
Subject: Re: Some UNIX file usage questions
I take it you must be the client? I can't fathom any client who would be
stupid enough to allow a vendor to write code in their language of
choice due to their personal skill set. That's technical debt.
On 20/06/2022 11:34 pm, Charles Mills wrote:
Aww David, I respect you more than that reply.
Of course I could learn to write Hello World in Python more quickly than I can
write this sentence. But what I alluded to is that past experience teaches me
that getting from Hello World to a working system on z/OS is many days of agony.
Charles
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf
Of David Crayford
Sent: Sunday, June 19, 2022 9:32 PM
To: [email protected]
Subject: Re: Some UNIX file usage questions
You could have learned Python in the time it took you to write this email.
On 20/06/2022 1:15 am, Charles Mills wrote:
Why not use Python? Good question.
1. I can undoubtedly do it perfectly satisfactorily, and almost certainly more
quickly, in Rexx (because of the learning curve). I would have trouble
justifying billing the client for my Python learning time when there is little
benefit (that I know of -- correct me if I am wrong) for the client who is
paying the bills.
Why not, then, learn Python on my own time? Don't I want to learn Python? Yes I
do, but there are only so many hours in a day, and there are other things I
want to learn more than I do Python. For example, I would rather spend the time
learning to make the Roman-Jewish fried artichokes that are in the current
Cooks Illustrated. Learning Python is just not very high on my bucket list.
It's there, but probably not high enough to ever rise to the top.
2. I know exactly how to execute a Started Task written in Rexx, and I know most of the
gotchas. In my experience, THAT is the problem with the "new tools" on z/OS.
What would I have to do to execute a Started Task written in Python? What are the
gotchas? Heck, what do I have to do to set up any Python environment at all? That is the
time-consuming issue, and it holds about zero personal gratification for me. I could
probably learn the Python language pretty readily, and it would be one more notch in my
belt. Solving the probable gotchas of getting Python to actually do productive work on
z/OS -- not so much.
....
Not for me, and probably not for the "report" (I am flattering the requirement calling it
a report -- maybe call it an "alert") that the client wants. And again, a learning curve
that is difficult to justify.
So I think I will write it in Rexx, with perhaps a little bit of Assembler.
Does your client REALLY want to maintain assembler code? Our company
policy is not to use assembler for new code due to lack of available
skills which will only get worse.
Charles
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf
Of David Crayford
Sent: Saturday, June 18, 2022 11:43 PM
To: [email protected]
Subject: Re: Some UNIX file usage questions
On 19/06/2022 1:33 am, Paul Gilmartin wrote:
On Sat, 18 Jun 2022 09:51:45 -0700, Charles Mills wrote:
...
I picture writing the started task in Rexx, so I would have to write to a DD
name allocated to the UNIX file (either dynamically or with JCL), not with
"native" C fopen(), fwrite(), etc. Does that change any of the answers?
Why? In Rexx you can "address SYASCALL write ..." instead.
Why REXX? Is it a case of knowing the banjo so you play Stairway to
Heaven in the style of Earl Schruggs?
Why not use IBMs z/OS Python? You can then use SQLite instead of a file
which will significantly simplify writing reports. In fact, it would
trivial to serve those
reports as a REST API and put a nice WebUI on top using a simple
template that supports data tables.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN