Tu banco usa un lenguaje que tiene 60 años de edad

Banks still run on COBOL, a programming language from the 1950s, because it's stable, reliable, and too expensive and risky to replace. Grace Hopper's work on Flow-Matic led to COBOL's creation, and the U.S. Department of Defense pushed its adoption. Migrating away costs billions and requires skills almost no one has anymore.
Chapters
En un momento dado necesitas pagar la cuenta de un sitio de comida rápida. Necesitas dinero en metálico porque el pequeño negocio no acepta tarjeta. Mueves dinero. ¿Cuántas veces lo haces al día? ¿Y si te dijera que el software tras este simple movimiento está sustentado por un lenguaje con 60 años de edad?
Antes de continuar, un inciso. ¿Te gustaría apoyar a nuestro canal? No olvides que puedes suscribirte y activar la campanita para no perderte futuro contenido. Se agradecen me gustas. Y además, si nos prefieres en formato podcast, podemos acompañarte desde Spotify. Ahora sí, continúa.
Pero de verdad, ¿aún se sigue usando ese lenguaje y esos códigos de hace décadas?
En cierta forma sí. Es decir, muchos bancos han creado sus sistemas desde una base nueva con lenguajes más modernos, pero es cierto que muchos bancos creados hace décadas implementaron parte de su sistema en este lenguaje y aún lo siguen manteniendo en ese sistema.
Se podría pensar que que se trata de lenguajes como Fortran, aunque este es anterior, o quizás Lisp, este es coetáneo, o C incluso, aunque este llegó 20 años después del que nos ocupa. Pero no, hablamos de COBOL.
¿Y siendo tan antiguo no le ha dado tiempo a modernizarse?
Ha ido evolucionando, pero no lo ha hecho hasta el punto de poder considerarse un lenguaje competitivo y con características tan llamativas como tienen otros lenguajes modernos hoy en día. Vayamos a finales de la década de los 50 para ver por qué surgió COBOL, qué necesidad cubría y por qué ha durado hasta nuestros días. Y antes de continuar, nos gustaría presentaros a nuestro patrocinador: Altenwald.
Altenwald es una empresa dedicada a la divulgación de la programación, pero no es para los amantes de la comida rápida.
Los libros son cuidadosamente escritos a través de la experiencia real de sus autores y el apoyo de sus revisores.
En su biblioteca podréis encontrar libros de todo tipo, pero queremos hacer hincapié en el de Historia de los lenguajes de programación, donde se cuentan historias sobre los lenguajes creados en la década de 1940 y 1950.
Además, están en ciernes de publicar su segunda parte cubriendo los lenguajes de la década de 1960.
Este primer libro cubre lenguajes como COBOL, del que hablaremos en este episodio, y en el mensaje fijado Podréis encontrar un cupón para conseguir el libro a un 50% de descuento. No perdáis la oportunidad.
Y ahora sigamos con nuestra historia.
Un lenguaje para la empresa. En vídeos anteriores hemos mencionado al Gol, un lenguaje surgido a finales de la década de los 50 y que fue propuesto por la asociación ACM, Association for Computing Machinery, o Asociación para la Maquinaria de Computación, y GAM. Sociedad de Matemáticas y Mecánica Aplicadas. No pienso pronunciar eso en alemán. Para cubrir la necesidad de tener un lenguaje transversal que poder usar en papers, en documentos y artículos académicos y que todos pudiesen entender. Este lenguaje fue muy popular en el ámbito académico. Participaron en él grandes profesionales de la computación como Perlis, Backus o nuestro viejo conocido Dijkstra.
Pero si Algol fue un lenguaje propuesto por un comité y sus primeras versiones estaban ya disponibles en 1959, ¿Por qué se creó otro comité para crear COBOL?
Porque, mientras que en Europa la computación aún no se había expandido masivamente al terreno de la empresa, sí que lo hizo en Estados Unidos. Las empresas norteamericanas y el ejército estadounidense compartían un dolor con respecto a la programación: no querían emplear símbolos matemáticos para programar.
Entonces, ¿hubo algún matemático que se alzase a proporcionar algo para este público empresarial?
Exactamente. Chris Hopper se hizo cargo de este dolor y desde su empresa propuso una serie de lenguajes que permitían emplear palabras clave para programar, usar el inglés en lugar de los símbolos matemáticos, y esta iniciativa se vio mucho más factible y fácil para los responsables de empresas y altos cargos del ejército. Amazing Grace.
Por este sobrenombre se conoce a esta gran programadora. Comenzó su carrera como profesora de matemáticas en el Vassar College, una institución solo para mujeres donde Grace Hopper se graduó y más tarde pasó a formar parte del profesorado.
Sin embargo, el 7 de diciembre de 1941, cuando Pearl Harbor fue bombardeado, muchos hombres y mujeres se alistaron en las fuerzas armadas para combatir por su país. La familia de Grace Hopper tomó muy en serio la amenaza y todos procedieron a alistarse. Grace Hopper decidió en ese momento que su matrimonio no funcionaba y decidió cambiar radicalmente de vida. Se divorció justo antes de entrar a formar parte de las Fuerzas Armadas y abandonó su puesto de trabajo como profesora del Vassar College.
Entonces, Grace Hopper dejó su puesto de profesora y aceptó un puesto en el ejército en 1941.
Sí, exacto.
Dada su formación, llegó a ser oficial en una de las organizaciones más sexistas de su tiempo. Su rango militar, el protocolo y la tradición ayudaron a neutralizar los prejuicios sociales contra las mujeres en posiciones públicas de responsabilidad, llegando a ser mentada como la Teniente Hopper y asignada al Comandante Howard Aiken en el Laboratorio de Computación de Harvard.
¿Y se mantuvo dentro del ejército toda su carrera?
Bueno, no exactamente. Cuando la guerra acabó y el ejército dejó de necesitar las instalaciones tomadas en su momento a las universidades, muchos militares fueron reubicados a otras bases y muchos otros fueron licenciados, como el caso de Grace Hopper. Una universidad como Harvard proporcionaba posiciones a hombres, pero no a mujeres en aquellos tiempos, y tuvo que buscar otro puesto de trabajo. Grace Hopper se unió a John Mauchly, John Ecker y algunas de las programadoras del ENIAC, como Betty Snyder, más tarde Holberton, para trabajar en EMCC, la empresa de Mauchly y Ecker. La empresa más tarde pasaría por un periodo de crisis y terminaría siendo vendida a RAND Corporation, donde Grace Hopper comenzó a publicar sus compiladores.
¿Compiladores? ¿Qué se supone que es eso?
El compilador era la forma de agrupar código conocido, como el de una multiplicación, una raíz cuadrada o código genérico que hacía algo de modo que enlazado trozo tras trozo se consiguiera el resultado esperado.
¿Y eso fue idea de Grace Hopper? ¿A nadie más se le ocurrió antes?
En verdad, el primer programa compilador no fue obra de Grace Hopper, pero si recuerdas a Alan Kay cuando tuvo su epifanía de los objetos, si seguimos el mismo ciclo, Grace Hopper indujo una forma de organizar el código de cómo lo hacían algunos lenguajes y algunas personas, luego generalizó su uso repetido en el tiempo y en definitiva Grace Hopper vio la forma de reutilizar trozos de código y juntarlos para formar programas.
¿Fue cuando hizo su compilador?
En verdad comenzó poco a poco, hizo diferentes compiladores hasta finalmente llegar a Flowmatic, que disponía de los elementos que buscaba en un lenguaje.
Como dijimos antes, necesitaba un lenguaje que la gente quisiera usar y desde RAND Corporation Grace Hopper tuvo una visión muy diferente al sector académico y gubernamental. Necesitaba un lenguaje que estuviese adaptado a las necesidades de la empresa.
Hemos dicho que ese lenguaje era COBOL al principio. ¿Qué tiene que ver con Flowmatic?
Bueno, Grace Hopper necesitaba vender la idea no solo desde RAND Corporation.
Necesitaba que hubiese un lenguaje que tuviera su visión y se hiciera estándar de facto para emplearse en empresas y el gobierno, y por eso necesitaba algo diferente a Flowmatic, aunque COBOL se inspirase enormemente en este último.
El nacimiento de COBOL. COBOL son las siglas de Common Business Oriented Language, lenguaje orientado a los negocios comunes. En mayo de 1959 se creó CODASYL.
¿CODASYL? ¿No era esa una conferencia donde se hizo el gran debate sobre si continuar con IDS o emplear los lenguajes relacionales?
Sí, la misión de esa conferencia era la creación de COBOL por parte de un consorcio de industria informática.
De hecho, esta historia está muy ligada al inicio del gran debate porque una de las extensiones que se realizaron de COBOL por parte de Charles Bachmann fue IDS en 1969. Y en 1968 pasó a llamarse CODASYL.
No obstante, si queréis saber más sobre los orígenes y todo lo que Grace Hopper y Betty Holberton, entre otros, tuvieron que hacer y las dificultades que afrontaron, podéis leerlo en el libro de historia de los lenguajes de programación.
Entonces, ¿de qué vamos a hablar exactamente?
Pues lo que nos interesa saber es por qué COBOL se mantuvo en primera línea como el lenguaje predilecto.
Hay diferentes motivos por los que se hizo popular a partir de la década de 1960. Los puntos principales fueron que COBOL Cubría las necesidades empresariales.
En la década de 1950, las empresas estaban experimentando un rápido crecimiento y necesitaban sistemas de procesamiento de datos más eficientes. COBOL fue diseñado específicamente para abordar las necesidades comerciales y financieras, lo que lo hizo atractivo para las empresas.
Ofrecía un estándar para las empresas.
COBOL fue uno de los primeros lenguajes de programación en ser estandarizado, Esto significa que las aplicaciones escritas en COBOL podían ejecutarse en diferentes sistemas informáticos sin cambios significativos en el código, lo que facilitó la portabilidad y la reutilización de software.
Fue apoyado por el gobierno de Estados Unidos.
El Departamento de Defensa de Estados Unidos desempeñó un papel importante en la promoción de COBOL. Financió el desarrollo del lenguaje y requirió su uso en aplicaciones militares, lo que llevó a una rápida adopción.
Es un lenguaje centrado en los negocios.
COBOL se diseñó pensando en los negocios, con un enfoque en la manipulación de datos comerciales y financieros. Esto lo hizo adecuado para una amplia gama de aplicaciones empresariales, desde contabilidad hasta la gestión de inventarios.
Era fácil tanto para leer como para escribir.
COBOL se diseñó con una sintaxis legible que se asemeja al inglés, lo que facilita la comprensión y la escritura de programas para aquellos que no son programadores altamente técnicos.
Fue ampliamente adoptado en industrias clave.
COBOL se adoptó ampliamente en industrias como la banca, seguros y administración gubernamental, donde se requerían aplicaciones empresariales confiables y escalables.
Se proporcionó capacitación y educación.
Se ofrecieron amplios programas de capacitación y educación en COBOL, lo que facilitó que más programadores y profesionales aprendieran y utilizaran el lenguaje.
Con ese apoyo por parte de las instituciones y la gran adopción e implantación en muchos sistemas diferentes, COBOL tuvo su éxito garantizado.
Pero incluso cuando nuevos lenguajes comenzaron a aparecer, ¿por qué COBOL siguió manteniendo su liderazgo e incluso presencia? Muchos otros lenguajes desarrollados en esa época comenzaron a desaparecer y, sin embargo, COBOL se mantuvo. ¿Cuál fue su secreto?
El reinado de COBOL. COBOL aún sigue siendo usado en muchas empresas. Muchos de los bancos que manejan nuestro dinero aún tienen código escrito en COBOL. Y aunque haya habido algunas iniciativas para intentar migrar esta base de código a otros lenguajes, no se hará.
Entonces, ¿ese código está abandonado y nadie lo toca?
No, aún hay programadores de COBOL inactivos. De hecho, el gobernador de Nueva Jersey, Phil Murphy, hizo un llamamiento público para encontrar profesionales que pudieran mantener un software del gobierno escrito en COBOL.
Un lenguaje con 60 años pero aún muy vivo.
¿Qué motivos llevan a no poder realizar este cambio.
De entre los problemas encontrados a la hora de intentar migrar el código hecho en este lenguaje, los más comunes son: Existe una herencia histórica.
Muchos sistemas críticos para el negocio se desarrollaron en COBOL y todavía están en funcionamiento. Se respeta la máxima de los profesionales de la computación: si no está roto, no lo toques.
Los sistemas son estables y confiables.
COBOL es conocido por ser un lenguaje estable y confiable. Los sistemas empresariales que gestionan grandes volúmenes de datos y transacciones a menudo requieren esta estabilidad para evitar errores costosos. Bill Curtis, jefe de análisis de software, y la empresa de medición CAST determinaron que la migración de COBOL a Java no era posible porque COBOL presenta una mayor seguridad que los lenguajes actuales.
Los costos de migrar son muy elevados.
Reemplazar sistemas existentes es escritos en COBOL con tecnologías más modernas puede ser costoso y arriesgado. Las empresas pueden ser reacias a hacer una migración completa debido a los riesgos y a los gastos asociados. Bill Curtis decía que reescribir todo el código hecho en COBOL en otro lenguaje como Java sería un desastre. Es factible, pero requeriría un alto coste y el mantenimiento de errores no acabaría nunca.
La escasez de profesionales cualificados Puede parecer un dato preocupante desde un punto de vista empresarial y del gobierno de los Estados Unidos, tal y como vimos por el comunicado del gobernador, pero es muy llamativo para los programadores porque les asegura un puesto de trabajo con unos salarios muy competitivos.
Demasiada regulación y normativa.
En industrias como la banca, seguros y gobierno existen regulaciones y normativas estrictas que requieren que los sistemas sigan funcionando de manera confiable. Fiable. Cambiar a un nuevo lenguaje o plataforma puede llevar tiempo y esfuerzo para cumplir con estas regulaciones. Cada nuevo sistema debería someterse a una auditoría para conseguir un certificado que indique que cumple una cierta regulación y unas ciertas normas, lo cual es costoso tanto en tiempo como en dinero a invertir.
La modernización en lugar del reemplazo.
Finalmente, muchas empresas optan por modernizar solo pequeñas partes de su infraestructura estructura manteniendo el sistema central aún escrito y funcionando en COBOL. De esta forma pueden aprovechar y conectar sistemas COBOL con tecnologías más nuevas como servicios web y bases de datos modernas. Conclusiones.
¿Podemos considerar que tenemos COBOL para muchos años más?
Por todo lo anterior no cabe duda de que seguirá siendo empleado en organizaciones bancarias, de seguros y gobiernos, entre otros, y nos acompañará durante algunas décadas más.
COBOL ha demostrado ser lo suficientemente confiable y estable como para necesitar ser reemplazado.
¿Y es realmente necesario cambiarlo?
En realidad, y como hemos visto, no es así. Hay una tendencia en tecnología a modificar, cambiar y mejorar los entornos a un ritmo frenético. Hemos visto en otros episodios cómo avanzan los sistemas y los lenguajes.
Pero es en beneficio de empresas y trabajadores, ¿no?
Realmente, a nivel de empresa y como trabajadores, muchas veces no nos conviene que estos cambios lleguen de forma tan repentina.
Quizás en este caso sea mejor que, si funciona, no lo toquemos.
Y ahora te toca a ti. ¿Habías oído hablar con anterioridad de este lenguaje de programación?
¿Sabías que sistemas tan antiguos se mantenían aún funcionando a pleno rendimiento en grandes instituciones y gobiernos?
Déjanos tu comentario.
More from Manuel

Historia de los Lenguajes de Programación: años 1960-1969 #basic #apl #simula #lisp #logo

¿Compilador o intérprete? La historia de una rivalidad que comenzó en los años 40








