Claude 3.7 ha devuelto a la vida un viejo programa de 1997. La pregunta es si la IA podrá traducir viejos proyectos en COBOL o FORTRAN

  • Los proyectos creados con viejos lenguajes de programación suelen ser difíciles de adaptar a los nuevos tiempos

  • Pero puede que los nuevos modelos de IA logren ayudar en esa importante tarea de modernización

Oldpc
6 comentarios Facebook Twitter Flipboard E-mail

Un veterano programador recibió hace unos días la visita de su nieta de dos años. Fue entonces cuando recordó que en 1997 programó una aplicación en Visual Basic 4 una aplicación que quizás la divertiría. El problema era que solo tenía el ejecutable, y no era fácil poder utilizarlo en sus equipos actuales, así que se le ocurrió una idea.

Traduce esta vieja app a Python. Lo que hizo, como contó en Reddit (con un post reescrito tambén por esta IA), fue subir el ejecutable como entrada para el recién lanzado modelo de IA Claude 3.7. Le pidió algo simple: "¿Puedes decirme cómo lograr ejecutar este fichero? Creo que lo programé con Visual Basic 4, sería estupendo convertirlo a Python".

Pseudoingeniería inversa. Lo sorprendente es que Claude 3.7 mostró algunas advertencias, pero luego se puso a analizar el fichero binario e identificó algunos componentes del programa. De hecho fue más allá y tradujo ese código a Python usando la librería Pygame.

Código modernizado. El sistema de IA logró replicar a la perfección la funcionalidad del programa original, y el modelo proporcionó además instrucciones para instalarlo y ejecutarlo sin problema, pero es que además se ejecutó y funcionó al 100% desde el primer momento. Y todo en cinco minutos.

Y modificaciones, las que quieras. Este usuario luego pediría algunas mejoras, como asociar ciertos sonidos a la barra espaciadora o añadir tipografías de colores, y Claude 3.7 modificó el código a la perfección para ofrecer esas mejoras.

Pero. El usuario llegó a compartir toda la conversación en Claude para que cualquiera pudiera comprobar el proceso que siguió. Como él mismo señaló Visual Basic genera P-Code (pseudocódigo), una especie de compilación intermedia en la que hay algunos elementos reconocibles, pero no demasiados para ayudar a esa tarea de ingeniería inversa.

Una puerta a modernizar viejos proyectos software. Es cierto que el pseudocódigo generado por VB facilitó esa tarea de "ingeniería inversa", pero aun así este experimento con Claude 3.7 parece abrir la puerta a que otros muchos viejos proyectos software se modernicen.

¿Una salida para los mastodontes creados con COBOL o FORTRAN? De hecho, lenguajes de programación ya muy veteranos como COBOL o FORTRAN siguen siendo muy importantes en industrias como la banca, y obligan a mantener sistemas que puedan mantener la compatibilidad con esas viejas aplicaciones.

Falta de programadores. No hay ya muchos programadores que se dediquen a estos lenguajes de programación, lo que hace que poder "traducirlos" a lenguajes de programación más modernos sea especialmente interesante. En 2023 IBM mostró precisamente un proyecto basado en IA para traducir programas de COBOL, pero no está claro si eso ha permitido completar proyectos ambiciosos en ese sentido. Lo logrado por Claude 3.7 desde luego abre la puerta a lograrlo.

El ejemplo de MOCAS. Hace años ya hablamos de MOCAS, un software creado en 1958 y utilizado en la administración de EEUU para la "mecanización de contratos de servicios de administración". Está programado en COBOL —de hecho se programó originalmente en Flow-matic— y sigue funcionando hoy en día, pero hace tiempo que en EEUU buscan formas de adaptarlo a los nuevos tiempos. Quizás Claude 3.7 o modelos de IA similares logren ofrecer una solución a ese problema.

Aun así, difícil. El ejemplo mostrado por ese veterano programador es llamativo, pero se trataba de una pequeña aplicación. Proyectos como MOCAS son enormemente más complejos y son parte de una serie de interdependencias con otros componentes, lo que hace que esa posible tarea de ingeniería inversa y traducción sea más difícil. Pero cuidado: puede que no sea imposible, y al menos Claude 3.7 y otros modelos pueden acabar siendo precisamente la herramienta que necesitábamos para llevar a cabo esa tarea.

Imagen | FlipFlopFlorida

En Xataka | Los jóvenes programadores ya no saben programar: la IA está provocando ahora lo mismo que provocó la calculadora hace medio siglo

Inicio