Estoy interesado en averiguar quién introdujo la sangría de código, así como cuándo y dónde se introdujo.
Parece tan crítico para la comprensión del código, pero no fue universal. La mayoría de los códigos Fortran y Basic no tenían (¿es?), Y lo mismo ocurre con Cobol.
Estoy bastante seguro de que incluso he visto el viejo código Lisp escrito como texto continuo, en línea. Tenías que contar los corchetes en tu cabeza solo para analizarlo, no importaba entenderlo.
Entonces, ¿de dónde vino una mejora tan grande? Nunca he visto ninguna mención de su origen.
Además de los ejemplos originales de su uso, también estoy buscando discusiones originales sobre la sangría.
coding-style
history
indentation
Daniel Mahler
fuente
fuente
C
personaje si estaba haciendo un comentario.if
, a la F #), la sangría no es realmente una función de lenguaje, es una función IDE ( y un poco en el compilador, para ignorar los espacios iniciales). @ Jack tiene razón: originalmente los programas se perforaban en las tarjetas, y la sangría literalmente no existía en el almacenamiento (y quizás tampoco debería hacerlo ahora). El RPG en columnas no usa sangría (y de todos modos solo tiene ~ 20 caracteres libres por línea), pero el IDE puede "sangrar" el código por usted.Respuestas:
Los orígenes del código sangrado probablemente se pueden encontrar en ALGOL :
fuente
{}
) para delimitar bloques, y puede definir funciones anidadas, pero eso no me dice nada acerca de si el código está realmente sangrado.El código sangrado debe haber llegado antes de 1958, ya que estaba presente, pero no omnipresente, en LISP y ALGOL. Lo primero que puedo encontrar es COMTRAN, que se introdujo en 1957, aunque solo puedo encontrar el manual de 1960 (consulte la página 90). Esta sangría difiere de la concepción moderna ya que COMTRAN carece de la estructura de bloques de la mayoría de los idiomas desde ALGOL, pero creo que aún debería contar.
Sospecho que este no es realmente el primer ejemplo, pero no puedo encontrar ninguno antes.
Actualizado
Se me ha ocurrido que, en un grado significativo, la sangría probablemente sea anterior a la programación. La sangría probablemente se usó en las listas de instrucciones antes de que alguien escribiera programas de computadora. Lamentablemente no puedo encontrar ningún buen ejemplo de esto.
fuente
Una expansión en el comentario de Ross Patterson: los compiladores COBOL (o al menos los compiladores de IBM, que utilicé en mi carrera de sistemas pre-abiertos) forzaron la sangría (las áreas "A" y "B" que menciona). Si alguno de los elementos que debían estar en estas áreas no se colocaran exactamente, su código fallaría en la compilación. Sin embargo, más allá de eso, no se requirió una sangría específica (esto a menudo condujo a la manipulación al modificar el código de otro desarrollador cuyo estilo de sangría era diferente al suyo), la etiqueta sugeriría que siga el patrón existente ya que preserva la paz entre los pares; Además, los diferentes estilos en la misma fuente serían agravantes para la vista, casi en apariencia Tetris.
Han pasado años desde que pensé en COBOL y su sangría, ¡gracias por hacer la pregunta y proporcionar un pequeño viaje al pasado!
Marty
fuente