Why String?
-
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?
Why a duck? brian
-
Back in the day, Computers were made of rope and wood , and each character was knotted onto a length of string. Sometimes the string would unravel. Hence the early programmers mantra - did it compile? I'm a frayed knot.
MVVM# - See how I did MVVM my way ___________________________________________ Man, you're a god. - walterhevedeich 26/05/2011 .\\axxx (That's an 'M')
-
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