2010-02-06 16 views
6

Duplicar posible:
The History Behind the Definition of a ‘String’…¿Por qué se llama 'Cadena'?

En la mayoría de los lenguajes de programación una cadena es una secuencia de caracteres. ¿Por qué se llama así?

La primera instancia de que se llama una cadena es Algol 60 (hasta donde yo sé).

Pregunta planteada por Douglas Crockford en su conferencia de hoy (se publicará cuando la conversación sea en línea).

+3

caracteres en una línea como cuentas de un collar .... –

+0

{{cita requerida} } :) Como diseñador de lenguaje, espero poder pensar en cosas mejores para nombrarlo. Después de todo, son listas de matrices no vinculadas. –

+1

Duplicado exacto: http://stackoverflow.com/questions/880195/the-history-behind-the-definition-of-a-string – JRL

Respuesta

6

Creo que proviene de la teoría de las matemáticas. Conjuntos, gramáticas, idiomas, cadenas, etc.

+0

maldita sea, me la ganaste –

+2

@Jeff Ober: la primera vez que escuché eso ... –

+1

¿Alguna referencia? ¿Las gramáticas son anteriores a Algol60? Estudié Pure Math y no recuerdo cosas llamadas cadenas (a menos que fueran clases de matemáticas de Computer Sciency, y luego se usaron). –

0

Supongo que proviene de las matemáticas ... En matemáticas, una cadena es una secuencia de símbolos, que explica muy bien la esencia de una cadena en lenguajes de programación también.

2

Una cadena es una cadena de caracteres. Es un uso común de la palabra, y data todo el camino de vuelta a 1488.

cadena (n.)

O.E. streng "línea, cuerda, hilo" de P.Gmc. * strangiz (véase ON strengr, Dan. streng, M.Du. strenge, Du. streng, OHG strang, Ger Strang "cuerda, cuerda"), desde la base * strang- "tenso, rígido", de la base de PIE * strenk- "apretado, estrecho, tirar apretado, girar" (ver cepa). Restringido gradualmente por principios de M.E. a líneas que son más pequeñas que una cuerda. Sentido de "una serie de objetos dispuestos en una línea" registrada por primera vez 1488. [...]

http://www.etymonline.com/index.php?term=string

+0

IMO la definición que cita realmente no responde la pregunta. ¿Qué tiene que ver una tela delgada y alargada con una secuencia de símbolos? Sin embargo, podría proporcionar una idea de por qué los desarrolladores de SGI eligieron proporcionar una clase de reemplazo de 'cuerda 'para' std :: string' con su versión de la Biblioteca de plantillas estándar de C++. – stakx

+0

(Al leer la definición una segunda y una tercera vez y finalmente detectar la última oración :), creo que necesito recuperar la primera declaración en mi comentario anterior. ¡Lo siento por eso!) – stakx

+0

Sin embargo, es un buen punto sobre la clase de cuerda. –

Cuestiones relacionadas