Why String?
-
I think it's an unconscious desire to return to the good old days of BASIC where a variable was identified as containing text characters by using the suffix $. The art of programming has never recovered from the damage done by constructs like, >10 DATA "MY", "TEXT", "DATA" >20 READ A$, B$, C$ >30 LPRINT A$, B$, C$ >50 GOTO 10 >9999 END >RUN Back in the day, A$ was even pronounced, "A-string." :-D
Will Rogers never met me.
Sounds like string theory. :)
-
I was just thinking that it seems a bit odd that "string" is so commonly used by programmers to refer to some text. I would think "text" would be more appropriate. If we are using "string" just because it refers to a string of characters (aka, a sequence of characters), then why not also call numbers "strings" (as they are strings/sequences of digits and some other characters)? Any theories as to why "string" prevailed?
-
Perhaps it is a US thing. I cut my programming teeth on a Vic20 and it was always A-dollar. I've never heard the A-string version in my entire 30 year experience in the industry (not that I would have heard either version in the last 25 of them, of course :D )
-
Thanks, I can't get tied up at the moment.
I would have thought they you people would have COTTONED on to how tiresome this THREAD is becoming. :D
-
I was just thinking that it seems a bit odd that "string" is so commonly used by programmers to refer to some text. I would think "text" would be more appropriate. If we are using "string" just because it refers to a string of characters (aka, a sequence of characters), then why not also call numbers "strings" (as they are strings/sequences of digits and some other characters)? Any theories as to why "string" prevailed?
AspDotNetDev wrote:
I was just thinking that it seems a bit odd that "string" is so commonly used by programmers to refer to some text. I would think "text" would be more appropriate.
you have to take into consideration the fact that
string
refers to a very specific thing, depending on the language:- A sequence of
char
s, terminated in aNULL
(0x00
) - A sequence of
char
s, pre-pended with their length as auint8
(This is how Pascal and .NETBinaryReader
s do it) - A fixed-width space that is assumed to have character data in it (MySQL VARCHAR)
- an N-Length columnar space containing character data (SQLite's TEXT field)
- a String literal, in C* defined as a sequence of characters wrapped in
'"'
. - a Verbatim String in C#, allowing for
'\n'
and other punctuation to be preserved. - A descriptive element attached to an object (Z-Code/Inform)
String, I feel, is used to encompass more of an idea, since "text" is ambiguous (is it a certain length? A certain kind? UTF?
AspDotNetDev wrote:
If we are using "string" just because it refers to a string of characters (aka, a sequence of characters), then why not also call numbers "strings" (as they are strings/sequences of digits and some other characters)?
Because
int
s aren't strings of numbers. Sure, in TCL and a few other languages, things are natively strings, but that counts only for convencience (and in the case of TCL, efficiency). In C* languages (this includes Java, Python, etc),int
andfloat
are stashed as their binary values -- the value 128 isn't stored as "128" -- its as0x80
. If we did store them aschar
s, think of how much memory it would take to store the Uint64 maximum value: 18,446,744,073,709,551,615 (thanks, MSDN!). That's 0xFFFFFFFFFFFFFFFF in hex, a much, much smaller value in-memory.---- "Pinky, are you thinking what im thinking?" "I Dunno brain, how many licks DOES it take to get to the tootsie roll center of a tootsie pop?" "You want me to calculate that? or should we take over the world?" "ooh! OooooOOOooH! lets find out!"
- A sequence of
-
I was just thinking that it seems a bit odd that "string" is so commonly used by programmers to refer to some text. I would think "text" would be more appropriate. If we are using "string" just because it refers to a string of characters (aka, a sequence of characters), then why not also call numbers "strings" (as they are strings/sequences of digits and some other characters)? Any theories as to why "string" prevailed?
A couple theories on StackOverflow[^] The two prevailing ones indicate it's either from typography or mathematics.
-
Perhaps it is a US thing. I cut my programming teeth on a Vic20 and it was always A-dollar. I've never heard the A-string version in my entire 30 year experience in the industry (not that I would have heard either version in the last 25 of them, of course :D )
To add to the old-timers theory, I started programming in 1976 on my job. The first language was an assembler for a minicomputer and then Fortran. After that, I started to college working on my E.E. degree and they forced me to take one semester each of Basic and Fortran (again). By that time I was learning both Pascal and C at work so my exposure to Basic didn't do me too much harm. You can count me as another programmer (still programming for a living) who did not start with the Basic language. I also never heard A$ pronounced A-string until I read this thread. I also never considered Basic to have given birth to the concept of the terminology. I'll see if I can did out some of my old books and find any references to strings that predate Basic.
-
Sounds like string theory. :)
It is, and yet, it isn't. There's a bit of uncertainty. ;)
Will Rogers never met me.
-
hence the ancient Inca saying, "Get Knotted"
MVVM# - See how I did MVVM my way ___________________________________________ Man, you're a god. - walterhevedeich 26/05/2011 .\\axxx (That's an 'M')
-
I would have thought they you people would have COTTONED on to how tiresome this THREAD is becoming. :D
Get knotted
MVVM# - See how I did MVVM my way ___________________________________________ Man, you're a god. - walterhevedeich 26/05/2011 .\\axxx (That's an 'M')
-
Sounds like string theory. :)
No one has anwered the original question
-
Perhaps it is a US thing. I cut my programming teeth on a Vic20 and it was always A-dollar. I've never heard the A-string version in my entire 30 year experience in the industry (not that I would have heard either version in the last 25 of them, of course :D )
-
hence the ancient Inca saying, "Get Knotted"
MVVM# - See how I did MVVM my way ___________________________________________ Man, you're a god. - walterhevedeich 26/05/2011 .\\axxx (That's an 'M')
-
A couple theories on StackOverflow[^] The two prevailing ones indicate it's either from typography or mathematics.
-
I think it's an unconscious desire to return to the good old days of BASIC where a variable was identified as containing text characters by using the suffix $. The art of programming has never recovered from the damage done by constructs like, >10 DATA "MY", "TEXT", "DATA" >20 READ A$, B$, C$ >30 LPRINT A$, B$, C$ >50 GOTO 10 >9999 END >RUN Back in the day, A$ was even pronounced, "A-string." :-D
Will Rogers never met me.
> 45 RESTORE 10 otherwise ?OUT OF DATA ERROR IN 20 is "raised" :)
-
> 45 RESTORE 10 otherwise ?OUT OF DATA ERROR IN 20 is "raised" :)
Ah, good call! It's been a while (34 years)...
Will Rogers never met me.
-
To add to the old-timers theory, I started programming in 1976 on my job. The first language was an assembler for a minicomputer and then Fortran. After that, I started to college working on my E.E. degree and they forced me to take one semester each of Basic and Fortran (again). By that time I was learning both Pascal and C at work so my exposure to Basic didn't do me too much harm. You can count me as another programmer (still programming for a living) who did not start with the Basic language. I also never heard A$ pronounced A-string until I read this thread. I also never considered Basic to have given birth to the concept of the terminology. I'll see if I can did out some of my old books and find any references to strings that predate Basic.
Another oldtimer here. I did my first programming in 1967 on an IBM 1620 in both assembler and Fortran II. I learned BASIC on a DEC PDP-11 RSTS system in the mid 70's. I pronounced A$ as either "A-dollar" or "A-string". In my circle, the two were used interchangeably. I'm in the USA, by the way. Ken
-
Perhaps it is a US thing. I cut my programming teeth on a Vic20 and it was always A-dollar. I've never heard the A-string version in my entire 30 year experience in the industry (not that I would have heard either version in the last 25 of them, of course :D )
I also cut my programming teeth on the Vic-20 (actually I started with a TRS-80). And even then such variables were named with the "string" pronunciation suffix. I also have 30+ years, starting with digital theory (when I was 9 years old!) Some groups back then were calling "bits" (Binary digITS) as "binits" (BINary digIGTS). Nomenclature has gone through a lot of changes in the past several decades. That some manuals were calling things like "A$" as "A-String", and that this was repeated, meant that there was a likely source. A lot of schools and shops tended to have their own vocabularies back in the day. Some became common, some didn't. It's the height of arrogance to say that just because you never heard of the term at the time you started in the field that it wasn't in usage somewhere. I think even Knuth referred to groups of characters as "strings", but I lost my copies of "The Art of Computer Programming" and I can't recall for sure. And they were published in 1968, which were published well before any of the "old timers" here have claimed they started. Given that history, I'm calling "bullsh*t" on them.
-
I also cut my programming teeth on the Vic-20 (actually I started with a TRS-80). And even then such variables were named with the "string" pronunciation suffix. I also have 30+ years, starting with digital theory (when I was 9 years old!) Some groups back then were calling "bits" (Binary digITS) as "binits" (BINary digIGTS). Nomenclature has gone through a lot of changes in the past several decades. That some manuals were calling things like "A$" as "A-String", and that this was repeated, meant that there was a likely source. A lot of schools and shops tended to have their own vocabularies back in the day. Some became common, some didn't. It's the height of arrogance to say that just because you never heard of the term at the time you started in the field that it wasn't in usage somewhere. I think even Knuth referred to groups of characters as "strings", but I lost my copies of "The Art of Computer Programming" and I can't recall for sure. And they were published in 1968, which were published well before any of the "old timers" here have claimed they started. Given that history, I'm calling "bullsh*t" on them.
I think the main thrust of what we hear on this thread is that different regions have different experiences. There's no debate as to whether or not sequences of characters are called "strings" or not, that is a strawman argument. It is why we have std::string in C++. I think that you are mistaking other's (and my) comments that they never heard the term before as a belief that no-one uses them anywhere else, again a strawman argument. I never said that and I've not seen that claimed here. I call your bullsh*t and raise you a "get off your high horse".