Then what did you mean by "of a certain vintage"?

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of 
David Crayford [[email protected]]
Sent: Thursday, February 27, 2020 11:31 AM
To: [email protected]
Subject: Re: Rexx parse using period as placeholder

I never said "old programmers". That would be self defeating as I "am"
an old programmer. My point was that experienced z/OS guys don't want to
learn new stuff. And I stand by that because it's true!


On 2020-02-28 12:24 AM, Tony Thigpen wrote:You
> The late father-in-law to my wife's sister worked for NASA in
> Huntsville on the Saturn 5 rocket motors. Joe used to tell a lot of
> stories about what working on the moon program in the '60s was like.
>
> When Challenger blew up, he was brought out of retirement to be on a
> panel discussing replacing the Shuttle SRBs with Saturn 5 F1 engines.
>
> The panel found that the current (at that time) experts in rocket
> engines had taken such a divergent path in their training and
> experience that it would take a ground-up retraining to create a team
> that could actually reactivate the F1 and perform the R&D needed to
> support it's use. And, that it would be easier to train new specialist
> than it would to retrain existing specialist. And, finally, that NASA
> did not have the time it would take (many years). I.e., by the time
> the support infrastructure was built, it would no longer be needed.
>
> This also can be
>
> I am great with what I do. I continue to learn good things in this
> field, but I have found that some things just are not comparable with
> my existing, and proven, methods of thinking. The biggest one, Rexx
> Pipelines, I have 'made it work' several times, but it just does not
> mesh with my internal logic paths. And, I spent a lot of time on it
> 'back when'. I also tried to learn RegEx, I did not get very far
> before I realized that it just was not for me. My brain is just not
> wired for it.
>
> So, before someone writes "old programmers don't want to learn new
> things", they need to remember that those "old programmers" were/are
> good because they have the mental pathways needed for what they did,
> and still do. And, that the fact that they don't have the mental
> pathways needed for some of the new 'strange' stuff being created by
> the younger programmers does mean that they are old and worn out. It
> just means that the younger programmers are taking a different path.
>
> Tony Thigpen
>
> Tony Thigpen wrote on 2/27/20 10:46 AM:
>> Now, that is a bunch of BS.
>>
>> Old timers do want to learn new things, but...
>>
>> Our minds have been trained over many years to use logic paths that
>> are built on 'logic'. Some of the newer tools being used conflict
>> with those ingrained thought processes because they are designed
>> contrary to how we look at 'logic'.
>>
>> Regular Expressions are more 'magic' than 'logic'.   :-)
>>
>> My boss a favorite expression when things conflict with previous
>> training:
>>
>> "My just hurts my brain!"
>>
>> I can say positively that I tried to understand Regular Expressions
>> and all it did was make my brain hurt.
>>
>> Tony Thigpen
>>
>> David Crayford wrote on 2/27/20 9:59 AM:
>>> You are being pedantic, but that's ok.
>>>
>>> I have found (from my co-workers especially) that most mainframe
>>> people of a certain vintage are not willing to learn new stuff.
>>> So regular expressions are off the menu when they can write logic to
>>> do the same thing using their language of choice.
>>> Of course, that's totally fine. Old dogs new tricks! RE does take
>>> some learning but it's a case of "I can't be bothered".
>>>
>>> On 2020-02-27 10:42 PM, Seymour J Metz wrote:
>>>>> but I don't expect anybody on this forum to bother downloading it
>>>>> because writing logic is preferable to learning something new ;)
>>>>   1. This is a listserv mailing list, not a forum
>>>>   2. I am far from the only reader of this list to enjoy new things,
>>>>       and in particular I am far from being the only one to value
>>>>       the expressive power of regexen.
>>>>   3. Don't confuse lack of familiarity with prejudice against;
>>>>       why not give some examples and see whether anybody is
>>>> interested?
>>>>
>>>>
>>>> --
>>>> Shmuel (Seymour J.) Metz
>>>> http://mason.gmu.edu/~smetz3
>>>>
>>>> ________________________________________
>>>> From: IBM Mainframe Discussion List [[email protected]] on
>>>> behalf of David Crayford [[email protected]]
>>>> Sent: Thursday, February 27, 2020 9:30 AM
>>>> To: [email protected]
>>>> Subject: Re: Rexx parse using period as placeholder
>>>>
>>>> I consider simple to be a single line regular expression which can
>>>> handle the parsing grammar in one hit. Now, that may not to simple to
>>>> most mainframe old timers
>>>> but it's a walk in the park for young guys.
>>>>
>>>> Like I said I have a RE package on github that can do this stuff in
>>>> REXX
>>>> but I don't expect anybody on this forum to bother
>>>> downloading it because writing logic is preferable to learning
>>>> something
>>>> new ;)
>>>>
>>>> On 2020-02-27 9:58 PM, scott Ford wrote:
>>>>> Hey David,
>>>>>
>>>>> What do you mean by simple ? Less stmts ?
>>>>>
>>>>> On Thu, Feb 27, 2020 at 8:50 AM Seymour J Metz <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> As an alternative to regexen, there is a package called PROC that
>>>>>> does the
>>>>>> subset of IKJPARSE needed for CLIST style parameters. There may
>>>>>> be other
>>>>>> such tools out there; if I knew of a decent search engine ...
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Shmuel (Seymour J.) Metz
>>>>>> http://mason.gmu.edu/~smetz3
>>>>>>
>>>>>> ________________________________________
>>>>>> From: IBM Mainframe Discussion List [[email protected]] on
>>>>>> behalf
>>>>>> of David Crayford [[email protected]]
>>>>>> Sent: Thursday, February 27, 2020 6:07 AM
>>>>>> To: [email protected]
>>>>>> Subject: Re: Rexx parse using period as placeholder
>>>>>>
>>>>>> OK. Let me change the requirements again ;) How about also handling
>>>>>> single quotes for a fully qualified data set.
>>>>>>
>>>>>> Simple to do with a regex. Not so simple using REXX.
>>>>>>
>>>>>> Syntax:
>>>>>>
>>>>>>         INDSN(DSNAME(MEMBER))
>>>>>>         INDSN(DSNAME)
>>>>>>         INDSN('HLQ.DSNAME(MEMBER)')
>>>>>>         INDSN('HLQ.DSNAME')
>>>>>>
>>>>>>
>>>>>> On 2020-02-27 12:28 AM, Seymour J Metz wrote:
>>>>>>>> Great! How will that work if I don't have a member name?
>>>>>>> The code will tell me not to believe you when you write
>>>>>>>
>>>>>>> "Syntax:
>>>>>>>
>>>>>>>         INDSN(DSNAM(MEMBER))"
>>>>>>>
>>>>>>> Writing the code is the easy part; the hard part is getting the
>>>>>>> actual
>>>>>> requirements.
>>>>>>> --
>>>>>>> Shmuel (Seymour J.) Metz
>>>>>>> http://mason.gmu.edu/~smetz3
>>>>>>>
>>>>>>> ________________________________________
>>>>>>> From: IBM Mainframe Discussion List [[email protected]] on
>>>>>> behalf of David Crayford [[email protected]]
>>>>>>> Sent: Wednesday, February 26, 2020 7:18 AM
>>>>>>> To: [email protected]
>>>>>>> Subject: Re: Rexx parse using period as placeholder
>>>>>>>
>>>>>>> Great! How will that work if I don't have a member name?
>>>>>>>
>>>>>>> INDSN(DSNAME)
>>>>>>>
>>>>>>>
>>>>>>> On 2020-02-26 8:11 PM, Seymour J Metz wrote:
>>>>>>>> When I'm testing a template I usually use variable names so
>>>>>>>> it's easier
>>>>>> to follow what's happening; feel free to change them to periods.
>>>>>>>> trace i;parse var parm  kw '(' dsn '(' mem ')' ')'
>>>>>>>>         95 *-*           parse var parm  kw '(' dsn '(' mem ')'
>>>>>>>> ')'
>>>>>>>>            >V> "INDSN(DSNAME(MEMBER))"
>>>>>>>>            >L>             "("
>>>>>>>>            >>>             "("
>>>>>>>>            >>>             "INDSN"
>>>>>>>>            >L>             "("
>>>>>>>>            >>>             "("
>>>>>>>>            >>>             "DSNAME"
>>>>>>>>            >L>             ")"
>>>>>>>>            >>>             ")"
>>>>>>>>            >>>             "MEMBER"
>>>>>>>>            >L>             ")"
>>>>>>>>            >>>             ")"
>>>>>>>>         96 *-*           trace 'Off'                    /*
>>>>>>>> Don't trace
>>>>>> rexxtry.
>>>>>>>>      */
>>>>>>>> ................................................ REXXTRY.CMD on
>>>>>>>> OS/2
>>>>>>>> say dsn mem
>>>>>>>> DSNAME MEMBER
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Shmuel (Seymour J.) Metz
>>>>>>>> http://mason.gmu.edu/~smetz3
>>>>>>>>
>>>>>>>> ________________________________________
>>>>>>>> From: IBM Mainframe Discussion List [[email protected]] on
>>>>>> behalf of David Crayford [[email protected]]
>>>>>>>> Sent: Wednesday, February 26, 2020 7:01 AM
>>>>>>>> To: [email protected]
>>>>>>>> Subject: Re: Rexx parse using period as placeholder
>>>>>>>>
>>>>>>>> I've got a REXX parse puzzle to solve and I would like
>>>>>>>> suggestions on
>>>>>>>> how to solve it.
>>>>>>>>
>>>>>>>> Syntax:
>>>>>>>>
>>>>>>>>          INDSN(DSNAM(MEMBER))
>>>>>>>>
>>>>>>>>          The code is simple. It uses the parse instruction with a
>>>>>> template.
>>>>>>>>             parse var parm . '(' val ')'
>>>>>>>>
>>>>>>>>
>>>>>>>>            *-* parm = 'INDSN(DSNAME(MEMBER))'
>>>>>>>>            >L>   "INDSN(DSNAME(MEMBER))"
>>>>>>>>            *-* parse var parm . '(' val ')'
>>>>>>>>            >.>   "INDSN"
>>>>>>>>            >>>   "DSNAME(MEMBER"
>>>>>>>>
>>>>>>>> Unfortunately the value is truncated because "parse" has no way to
>>>>>>>> anchor to the end of the string.
>>>>>>>>
>>>>>>>> Using a regex this is very simple "\((.*)\)$"
>>>>>>>>
>>>>>>>> Most modern languages have PEG libraries (parsing expression
>>>>>>>> grammers)
>>>>>>>> which are much more powerful that regex. They can be called
>>>>>>>> recursively
>>>>>>>> and used to implement real parsers.
>>>>>>>>
>>>>>>>> Even a simple scripting like Lua (which runs on z/OS) has a
>>>>>>>> library
>>>>>>>> which can be used to implement a C99 parser in 500 lines of code
>>>>>>>>
>>>>>> https://secure-web.cisco.com/1-qpVukWY5CQ__uk-jb69c-vU9oQiHr0QYGSPlCeoZgyD2_0Vr7rZvCFOZMHJg7zk3VOksBvTUY8MLW1evN4UV9cNBh-pn9n-5F9_X82JabsK-ab5tZgKrsgKaJaEaxaxX5DQT-npVqFY2v_bsph_x8TPP0FtlXCodigNSekdfPE7jkgJNBmS59AWuMpG8X-Uk87HGTSjWom-rjWZ2cck7YmxwA8YD0v-eN-AL17ABCPz1J03MFZeG5DTXPPIQZDHjFYyC1zarF945-8oyYAd868yq1R6J7tuZO3LwSG-nXLyxFjuFhxAFLZjb5wzxr9ud0_gAOZpFtSdNUpsdux1AoWvZREOg5L4JMcfEVubG-1nO2eSTtdsuvL3IPGSGD4-HEKFuhCLSVZQb4nT1RtVUgxxwK-lTjuUgN8iE103myJE9v-kJevMwsdsZ3jGRYmT/https%3A%2F%2Fgithub.com%2Ftitan-lang%2Fc-parser%2Fblob%2Fmaster%2Fc99.lua
>>>>>>
>>>>>> .
>>>>>>>> On 2020-02-26 11:41 AM, Paul Gilmartin wrote:
>>>>>>>>> On 2020-02-24, at 13:43:52, Ambros, Thomas wrote:
>>>>>>>>>> A trivial item, but this surprised me.
>>>>>>>>>>
>>>>>>>>>> I wanted to parse out the string 'word3' using the period as
>>>>>>>>>> a place
>>>>>> holder.  The input could have a blank delimited string containing an
>>>>>> embedded period before the one I wanted to parse out. The Parse
>>>>>> Var as
>>>>>> coded didn't work.  ...
>>>>>>>>>> myVar = 'word1 word2 9.12 word3.ext'
>>>>>>>>>> Parse Var myVar . . . myVal '.' .
>>>>>>>>>>          ...
>>>>>>>>>> Say 'myVal=' myVal
>>>>>>>>>>          ...
>>>>>>>>> The simple answer to the elliptically stated problem is:
>>>>>>>>>          MyVal = 'word3'
>>>>>>>>>
>>>>>>>>> A more general solution, using regex is:
>>>>>>>>> 556 $ echo 'word1 word2 9.12 word3.ext' | sed 's/.*
>>>>>>>>> \([^.]*\).*/\1/'
>>>>>>>>> word3
>>>>>>>>> 557 $
>>>>>>>>> This finds the last substring in the subject preceded by a space
>>>>>>>>> and followed by a period.
>>>>>>>>>
>>>>>>>>> Full disclosure, for Tony to gloat:
>>>>>>>>> o It's easier to code than to review.
>>>>>>>>> o I got it right on the third try.
>>>>>>>>> o I haven't fuzz tested.
>>>>>>>>>
>>>>>>>>> -- gil
>>>>>>>>>
>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>
>>>>>>>>> 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
>>>>
>>>> ----------------------------------------------------------------------
>>>> 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