La columna 80

El blog técnico-personal de Ángel J. Vico… en español

80 x 1

Posted by Ángel J. Vico en 24 de julio de 2011

Si hay algo que siempre le ha gustado al ser humano es hacer que otros hagan su trabajo por él. Ya sea por una cuestión de eficiencia, como forma de demostrar su poder o por simple vaguería, el hombre siempre ha buscado formas de librarse de tener que hacer las tareas más costosas o tediosas por sí mismo. Primero convenciendo a otras personas para que las hicieran ellos y más delante fabricando herramientas que facilitaran o incluso se hicieran cargo de la realización de dichas tareas.

Con el devenir de los años esas herramientas se han ido haciendo más y más complejas, capaces de hacerse cargo cada vez de más tareas pero proporcionando también más quebraderos de cabeza a sus fabricantes. Desde el ábaco hasta los sofisticados computadores actuales, muchas han sido las tecnologías que se han ido desarrollando, y muchos han sido los problemas a los que sus desarrolladores han tenido que enfrentarse. Pero si algo caracteriza al ser humano es su ingenio, su capacidad para encontrar soluciones a los problemas que le encaran y evitar que la evolución tecnológica se detenga. Decenas, cientos, miles de ideas, técnicas, herramientas e inventos han sido creados para dar solución a otros tantos problemas.

Y de todos ellos, hay uno sobre el que me gustaría extenderme un poco: las tarjetas perforadas.

No es mi intención asignarle a las tarjetas perforadas una posición en un ranking de los inventos más importantes de la historia de la computación, pero resulta innegable la relevancia y la trascendencia que han tenido en esta rama de la ingeniería. Posiblemente bastante más de lo que muchos creen.

Durante siglos se utilizaron cilindros con púas en instrumentos musicales como forma de almacenar y reproducir melodías. El uso del papel y el cartón como soportes y la invención de la lengüeta permitieron resolver el principal problema que tenían los cilindros: la corta duración de la partitura. A estos rollos de papel perforado se les encontró rápidamente otra utilidad: el diseño de patrones que podían ser reproducidos por un telar. Los rollos de papel fueron pronto sustituidos por una serie de tarjetas unidas entre sí, más robustas y cómodas de manejar: habían nacido las tarjetas perforadas.

En 1801, Joseph Marie Jacquard desarrolló un telar totalmente automatizado que usaba las tarjetas perforadas como soporte para los diseños y que permitía su intercambio para producir patrones diferentes sin tener que modificar nada del diseño mecánico del telar. El telar de Jacquard podría considerarse la primera máquina programable mediante tarjetas perforadas. De hecho, su impacto en la computación es más que evidente, dado que sirvió de inspiración para el diseño de las primeras máquinas analíticas programables (aunque no llegaran a fabricarse).

El primer uso industrial de las tarjetas perforadas como soporte de almacenamiento de datos lo realizó Herman Hollerith en 1890, cuando se eligió su máquina tabuladora para elaborar el censo de los Estados Unidos. Las tarjetas empleadas permitían responder sí o no a las preguntas del censo realizando perforaciones sobre ellas, pudiendo ser procesadas posteriormente de forma automática.

La empresa que creó Hollerith para comercializar su invento (Tabulating Machine Company) se fusionó años después con otras para crear la Computing Tabulating Recording Corporation (CTR), empresa que en 1924 cambiaría su nombre por el de International Business Machines Corporation o IBM.

Las tarjetas iniciales de Hollerith, de 12 filas y 24 columnas, evolucionarían hasta las 45 columnas y un tamaño de 3,25 x 7,375 pulgadas (82,550 x 187,325 mm), ligeramente superior al que tenía el billete de 1 dólar por aquella época, pero no tanto como para no poder utilizar las mismas cajas para transportarlas.

A medida que fueron creciendo las necesidades de almacenamiento se hizo evidente la necesidad de aumentar la cantidad de datos que se podía escribir en cada tarjeta. Por ello, IBM le pidió a dos de sus ingenieros, Clair D. Lake y J. Royden Peirce, por separado, que buscaran una solución a este nuevo problema. El único requisito es que el tamaño de las tarjetas no variara, porque requeriría reemplazar la totalidad de las máquinas comercializadas hasta el momento.

