Let me see if I can sum up the conversation:

There is this high and mighty language call C++ to which all other languages must strive to emulate, and, any other language that does not handle strings the exact same way as C (and variants) are sub-standard.

And, to prove the point, the fact that IBM added some new instructions to better handle null terminated strings means that IBM realized that null terminated strings are the only real way to handle strings and they were fixing a major defect.

No consideration to the fact that just maybe IBM added the new instructions because some young language was unable to adapt to any of the existing and time-proven methods of handling strings?

*Major light-bulb turning on*
It sounds like we have been spending too much time trying to talk logic with a bunch of (apparent) Millennials. And everybody knows that such is impossible.

Tony Thigpen

Paul Raulerson wrote on 02/08/2018 09:03 PM:
Sent from my iPad

On Feb 8, 2018, at 7:31 PM, Robin Vowels <robi...@dodo.com.au> wrote:

From: "Paul Raulerson" <paul.rauler...@me.com>
Sent: Friday, February 09, 2018 9:46 AM


Because they don’t have any special knowledge of strings,

The only "special knowledge" of strings that is required is that
a string is composed of bytes.

Seriously?  Just haven’t to disagree there. From your point of view integers 
and character data and strings and floating point values are the same thing, 
right?

Because you can move character them all the same way?


only untyped data. And the lengths of the data they operate on
is fixed and defined at compile time, not at run time.

Whether the length of a string is known at compile time or at run time
is irrelevant.

The data is a string.  And the instruction(s) that operate on them are
string instructions.


Nope, but you are as welcome to your opinion as I am to mine.  :)

Question - why do you think IBM added string specific instructions if MVC is 
all one ever really needs?


How about taking as a definition of a string any text that SuperC will search 
for? Or a text string in ISP?

Obviously, what a string is and how it is defined varies from language to 
language.  But usually they are not defined as binary data. Unicode excepted.

Just by the way, a NULL as a string terminator seems to make sense.

And if the string _contains_ null characters?

Then it isn’t a string - unless of course, the null marks the end of the string.




MVST (Move String), CLST (Compare String), SRST (Search String)
are all instructs and all work with null terminated strings.
Translate Extended is needed to work with Unicode without loosing one’s mind…


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


Reply via email to