Tres personas monitoreando un mainframe antiguo de la era COBOL.

¿Qué es COBOL y por qué tantas instituciones confían en él?

Tres personas monitoreando un mainframe antiguo de la era COBOL.Colección Everett / Shutterstock

Gobernador de Nueva Jersey COBOL mencionado recientemente, un lenguaje de programación de 60 años. Qué es exactamente ? ¿Y por qué sigue siendo el eje del mundo financiero, a pesar de que pocas personas todavía saben cómo usarlo?

Los orígenes de COBOL

Grace Hopper fue un fenómeno. Recibió un doctorado en matemáticas en Yale, fue profesora en Vassar y dejó la Marina de los Estados Unidos con el rango de contralmirante. Sus contribuciones al campo de las TI pueden juzgarse por el número de fundaciones y programas que han fue creado en su memoria. los Centro Nacional de Computación Científica para la Investigación Energética sonido con nombre Cray XE6 superordenador después de él. La Armada también dio su nombre a su destructor de misiles guiados, el USS Hopper. El lema del barco, «Aude et Effice» («Atrévete y hazlo»), bien puede haber sido acuñado con Hopper en mente.

Deseoso de crear un lenguaje de programación más cercano al inglés de lo que entienden las computadoras de código máquina, Hopper desarrolló el primer compilador. Esto abrió la puerta a los primeros lenguajes compilados, como FLOW-MATIC. Esto le valió un puesto en la Conferencia / Comité de Idiomas de Sistemas de Datos (CODASYL) de 1959.

Ella también jugó un papel decisivo en la especificación y el desarrollo de la Lenguaje común orientado a los negocios (COBOL). La primera reunión tuvo lugar el 23 de junio de 1959 y su informe y Especificación de lenguaje COBOL seguido en abril de 1960.

COBOL fue radical

COBOL contenía conceptos revolucionarios. Quizás el más importante de ellos fue la capacidad de ejecutarse en hardware producido por diferentes fabricantes, lo que no tenía precedentes en ese momento.

El lenguaje era elaborado y proporcionaba un vocabulario cercano al inglés con el que los programadores podían trabajar. Fue diseñado para manejar grandes volúmenes de datos y para ser excepcionalmente matemáticamente preciso.

Su vocabulario de palabras reservadas (las palabras que componen el lenguaje) asciende a casi 400. Un programador encadena estas palabras reservadas para que tengan un significado sintáctico y creen un programa.

Cualquier programador familiarizado con otros lenguajes le dirá que 400 es una cantidad increíble de palabras reservadas. A modo de comparación, el Lenguaje C tiene 32, y Pitón a 33.

Otra peculiaridad de COBOL es su estricto requisito de que ciertas líneas de programa comiencen en ciertas columnas. Es una resaca de los días de tarjetas perforadas. Hoy en día, los programadores tienen más libertad al formatear COBOL y ya no tienen que escribir todo en mayúsculas. Esto hace que trabajar con él sea menos prescriptivo y menos llamativo, pero sigue siendo una creación de su tiempo, como se muestra a continuación:

IDENTIFICATION DIVISION.
      PROGRAM-ID. Hello-World.
      DATA DIVISION.
      FILE SECTION.
      WORKING-STORAGE SECTION.
      PROCEDURE DIVISION.
      MAIN-PROCEDURE.
           DISPLAY "Hello world, from How-To Geek!"
           STOP RUN.
      END PROGRAM Hello-World.

COBOL es un ÉXITO

Una mujer que usa un cajero automático al aire libre.La mayoría de las transacciones en cajeros automáticos todavía utilizan COBOL. Estudio Capricornio / Shutterstock

Tan torpe como suena hoy, COBOL fue revolucionario cuando se lanzó por primera vez. Ha encontrado el favor de la industria financiera, el gobierno federal y las grandes corporaciones y organizaciones. Esto se debió a su escalabilidad, capacidades de procesamiento por lotes y precisión matemática. Se ha instalado en mainframes de todo el mundo, se ha arraigado y ha prosperado. Como una mala hierba obstinada, simplemente no morirá.

Nuestra confianza en los sistemas que aún funcionan con COBOL es asombrosa. A Informe de Reuters en 2017 compartió las siguientes estadísticas alucinantes:

  • Hay 220 mil millones de líneas de código COBOL todavía en uso en la actualidad.
  • COBOL es la base del 43% de todos los sistemas bancarios.
  • Los sistemas impulsados ​​por COBOL manejan $ 3 billones en el comercio diario.
  • COBOL maneja el 95 por ciento de todos los escaneos de tarjetas de cajeros automáticos.
  • COBOL hace posible el 80% de todas las transacciones con tarjeta de crédito en persona.

Como puede ver, es difícil pasar un día sin usar un sistema que depende de COBOL. Las cuentas bancarias y los servicios de compensación de cheques, así como la infraestructura para el público como cajeros automáticos y semáforos, aún operan con este código escrito hace décadas.

COBOL es un problema

