That's cool, the is/are and pluralization. I never bothered -- I have always 
gone with (s) as in "You have %d dog(s)"

Yes, I really upped my error message game when I went from assembler to C++. 
Yes, you can do anything in assembler, but unless you have or devote time to 
developing macros such as you describe, you tend to end up with less 
user-friendly messages. With C/C++ there is no excuse.

On the other hand, as a guy who has been responsible for product management and 
a support desk, I used to run around the office yelling that our next product 
was only going to have one error message "AN ERROR OCCURRED" after yet another 
exchange like this:

Tech: XYZ support, may I help you?
Customer: Yes, XYZ blew up yesterday.
Tech: Our apologies. What was the error message?
Customer: Something about an error occurred.
Tech: What was the exact message number? We could use that to troubleshoot the 
issue.
Customer: I don't know. We already deleted the SYSOUT.

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Tom Brennan
Sent: Wednesday, June 10, 2020 4:33 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: [External] Re: "Everyone wants to retire mainframes"

Things like numeric conversion and scooting text around are difficult in 
assembler, so I would tend to put that off until later [1].  Then one 
day I coded a macro and underlying subroutine so I could do something 
like this:

#PRINTF SYSPRINT,'DFS0929I BLDL ON DDNAME %s FAILED with RC=%d FOR 
MEMBER %s',(DDNAME,(R15),MEMBER)

... and suddenly I was far more likely to include the extra details with 
the initial coding.

I just looked at some doc for that old code and found this section, so I 
guess I was having some fun with various options to help display what I 
assume is correct English:

.*  PLURALIZER EXAMPLE (options P and A):
.*
.*      #SPRINTF OUTBUF,'You have %pd dogs',NUMDOGS
.*
.*           produces:  You have 1 dog
.*                      You have 2 dogs
.*
.*      #SPRINTF OUTBUF,'There %ad dogs',NUMDOGS
.*
.*           produces:  There is 1 dog
.*                      There are 2 dogs

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to