La propuesta de Peirce consistía en utilizar las mismas tarjetas, pero haciendo que cada agujero representara más de un número o símbolo, permitiendo así almacenar más información. Por el contrario, Lake apostaba por cambiar la forma de los agujeros, de redondos a rectangulares, pudiendo así hacerlos más pequeños y juntos, aumentando de esa forma la cantidad de columnas de la tarjeta. Finalmente, fue la solución de Lake la que se impuso, porque permitía adaptar más rápidamente las máquinas existentes y porque se diferenciaba lo suficiente de las tarjetas que utilizaba todo el mundo por aquel entonces como para poder conseguir nuevas patentes.

En 1928 y basándose en la propuesta de Lake, IBM comercializó una tarjeta de 80 columnas y 10 filas (que aumentarían a 12 dos años después) a la que llamó simplemente “Tarjeta IBM”, anticipando su consideración popular como tarjeta perforada estándar, y manteniéndose durante casi 50 años como una de las principales herramientas del procesamiento automático de la información.

El uso de las tarjetas perforadas se extendió a todos los ámbitos de la computación, llegando a condicionarlos. Por ejemplo, algunos de los primeros lenguajes de programación que se crearon, como FORTRAN, se orientaron desde el primer momento a la codificación en tarjetas perforadas: limitaciones en la longitud de cada línea de código (cada tarjeta contenía una línea), columnas utilizadas para usos específicos, etc.

Pero la influencia de las tarjetas perforadas fue más allá. Cuando se desarrollaron los primeros terminales, se diseñaron para que mostraran 80 columnas de texto. De forma similar, muchas de las primeras impresoras imprimían exactamente 80 columnas en cada línea. Y la tendencia perduró en el tiempo: muchos editores de código fuente, creados cuando ya no se utilizaban tarjetas perforadas, aún limitaban la longitud de las líneas o, al menos, mostraban una indicación visual de dónde se encontraba dicho límite.

Los primeros editores solían limitar a 72 columnas, porque en las tarjetas perforadas se usaban las últimas ocho para numerarlas secuencialmente. Mas adelante, el límite se estableció en 78 o 79, debido principalmente a que las impresoras, que seguían mayoritariamente imprimiendo a 80 columnas, tenían una peculiaridad: si escribían un carácter en la columna 80, realizaban automáticamente un avance de línea y un retorno de carro. Lo habitual es que esas acciones las llevaran a cabo cuando recibieran unos caracteres especiales que acompañaban al texto, normalmente identificados por sus códigos ASCII: 10 para el avance de línea y 13 para el retorno de carro. Por lo tanto, el resultado de que una línea de código terminara en la columna 80 era una línea en blanco innecesaria en medio del listado del código fuente.

Por ese motivo, durante muchos años la columna 80 ha sido esa columna de texto maldita en la que no podías escribir y de la que nunca te podías pasar, so pena de romper la estética de esos maravillosos listados de código fuente en papel continuo que seguro que aún permanecen almacenados en algún trastero.

Y aunque esas limitaciones ya eran cosa del pasado (aunque algunos aún no se hubieran enterado), esa columna 80 me pareció, hace hoy exactamente un año, un buen nombre para este blog que, aunque personal, está claramente orientado al desarrollo de software.

Lamentablemente, no llego a este aniversario con la alegría de haber publicado todo lo que quería. No he podido dedicarle todo el tiempo que me hubiera gustado, sobre todo en los últimos meses. Al menos me queda la satisfacción de haber escrito los posts con el mínimo de rigor que me propuse y la esperanza de que entre esas miles de personas que han pasado por aquí durante este año, al menos a un par de ellas les haya servido de algo lo que han encontrado. Sólo por eso, ha merecido la pena.

Y aunque no sé si voy a conseguir más tiempo para dedicárselo al blog (los próximos meses no se presentan demasiado bien en ese aspecto), sí que tengo intención de seguir adelante. Aún me quedan muchas cosas que contar y mucha lata que dar, por lo que espero seguir por aquí al menos otro año.

Gracias por vuestra paciencia.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s