En la mayoría de los primeros libros de algoritmos, se <-
hace referencia a la asignación y se =
hace referencia a la comparación. Pero hoy en día, los únicos idiomas que no se usan =
para la asignación son Pascal ( :=
) e idiomas de juguete como COOL . ¿Qué causó que los lenguajes de programación modernos cambiaran =
a asignación de significado en lugar de su significado matemático de igualdad?
programming-languages
history
Siqi Lin
fuente
fuente
===
...←
sigue siendo común en algoritmos de trabajo; Es una de las tres notaciones comunes para la asignación al escribir un algoritmo (los otros son:=
y=
). El hecho de que todos los programadores utilicen=
no significa que todos los matemáticos hayan caído←
.===
está bien.Respuestas:
Según Wikipedia , el uso de iguales para la asignación se remonta al Superplan del lenguaje de Heinz Rutishauser, diseñado desde 1949 hasta 1951, y fue particularmente popularizado por Fortran:
Konrad Zuse también usó el signo igual para Plankalkul , que inspiró al Superplan de Rutishauser, aunque nunca se ideó un compilador para ello. ¿Por qué eligió el signo igual? Supongo que tendrías que preguntarle.
fuente
=
tanto como predicado como para definir variables, por ejemplo, en "Let x = 4. Entonces √ (x - y) es cero si y = 4". Esto funciona porque la notación matemática debe entenderse de manera declarativa en lugar de imperativa. Los lenguajes de programación funcional (p. Ej., La familia ML) tienen por defecto variables no mutables y, por lo tanto, pueden seguir utilizándose=
en su doble función sin ningún problema. O más precisamente,=
es tanto un operador como parte de lalet
sintaxis.=
luego es solo un predicado, igual que en cualquier otro lugar donde se use. Tenga en cuenta que dependiendo del contexto, "Let x = 4" también podría haber significado "Let x ∈ ℝ y x = 4".Pero cuando hice matemáticas en la escuela "let x = 123"
Era una frase común. Las primeras versiones de Basic insistían en la palabra clave "let" antes de la igualdad. Por lo tanto, se entiende básicamente forúnculos hechos para "dejar".
Un controlador clave que generalmente no se considera pero que es muy importante en el momento en el que realmente escribió.
Había dos dispositivos de entrada factibles,
Los teletipos solían usarse en tiendas académicas y militares, perforaciones de tarjetas en tiendas más comerciales. Por lo tanto, los lenguajes académicos como Pascal admitían identificadores en minúsculas y anotaciones "sensibles" como ": =" para la asignación. Los idiomas dirigidos a un público más comercial suponían que las tarjetas perforadas serían la forma principal de entrada, por lo tanto, los idiomas en mayúscula solo como FORTRAN y COBOL con soporte limitado para caracteres ":;> <" que no estaban disponibles en un teclado estándar.
Por cierto, no hubo ambigüedad acerca de que "=" se utilizara para la asignación en FORTRAN temprano, ya que la comparación se realizó utilizando ".LT.", ".LE.", ".EQ.", ".GE". y ".GT". sintaxis.
fuente
let x = 123
más análogo aassert(x == 123)
cualquier tipo de tarea.