Seguinos

La mujer sin la que te podría tomar 5.000 años instalar Windows.

Tecnología

La mujer sin la que te podría tomar 5.000 años instalar Windows.

Uno, cero, cero, cero, uno, cero, uno, uno. Cero, uno, uno…

Ese es el lenguaje de las computadoras. Cada cosa inteligente que tu computadora hace -una llamada, una búsqueda, un juego- se reduce a unos y ceros, ¿cierto?

Pues no precisamente.

Más bien se reduce a la presencia o ausencia de corriente en los diminutos transistores de un chip semiconductor.

El 0 o el 1 sólo denotan si hay o no corriente.

Por suerte, no tenemos que programar las computadoras con ceros y unos… ¡imagínate cuán difícil sería!

Computadora a mano

Las primeras computadoras tenían que ser programadas así. Piensa en la Automatic Sequience Controlled Calculator, después conocida como Harvard Mark 1. Era una concatenación de 15 metros de largo y 2,5 metros de alto de ruedas, varas, engranajes e interruptores.

Usaba más de 850.000 kilómetros de cable. Seguía las instrucciones de un rollo de cinta de papel perforado, como un piano de juguete. Si querías que resolviera una nueva ecuación, tenías que calcular cuáles interruptores debían estar prendidos o apagados, cuáles cables debían estar conectados a qué.

Luego tenías que accionar todos los interruptores, conectar todos los cables y hacer todos los huecos en el papel.

Programar no sólo era un desafío que ponía a prueba la mente de los genios matemáticos, también era una labor manual tediosa, repetitiva y proclive al error.

Durante las décadas que le siguieron a Harvard Mark 1, máquinas más compactas y fáciles de usar, como Commodore 64, fueron llegando a escuelas.

Si eres de cierta edad, quizás recuerdas cuán milagrosos parecían tus primeros encuentros con una computadora.

Y si te preguntas cómo han progresado tanto desde Mark 1, una de las razones ciertamente es el cada vez más diminuto tamaño de sus componentes.

Pero también es impensable que las computadoras puedan hacer lo que hacen si los programadores no pudieran escribir software, como Windows, en un lenguaje parecido al humano. Ese después se traduce en unos y ceros, corrientes y no corrientes, que al final hacen el trabajo.

Lo que empezó a hacerlo posible se llama el compilador.

 

Y la historia del compilador empieza con una mujer llamada Grace Hopper.

A Aiken no le cayó muy en gracia que le mandaran a una mujer a unirse a su equipo, pero poco después Hopper lo había impresionado tanto que le pidió que escribiera el manual de operaciones.

Saber qué debería decir ese manual implicaba mucha experimentación.

La mayoría de las veces, Mark 1 se detenía después de apenas empezar, Y no había un mensaje de error amable, como ocurre ahora.

Una vez fue porque una polilla se había metido en la máquina… y tal parece que de ahí viene el término “debugging“, que es como se dice “depurar programas” en inglés, pues la polilla es un bicho y bicho se dice “bug” en inglés (aunque hay quienes aseguran que el término ya existía).

Pero generalmente, ese bug era metafórico: un interruptor mal accionado, un hueco que no debería estar en el papel… Para hallarlos se precisaba de una labor de detective ardua y monótona.

Hopper y sus colegas empezaron a llenar libretas con trozos de código comprobado y reutilizable.

Para 1951, las computadoras habían avanzado lo suficiente para guardar esos trozos -llamados “subrutinas”- en sus propios sistemas de memoria.

 

¿Pura pereza o sentido común?

Para entonces, Hopper trabajaba para una compañía llamada Remington Rand.

Allá trató de convencer a su jefe de que permitiera que los programadores nombraran esas subrutinas con palabras familiares, es decir, cosas como “sustraer impuestos del salario” en vez de -como explicó Hopper- “tratar de escribir eso en código octal o usando todo tipo de símbolos”.

Hopper era conocida por trabajar duro.

Pero no todo era ganancia: la idea del compilador involucraba una contrapartida. Hacía que la programación fuera más rápida, pero los programas resultantes funcionaban más lentamente.

Por eso Remington Rand la rechazó. Cada cliente tenía sus propios requerimientos para su flamante máquina computadora, así que tenía sentido que los expertos de la compañía las programaran para que fueran lo más eficientes posible.

¡No hay problema!

Hopper no se desanimó: sencillamente escribió su primer compilador en su tiempo libre. Y a otros les fascinó, pues les ayudaba a pensar con más claridad.

Uno de ellos fue un cliente llamado Carl Hammer, un ingeniero quien lo usó para resolver una ecuación con la que sus colegas habían estado lidiando durante meses: Hammer escribió 20 líneas de código y la resolvió en un día.

Programadores afines de todo EE.UU. empezaron a mandarle nuevos trozos de código a Hopper, quien los iba guardando en la memoria hasta la próxima publicación.

En efecto, Hopper estaba creando el software de código abierto.

Su compilador se convirtió en uno de los primeros lenguajes de programación, COBOL; y, fundamentalmente, abrió el camino a la distinción ahora conocida entre hardware y software.

Con máquinas como Harvard Mark 1, el software era el hardware: ninguno de sus patrones de interruptores funcionaría en otra máquina que estuviera conectada de forma distinta.

Pero si una computadora tiene un compilador, puede ejecutar cualquier programa que lo use.

Desde entonces, más y más capas de abstracción han separado a los programadores humanos de los chips físicos.

Y cada una de esas capas ha sido un paso más en la dirección en la que Grace Hopper demostró que era más sensata: liberar el poder intelectual del programador para que piense en algoritmos y conceptos, no en interruptores y cables.

Para Hopper, sus colegas inicialmente se resistieron no porque querían que los programas funcionaran más rápido, sino porque disfrutaban del prestigio que les daba ser los únicos que podían comunicarse con la casi divina computadora en representación de los meros mortales que se limitaban a comprarla.

“Los sumos sacerdotes”, los denominaba la matemática.

Hopper pensaba que cualquier persona debería poder programar. Ahora, cualquiera puede. Y las computadoras son mucho más útiles gracias a ello.

Políticamente incorrectos Libertad Digital nace para denunciar los abusos, la corrupción y atropellos de los gobiernos de turno en Honduras y América Latina.

Comentarios

Más en Tecnología

Trends

Política

To Top