You omitted C++, which has std:string which does know how long strings are. C++11 is a game changer and makes C++ way more usable. Sadly, C++11 is still not quite fully available AFAIK for XLC++.
Kirk Wolf Dovetailed Technologies http:// <http://dovetail.com>coztoolkit.com On Tue, Oct 3, 2023, at 8:22 AM, Eric D Rossman wrote: > In the very first message with this new subject line, Clem Clarke said "We > know that C searches for a byte with a binary zero to find how long a string > is." which is what I was responding to. > > PL/X is good for many things. C is good for many things. So are Java, and > Python and Go and Rust, etc. I'm fluent in many languages and none of them is > right for every use. Heck, even REXX is great for quick API testing. > > PL/X and C (and arguably assembler) are not the best at higher level > interfaces mostly because they were not designed for that, but they excel at > OS-level interfaces because they force the developer to think more concretely > (in my experience). Java and Python, on the other hand, were clearly designed > with a more abstract approach which leads to better UI. > > To my original point, even if IBM had released it many years ago, I don't > know if PL/X would be dominating. > > Eric Rossman > > -----Original Message----- > From: IBM Mainframe Discussion List <[email protected]> On Behalf Of > Peter Relson > Sent: Tuesday, October 3, 2023 8:12 AM > To: [email protected] > Subject: [EXTERNAL] Re: PL/X Open Source and PL/I - Helping to save the world > and cut CPU Cycles and electricity > > <snip> > PL/X, on the average, is not really better than C in terms of what you > describe except when the string's length is known in advance (which is hard > or impossible in many circumstances </snip> > > I didn't see stated in any post on this topic the explicit mention of > zero-delimited strings. That is what the discussion seems to be talking > about. Not all "character areas" are zero-delimited. PL/X has no support for > a zero-delimited string. When z/OS interfaces are used within C, there are > rarely (if ever) zero-delimited strings. A C program could/would use MEMCPY > to copy a string for which the length is known. And there are analogs of that > for "compare". That makes it a less natural language construct within C than > a zero-delimited string. > > PL/X does have the concept of a variable-length string (with the length being > in a separate variable, or in a preceding halfword). > > Manipulation of a variable-length string is going to be very different than > manipulation of a zero-delimited string. > > Peter Relson > z/OS Core Technology Design > > > ---------------------------------------------------------------------- > 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
