Si tienes aplicaciones en producción escritas en Visual Basic 6, ya sabes que Microsoft retiró el soporte en 2008. Llevamos dieciocho años operando sobre un entorno sin parches de seguridad, sin actualizaciones de runtime y sin compatibilidad nativa con sistemas operativos modernos de 64 bits. La pregunta sobre qué programa puede sustituir a Visual Basic 6 no es académica: es una decisión que la mayoría de CTOs e IT Directors tienen pendiente desde hace años y que, en algún momento, deja de ser aplazable. Este artículo no pretende convencerte de nada que no sepas ya. Pretende ser la guía técnica que te faltaba para tomar esa decisión con criterio.
La respuesta más honesta es que aplazar tenía lógica económica. Mientras el sistema funcionara, el coste de no migrar era invisible. Los costes visibles —migración, riesgo operacional, curva de aprendizaje— pesaban más en el presupuesto anual.
Lo que ha cambiado en los últimos tres años es que esa ecuación ya no funciona:
El coste de mantenimiento ha crecido de forma no lineal. Menos del 2% de los desarrolladores activos trabaja con Visual Basic como tecnología primaria (Stack Overflow Developer Survey 2024). El coste por hora de un especialista sénior VB6 en España se ha multiplicado por 2,3 en los últimos cinco años.
La deuda técnica ha alcanzado un punto de inflexión. Las aplicaciones desarrolladas entre 1995 y 2005 en VB6 tienen hoy entre 20 y 30 años de parches, workarounds y lógica de negocio enterrada en módulos que nadie recuerda qué hacen.
Los reguladores no son indiferentes. DORA (Digital Operational Resilience Act), en vigor desde enero de 2025, establece requisitos de resiliencia operacional. Una aplicación sin soporte de fabricante que procesa transacciones financieras es un punto de riesgo regulatorio documentado.
Hay cuatro caminos que se plantean en cualquier proyecto de modernización de VB6:
Tiene sentido cuando el sistema es pequeño y bien documentado. El 74% de las iniciativas de reescritura manual superan el presupuesto inicial, y el 52% no completan la migración funcional en el plazo previsto según un informe de Gartner de 2023. El problema de fondo: la lógica de negocio está en los años de parches que nadie documentó.
La IA generativa no es determinista: dado el mismo input puede producir outputs distintos. Para sistemas de liquidaciones bancarias o cálculo de pólizas, una variación no prevista es un riesgo regulatorio, no un bug. Según un informe de Forrester Research de 2024, el 68% de los pilotos de migración con IA en sistemas críticos se interrumpieron por problemas de trazabilidad.
Solución de transición, no de modernización. Útil para ganar 12–18 meses mientras se prepara la migración real. Riesgo: adoptarlo como solución permanente, acumulando una capa adicional de deuda técnica.
Nuestro proceso de migración automatizado con lenguaje pivote propio produce una equivalencia funcional verificable y trazable siguiendo reglas formales — no estadísticas —. Resultado: código limpio, legible y mantenible por el equipo propio, sin licencias adicionales. Indicado para sistemas con 50+ unidades funcionales, lógica compleja o mal documentada, y entornos regulados donde la trazabilidad es obligatoria.
Para aplicaciones secundarias: posiblemente sí. Para aplicaciones de core con 25 años de reglas acumuladas: no, y probablemente no lo será en los próximos tres años para ese nivel de criticidad.
El argumento no es que la IA sea mala tecnología — es excelente en assessment, documentación automática y generación de tests —. El argumento es que el lugar donde una variación no es tolerable es exactamente donde la IA tiene sus limitaciones inherentes. Para esos sistemas, el determinismo no es un argumento de marketing: es un requisito funcional.
En los proyectos que hemos ejecutado, el proceso sigue este patrón:
El trigger inicial es casi siempre un incidente, una auditoría o un cambio regulatorio. El plazo en backlog suele ser de 2 a 5 años.
La primera evaluación incluye consultoras grandes y herramientas de IA. El resultado: reescritura manual cara o piloto de IA que no escala a los módulos críticos.
El criterio de selección final no es el precio. Es la certeza técnica: «¿puedo comprometer este proyecto ante mi consejo de administración con garantía de que va a funcionar?»
Una prueba de concepto gratuita sobre los propios módulos del sistema responde a esa pregunta mejor que cualquier presentación.
No hay un sustituto directo en el sentido de «instalo X y el código funciona igual». Lo que existe son estrategias de migración hacia lenguajes modernos como Java, C# o Angular. El criterio más importante no es el lenguaje destino sino el proceso de migración: que garantice equivalencia funcional completa, trazabilidad y que no requiera congelar el código durante el proyecto.
¿Puede la IA generativa (ChatGPT, GitHub Copilot) migrar aplicaciones VB6?Puede generar código en lenguajes modernos a partir de VB6, pero no de forma determinista. Para sistemas que procesan transacciones financieras o cálculo de pólizas, la falta de trazabilidad verificable es un problema que ninguna revisión manual puede resolver completamente a escala. Los proyectos que lo han intentado suelen alcanzar un 60–70% de cobertura y se bloquean en los módulos más críticos.
¿Cuánto tiempo lleva migrar un sistema VB6 a Java o Angular?Una prueba de concepto sobre módulos reales: 2–4 semanas. Un proyecto completo de migración automatizada: entre 3 y 18 meses según volumen y complejidad. La variable crítica no es el volumen de código, sino la complejidad de la lógica de negocio y si el negocio puede seguir evolucionando durante la migración.
¿Qué pasa si seguimos manteniendo aplicaciones VB6 en producción sin migrar?A corto plazo el sistema seguirá funcionando. El riesgo es acumulativo: incompatibilidades con Windows 11/Server modernos, imposibilidad de parches de seguridad, escasez de desarrolladores VB6. En el contexto de DORA (en vigor desde enero 2025), operar con aplicaciones críticas sin soporte de fabricante debe estar documentado como riesgo gestionado.
¿Cuál es la diferencia entre migración automática determinista y reescritura manual de VB6?La reescritura manual depende de cuánto entendió el equipo de la lógica original. La migración automática determinista parte de reglas formales de transformación: el código se convierte siguiendo un proceso reproducible donde la equivalencia funcional es verificable y trazable. Cualquier auditor puede ver qué línea del código original corresponde a qué línea del nuevo.
¿Cómo sé si mi sistema VB6 es candidato a migración automática?Los mejores candidatos: sistemas con 50+ unidades funcionales, lógica de negocio consolidada, entornos regulados donde la trazabilidad es obligatoria, y organizaciones que no pueden tolerar una parada del sistema. Una prueba de concepto gratuita sobre los módulos más representativos es la forma más rápida de validar antes de comprometer ningún presupuesto.