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