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

Reply via email to