Algunas apps de Windows 3.1 eran tan "malas" que Windows 95 no podía ni con ellas

Un ingeniero de Microsoft revela que algunas aplicaciones de Windows 3.1 eran tan problemáticas que ni Windows 95 pudo hacerlas compatibles.
Durante el desarrollo de Windows 95, uno de los mayores retos para Microsoft fue lograr que el nuevo sistema operativo fuese compatible con el software existente.
El objetivo era claro: permitir que los usuarios pudieran seguir utilizando sus programas de Windows 3.1 sin ningún tipo de problema. Sin embargo, la realidad fue bastante diferente.
El ingeniero Raymond Chen ha explicado recientemente que algunas aplicaciones de Windows 3.1 eran directamente imposibles de adaptar a Windows 95. Según sus palabras, ciertos programas eran tan “malos” en su forma de funcionar que ni siquiera los esfuerzos del equipo de desarrollo lograron hacerlos compatibles.
El principal problema estaba en cómo estas aplicaciones gestionaban la memoria. En lugar de utilizar los métodos oficiales proporcionados por el sistema, algunos programas recurrían a técnicas poco ortodoxas. Por ejemplo, convertían identificadores de recursos del sistema en punteros de memoria directos, accediendo a partes internas del sistema operativo que no estaban pensadas para ser manipuladas.
Este tipo de prácticas funcionaban en Windows 3.1, pero dejaban de hacerlo en Windows 95 debido a un cambio fundamental en la arquitectura. Mientras que el primero utilizaba un sistema de memoria de 16 bits, el nuevo sistema operativo dio el salto a los 32 bits, lo que rompía por completo estos “trucos”.
No fueron los únicos casos problemáticos. Algunas aplicaciones también realizaban comprobaciones incorrectas de la versión del sistema operativo. Es decir, si no detectaban una versión concreta como Windows 3.0 o 3.1, asumían erróneamente que estaban ejecutándose en sistemas mucho más antiguos, lo que provocaba fallos.
A pesar de todo, Microsoft hizo enormes esfuerzos para mantener la compatibilidad. Implementaron soluciones como modos especiales, flags de compatibilidad y parches en memoria que corregían el comportamiento de programas conflictivos en tiempo real. Gracias a estas técnicas, la mayoría del software pudo seguir funcionando.
Sin embargo, todo esto tuvo un coste. Muchos de los problemas de estabilidad que marcaron la era de Windows 95 estuvieron directamente relacionados con este esfuerzo por mantener viva la compatibilidad.