Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

So it's obvious that a string of things is a sequence of things, and so a sequence of characters/bytes/etc. might as well be called a string. But who first called them strings? And when? And in what context such that it stuck around? I've always wondered about this.

share|improve this question
8  
already asked on stackoverflow –  Alb Feb 3 '11 at 22:14
    
@Alb if you just want to point the question asker to a related question on another site, just leave a comment. –  user8 Feb 3 '11 at 22:15
1  
@Mark sorry, didn't realise that was convention. Makes sense. –  Alb Feb 3 '11 at 22:19
1  
@Alb no problem. For your and other people's reference (this question was flagged as being a duplicate), a question existing on Stack Overflow doesn't affect the status of this question, but it is definitely helpful to comment and make a note of other questions on the network that could help answer it. –  user8 Feb 3 '11 at 22:22

4 Answers 4

up vote 22 down vote accepted

Can we get a real citation before Hugo's 1963 reference? Yes. John McCarthy used the word "string" in Recursive functions of symbolic expressions and their computation by machine, Part I, from April 1960.

For atomic symbols, we shall use strings of capital Latin letters and digits…

but more usefully for this question, a reference to a string as a datatype:

Any string of admitted characters [is] an L-expression.

That's not a great example. By saying "a string of characters", McCarthy is not using "string" in the specialised sense programmers mean it today. You can easily say "a string" to a Java programmer and they'll know that the "of characters" part is implicit: McCarthy's use doesn't demonstrate this feature. Let's try to push back to the 1950s, to see whether McCarthy was playing it safe or whether the term genuinely didn't exist then. LISP probably isn't going to help much here, as it's based on a mathematical calculus so McCarthy's string functions may have been the first application of the idea to string processing.

An important string-processing system of the 1960s was 1964's SNOBOL, A String Manipulation Language. This cites McCarthy's paper above, but also discusses COMIT and SCL. The work they cite on SCL is unpublished: an unfortunate dead end.

COMIT is easier to track down. The Art of Computer Programming (Volume 1, third edition, p.461) tells us that V. H. Yngve wrote a 1963 CACM article on it. But I'm looking for the earliest use of "string", so I'll do an author search for earlier publications.

The first I can find is A Programming Language for Mechanical Translation, from July 1958. This only contains one use of the word "string":

Each continuous string of letters between punctuation marks or spaces is looked up in the dictionary.

Again, this use is like McCarthy's: this is not evidence for "string" being used in its present day sense. Looking at the paper in detail, we see that the data structure is a "line" on a card (allowing for continuations for longer "lines").

OK, we'll move forward in COMIT's history and see what we can get. The first useful reference is The COMIT system for mechanical translation, from the proceedings of a June, 1959 conference.

If we want to replace D SIN(F) by COS(F) D (F), where F is unrestricted and may be any arbitrary sequence of constituents, we use the notation $ to stand for this string.

This seems more akin to the way we use it today: "string" stands alone and as a bonus has a recognisable special symbol: the dollar sign is still used in some BASIC flavours to signify a string variable.

From around this time, the word "string" also appears many times in A command language for handling strings of symbols by Perlis and Smith from the ACM '58 Proceedings, and once in The Share 709 System: Machine Implementation of Symbolic Programming by Boehm and Steel.

Searching the ACM digital library for 'string' in the early 1960s yields 62 results, including titles like "String handling in ALGOL", "String Manipulation in the New Language" and "A list-type storage technique for alphanumeric information". It seems that the idea has become entrenched by then.

I would argue that "string" in its computer science jargon sense as an ordered list of characters became common over a couple of years around 1960. Before that, authors like Yngwe and McCarthy could say "string of characters" and be sure that they were understood, but could not use "string" as a bare word in the sense it's used today.

The shorthand was probably introduced to the computing mainstream by the Perlis and Smith paper. It hasn't been widely cited, but one important citation is Syntactic and semantic augments to ALGOL by Joseph W. Smith in April 1960 (in the same issue of CACM as McCarthy's description of LISP). From that paper:

The purpose of this paper is to propose a set of syntactic and semantic augments to ALGOL. The proposed extensions are designed to facilitate the description of "string" manipulation in that language; they do not constitute a comprehensive language for symbol manipulation.

To me, this constitutes evidence of "string" meaning a datatype for symbolic computation being affirmed in the academic lexicon, and importantly introduced to the tools used for commercial computation.

Incidentally, Programming Languages: History and Future by Jean Sammet (1972) suggests that COMIT and SNOBOL were the progenitors of string manipulation, so I'm fairly confident that there won't be earlier examples.

share|improve this answer
    
Wow. Great archaeology there. –  sclv May 1 '13 at 15:47
    
THis reminds me of the process that turned "train of cars" where train was used like the train of a wedding dress, into just "train" as a form of transportation. The transition from "string of characters" to just "string" is the key –  Kate Gregory May 8 '13 at 12:49
1  
The OED have done this work already. The entry for string (paywall, but UK library members are probably able to access) has "1954 Jrnl. Assoc. Computing Machinery 1 120/2 A finite, possibly null, sequence of members of the alphabet is called a string." which looks to me to be exactly the modern usage. –  AakashM May 8 '13 at 13:34
    
@AakashM thanks for that reference, their 1954 result is consistent with the other results I found in the 1950s. The word "string" is only used in the "string of characters" sense when its meaning in that sense is explained. It's not until around 1960 that authors can use "string" without explanation, and that it became a jargon term with the more specific meaning as used in the question. –  user4051 May 9 '13 at 8:43

There are lots of uses of string to mean ordinary string of characters in compsci books and papers from the 1950s, and I suspect the usage goes back quite a bit further.

share|improve this answer
1  
This answer needs specific citations. If there are "lots of uses" it shouldn't be hard to cite one or two. –  Caleb May 1 '13 at 13:39

The earliest reference I could find in computing is from March 1963's METEOR: A LISP Interpreter for String Transformations by Daniel G. Bobrow at MIT's AI Labs.

share|improve this answer

Not a complete answer, but the use of string to mean "a number of objects arranged in a line" was already around in the late 1400s. Source

This is essentially the same usage.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.