Like A Girl

Pushing the conversation on gender equality.

Code Like A Girl

El primer programa de software que escribí

Escrito por DebraLobel y traducido al español por Maria Alejandra Yepes para Code Like A Girl

Hoja de código de Fortran

He sido desarrolladora de software por más de cuatro décadas. En este tiempo los cambios y las capacidades tanto en software como en hardware son significativos. Aún recuerdo el primer programa que escribí.

En 1969, mientras estaba en mi escritorio en mi clase de Ciencias de la Computación, escribí mi primer programa usando lápiz y papel (una manera de codificar como se muestra en la imagen de arriba) Estaba escrito en Fortran, un lenguaje de programación usado para computación científica y numérica. En nuestro examen final, el profesor nos dio media hora para escribir el programa.

El examen era algo así:

· Defina “x”, “y” y “z” como números

· Defina “i” y “n” como enteros

· Asígneles un valor de 1 hasta i

· Escoja y asígnele valores a “x”, “y” y “n”

· Sume “x” y “y”

· Guarde el resultado en “z”

· Multiplique “z” por

· Si los cálculos estan correctos

· El programa muestra N líneas con el cálculo correcto

Las hojas de codificación eran recolectadas y enviadas al departamento de computación, un IBM 360. La persona que ingresaba la información usaba una perforadora para ingresar el código fuente en tarjetas perforadas de 80-columnas. Días después nosotros recibíamos una impresión de los errores y el resultado del código compilado. El papel era una hoja verde de barras de 132-columnas

Tarjeta Fortran perforada de 80-columnas
Papel verde de barras 132-columnas

¿Cómo me fue en el examen? Muy bien, sólo perdí puntos por N-1 líneas. El profesor sugirió que la próxima vez yo debería usar una sentencia DO LOOP en lugar de un IF. Estaba muy orgullosa de mi primer programa y yo solo había visto un computador en fotos.

Esta es una versión simplicada del código. Lo modifiqué para efectos prácticos

El tiempo que tomaba escribir un programa simple, compilarlo sin errores, probrarlo y ponerlo en producción podía tomar días. En algunos casos, semanas. Los programadores escribían el código en hojas de codificación de Fortran. Un persona entraba los datos en tarjetas perforadas de 80 columnas. El operador del computador metía las tarjetas en el computador y oprimía el botón ejecutar. El operador podía estimar el tiempo que se iba a demorar dependiendo de la cantidad de trabajo. Normalmente, esto tardaba horas; a veces más de un día.

Las tarjetas alimentaban el computador, se compilaba y esto resultaba en un informe impreso. El operador podía entonces enrollar las tarjetas con un caucho y dejarlas junto con el reporte en un cajón. El programador volvía a recoger su trabajo. Si había algún problema, era necesario depurar el programa de manera visual. La compilación de errores en el informe ofrecía las únicas pistas del problema. Si había problemas con el código, el proceso se repetía. Los problemas de codificación eran entonces encontrados manualmente. Después de que el programador estimaba que había encontrado la solución, se perforaban las correcciones. En ese momento le entregaban al operador el nuevo conjunto de tarjetas.

¿Parece un proceso tedioso? Para los programadores modernos, ciertamente podría parecer. Codificar, testear y depurar no requiere operadores o herramientas extra. Los sistemas de computador de los sesenta solo están en museos.

Hardware incluido:

· La unidad de procesamiento central era tan grande como un refrigerador.

IBM 360 CPU (En la izquierda, sin el panel) y lector de tarjetas (en la derecha)

· Consola que solamente mostraba códigos y un gran teclado para ingresar las instrucciones en el computador

· Lector de tarjetas

IBM 360 Consola. El teclado está detrás del operador

· Unidad de disco y discos que pesaban diez libras.

Unidad de disco
Paquete de discos de IBM

· Unidades de citas magnéticas de 5 pies de altura

Unidas de Cintas IBM

·Impresoras en línea tan grandes como un horno

Impresora IBM

· Estantes de almacenamiento para cintas

Cintas colgadas en unidades de almacenamiento

Todos estos equipos ocupaban un montón de espacio. Había aire acondicionado y un piso levantado para esconder los cables y evitar que las personas se tropezaran con ellos.

Pisos levantados

Los computadores de los 60 eran máquinas de 16-bit que tenían una memoria de 8–64KB. Pesados paquetes de discos guardaban mucho menos información que una tarjeta de memoria SD.

Los celulares inteligentes (smartphones) son 1000 veces más poderosos que todo el equipamiento en el que yo solía trabajar

El tiempo de desarrollo de software moderno ha sido considerablemente reducido. Para desarrollar lógica de programación en mi colegio un examen toma el mismo esfuerzo en Fortran que en los lenguajes de hoy, como Java, C, Python y Ruby. El código puede lucir incluso muy similar. Pero el tiempo que toma ingresar las pocas líneas, probar, depurar y ejecutar el programa ha decrecido exitosamente de días a minutos. En los colegios de hoy los estudiantes desarrollan sitios web sofisticados, aplicaciones, bots en menos tiempo que tomó a mí crear el primer programa que escribí.

Si te gusta esta historia, por favor compártela.