Los programadores que conocen COBOL están jubilados, están considerando jubilarse o están muertos. Perdimos regularmente a las personas que tienen las habilidades para mantener en funcionamiento estos sistemas vitales. Los programadores nuevos y más jóvenes no conocen COBOL. La mayoría tampoco quiere trabajar en sistemas en los que tenga que mantener el código antiguo o escribir código nuevo.

Es un problema tal que Bill Hinshaw, un veterano de COBOL, se vio obligado a retirarse para fundar COBOL Cowboys. Esta empresa de consultoría privada atiende a clientes corporativos desesperados que no pueden encontrar codificadores que conozcan COBOL en ninguna parte. Los «niños» de COBOL Cowboys (cuyo lema es «No es nuestro primer rodeo») tienen más de 50 años. Creen que el 90 por ciento de los sistemas empresariales de Fortune 500 se ejecutan en COBOL.

Por supuesto, las empresas privadas, las corporaciones y los bancos no son los únicos que necesitan procesar cantidades gigantescas de datos financieros. Los departamentos gubernamentales federales, provinciales y locales tienen los mismos requisitos. Como todos los demás, usan mainframes y COBOL para esto.

El terrible impacto de la pandemia de coronavirus ha resultado en dolor, muerte e incertidumbre económica para los dueños de negocios, empleados y autónomos. El gran número de empleados con licencia y despedidos en Nueva Jersey llevó a la gobernador para utilizar programadores COBOL experimentados Apoyar los sistemas de back-end del estado que están envejeciendo. Estos se ponen a prueba para hacer frente a 326.000 nuevos registros.

los Proyecto de mainframe abierto lleva a cabo una iniciativa de voluntariado para ayudar. Si cree que podría ayudar, estarán encantados de saber de usted.

Nueva Jersey no está sola en esta situación. Más de 10 millones de personas se han registrado como desempleadas y esta cifra va en aumento. Connecticut lucha por procesar un cuarto de millón de nuevos registros en sistemas estatales de 40 años.

Este es un problema generalizado y profundamente arraigado. A Informe de la Oficina de Responsabilidad del Gobierno 2016 Sistemas COBOL listados que se ejecutan en mainframes de hasta 53 años. Estos incluyen los sistemas utilizados para procesar datos relacionados con el Departamento de Asuntos de Veteranos, el Departamento de Justicia y la Administración del Seguro Social.

¿Por qué no migrar y actualizar, como ayer?

Actualizar estos sistemas heredados no es tan fácil como parece. Los sistemas son centros vitales las 24 horas del día, los 7 días de la semana, que giran en el mundo financiero, gubernamental y empresarial. El código es antiguo, tiene varias capas y, a menudo, está mal o completamente indocumentado. También tiene que funcionar, todo el tiempo. La perspectiva se ha comparado con quitar las hélices de un avión e intentar equiparlo con motores a reacción, en vuelo.

Dejando de lado el riesgo, el argumento económico para migrar a sistemas modernos también es sólido. El dinero que se ha invertido en mantener estos mainframes y aplicaciones COBOL en funcionamiento es increíble. ¿Deberían las instituciones desechar todo y empezar de nuevo mientras este código COBOL todavía se está ejecutando y funcionando? Ese es un argumento difícil para una placa que probablemente no sea particularmente conocedora de la tecnología. Una migración COBOL no será barata ni rápida.

“Acabo de completar una conversión de COBOL a Java”, dijo Hinshaw. «Les tomó cuatro años, y aun no han terminado. «

Cuando el Commonwealth Bank of Australia reemplazó su principal plataforma COBOL en 2012, tomó cinco años a un costo final de $ 749,9 millones (AU $ mil millones).

Y ahí es cuando sale según lo planeado. banco británico, BST, se vio obligado a migrar de un sistema basado en COBOL en 2018 debido a una compra. No salió bien. Debido a que el banco no pudo negociar durante días, el costo de la migración terminó siendo de £ 330 millones. Esto se suma al costo presupuestado del trabajo de ingeniería para la migración real. TSB también perdió 49,1 millones de libras esterlinas por fraude financiero debido a que sus sistemas fallaron.

La compensación del cliente superó los £ 125 millones y el banco tuvo que gastar £ 122 millones para contratar personal nuevo para manejar 204.000 quejas de clientes. El director general ha dimitido y la empresa sigue reparando los daños dos años después del suceso.

El acertijo COBOL

Las cosas no pueden seguir como están, pero la perspectiva de hacer algo no es nada atractiva. Sin embargo, la única forma de mejorar las cosas es mediante migraciones controladas y cuidadosas a software y hardware modernos.

Lograr esto sin interrupciones, pérdida de datos y tiempo de inactividad requerirá experiencia y dinero modernos, que es el 50% de la ecuación. La otra mitad es la experiencia y el tiempo de COBOL. Desafortunadamente, estos son los dos ingredientes de los que casi nos estamos quedando sin.

Tal vez una nueva raza de vaqueros COBOL llegue a la ciudad.

Experto Geek - Tu Guía en Tendencias Tecnológicas