“¿Qué tal si creamos un lenguaje de programación más fácil de entender y usar que el ensamblador o el código de máquina?”, les preguntó a sus compañeros de Burroughs Corporation, la respuesta fue un rotundo sí. Fue entonces cuando Grace Hopper apareció en escena y el resto es historia. En Salta se lo enseñó en los niveles terciarios hasta mediados de los 90.
Podría afirmarse que la madre del COBOL es Mary Hawes… y la tía sería Grace Hopper. Resulta que corría 1959 cuando nacía el conocido en el acrónimo de COmmon Business-Oriented Language, Lenguaje Común Orientado a Negocios.
¿El objetivo? crear un lenguaje de programación universal que pudiera ser usado en cualquier computadora y que estuviera orientado principalmente a los negocios, es decir, a la llamada informática de gestión.
Cabe recordar que las computadoras personales como concepto estaban a más de una década de ser creadas en los laboratorios de Xerox parc. Eran unos “mastodónicos” computadores manejados solo por personal autorizado como la programadora experta, Mary Hawes, quien propuso un lenguaje de programación más fácil de entender y usar que el ensamblador o el código de máquina.
Tras la propuesta de Hawes, fue entonces cuando Grace Hopper, que ya había trabajado un protolenguaje llamado FLOW-MATIC, acabó formando parte fundamental de la creación de COBOL, el lenguaje de programación procedural que se ha convertido en una leyenda. Aquello pasó en 1959, y aunque parezca increíble COBOL sigue en uso… y lo que le queda, según relata el portal especializado en informática XATAKA.COM.
No más ceros y unos, por favor
En marzo de 1959 Hawes trabajaba como programadora en Burroughs Corporation. Por aquel entonces ya empezaba a haber intentos claros de crear lenguajes de programación más accesibles que el horripilante código máquina o los lenguajes en ensamblador que existían para las distintas plataformas de la época.
A Hawes se le ocurrió que sería interesante crear un nuevo lenguaje de programación universal. Uno que además estuviera orientado a entornos empresariales y que pudiera funcionar en distintos ordenadores para ejecutar tareas como cálculos, control de inventario o un registro de los débitos y los créditos.
Esta programadora logró que la propuesta fuera discutida por un comité de expertos de la época. Entre ellos estaban los del Departamento de Defensa de los Estados Unidos y junto a académicos, fabricantes y usuarios avanzados se creó el llamado Short Range Committee of the Conference on Data Systems (CODASYL). Aquel comité recibió fondos del gobierno y se puso a trabajar en la especificación de un nuevo lenguake.
Los responsables del proyecto tuvieron como base un par de lenguajes comerciales. Uno desarrollado por entonces, FLOW-MATIC -creado por Grace Murray Hopper, que abogaba por programas de ordenador que fueran fácilmente inteligibles- y otro que sólo estaba definido, el Commercial Translator de IBM. Del lenguaje de Hopper también se heredaron los nombres largos de variables y la separación de las instrucciones y las descripciones de datos.
Así nació COBOL (COmmon Business-Oriented Language), un lenguaje de programación procedural e imperativo cuyos comandos se diseñaron para que se parecieran al inglés convencional. Aquel nombre, sugerido por Bob Bemer fue el definitivo, pero se barajaron otros como BUSY (Business System), INFOSYL (Information System Language) y COCOSYL (Common Computer Systems Language).
Aquel lenguaje lo tuvo difícil al principio a pesar del apoyo del DoD, de IBM o de UNIVAC. Otroas empresas como Honeywell trabajaban por aquel entonces en FACT, el que consideraban como el lenguaje de programación empresarial del futuro, y que realmente tenía ideas muy innovadoras. El problema es que FACT no estaba soportado por el hardware de la época, así que acabó siendo COBOL el que se impuso, en septiembre sus creadores ya tenían preparada la sintaxis básica.
En Salta también
En el terciario Facundo de Zuviria se enseñó el COBOL hasta mediados de los 90. Se trataba de un lenguaje de programación simple de comprender por su facilidad y pureza de código. Pero tenía una precariedad en cuanto al arrastre en los avisos de error.
Incluso un carácter de cierre de ciclo del tipo “If-end if” como en otro lenguajes de época, cerraba con un punto. Un solo error o dos de ese tipo tenía un arrastre que al final de la redacción de programación arrojaba entre 60 o 70 errores, lo que creaba confusión en los mensajes finales antes de su compilación. Por ende su depuración era un trabajo arduo y minucioso.