Pregunta

Otra pregunta, ¿Qué es una pestaña vertical?, describe para qué se utilizó originalmente el carácter de tabulación vertical.

Pero ¿por qué fue U+000B VERTICAL TAB considerado lo suficientemente importante como para que se le asigne una secuencia de escape ('\v') en primer lugar, en C y muchos otros lenguajes de programación?

Ver también:algún chico quejándose de esto.

¿Fue útil?

Solución

Es posible que cuando se creó C, se esperaba que la pestaña vertical y los caracteres de campana fueran lo suficientemente útiles como delimitadores dentro del código que se trasladaría entre ASCII y EBCDIC, ese código tenía que proporcionar una forma legible y portátil de anotándolos. Aunque se podría escribir

#define QVTAB "\013"
printf("Field1" QVTAB "Field2");

No creo que tal uso fuera legal en los dialectos más antiguos de C. Además, incluso si tal uso está permitido, el uso de macros especiales para la versión citada de caracteres probablemente se habría considerado un poco feo. Sé que esas cosas terminaron siendo necesarias en los especificadores de formato de tipo portátil printf, pero eso no significa que sea bonito.

Otra cosa a considerar es que C no fue diseñado para ser un lenguaje de programación que la gente usaría en las próximas décadas. Fue diseñado para resolver algunas necesidades inmediatas. A K&R no le habría importado si alguien querría personajes de VTAB después de la década de 1970; si sus clientes inmediatos los utilizarían, esa era una razón perfectamente válida para incluirlos.

Otros consejos

Respuesta correcta:TELETIPO

No tiene nada que ver con los delimitadores.Mis padres trabajaban con big data y muchas emisoras y Fortune 500 todavía usaban tarjetas perforadas hasta los años 80.Recuerde que la mayoría de los idiomas fueron diseñados originalmente para ser ingresados ​​y utilizados en una máquina de teletipo, no en una pantalla.La impresora no era sólo para imprimir documentos como lo es hoy. No había ningún monitor.La copia impresa era la pantalla.

Teniendo esto en cuenta, las pestañas verticales fueron bastante útiles.Incluso después del teletipo, mis padres los usaban para renderizar formularios más rápido al sobrescribir solo las partes que cambiaban.¡Porque entonces incluso la visualización de sólo texto era demasiado lenta!

Vídeo divertido: https://www.youtube.com/watch?v=qv5b1Xowxdk

Pero más concretamente:Muchas, muchas, muchas cosas en los sistemas operativos modernos son reliquias de la máquina de teletipo...no solo pestaña vertical.Estamos tan acostumbrados a ellos que la gente ya ni siquiera piensa en ellos, pero no son menos raros.Estoy seguro de que muchos no se dan cuenta de dónde vienen estas convenciones a menos que hayan estado codificando desde los años 70.

  • ¿Envuelve su código en un mensaje de texto o lo envía por correo electrónico en 80 columnas?
    Porque las tarjetas perforadas de IBM tenían 80 caracteres de ancho.

  • ¿Utiliza gráficos que admitan codificación ascendente, como mapas de bits de Windows o bibliotecas de gráficos con el origen en la esquina inferior?
    Porque las máquinas de teletipo se desplazaban de abajo hacia arriba.

  • ¿Utiliza para indicar una nueva línea de texto?
    Porque significa avance de línea, que proviene de las máquinas de escribir manuales antes de que se usara en los teletipos.

  • ¿Alguna vez has enviado un mensaje a un amigo escribiendo a /dev/tty en Linux?
    Porque TTY es la abreviatura de teletipo.

  • ¿Alguna vez le ha dicho a alguien que use una biblioteca existente en lugar de reinventar la rueda?¿Alguna vez ha utilizado una biblioteca o un marco?
    Porque así es como anda por ahí el código antiguo.Ciertamente, los beneficios superan el daño, pero las bibliotecas construidas sobre bibliotecas construidas sobre bibliotecas conducen a esta creciente dependencia tal que incluso cuando la biblioteca original ya no existe, todo lo que alguna vez fue compatible con ella hace que sus convenciones sigan vivas. ...y en...y en...

Estas convenciones de teletipo están tan firmemente arraigadas en el propio sistema operativo Espero que esto se mantenga siempre hasta que alguien escriba un sistema operativo desde cero, y aun así no estoy tan seguro.No hay duda de por qué el lenguaje C los adoptó.Recuerde, C llegó mucho después de LISP, Forth, COBOL, FORTRAN, Pascal e incluso BASIC.

PDUsar el carácter de campana como delimitador habría sido una locura.Muele, muele, muele, BEEP, muele, muele, BEEEEEEP, muele chuka, chuka, BEEP, muele, chuka, muele, muele, BEEP.Ruido metálico.Muele, muele, BIP...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top