El Fin de Visual C++ 6.0

Finalmente el grandulón dará muerte a su viejo entorno de desarrollo Visual C++ 6.0, el cual no funcionará sobre Windows Vista.

Según explica MS, el único ambiente de desarrollo (de la rama 6.0) que seguirá siendo soportado es el Visual Basic 6.0 debido a que “no dispone de un reemplazo equivalente”, mientras que los desarrolladores que trabajan sobre los demás productos deberán actualizar a versiones más nuevas, en particular los de la rama Visual (X) 2005 SP1, ya que las versiones 2002 y 2003 tampoco serán soportadas.


A pesar de su popularidad, el compilador de Visual C++ 6.0 posee un gran numero de errores, omisiones y violaciones al estándar de C++ que no solo no imposibilitan compilar código que sí funciona con otros compiladores, sino que además código que compila con él dificílmente puede ser compilado con otros compiladores, incluso versiones más nuevas del mismo.

A modo de ejemplo, el siguiente fragmento de código:

for (int i = 0; i < nTotal; i++)
{
    printf("Hola %d\n", i);
}

Es válido y compila perfectamente bajo Visual C++ 6.0, sin embargo, la variable i interna al bucle sigue declarada tras salir del cuerpo, lo cual viola el estándar y genera problemas. Por ejemplo, supongamos que a continuación en el código se presentara otro for que también utilizara la variable i para iterar. Como i ya estaba declarada, el programa no compilará.

Para peor imaginen que el desarrollador utilizase la variable i fuera del for que la declara, el compilador debería prohibirlo, sin embargo como Visual C++ 6.0 mantiene la declaración, resultaría válido.

for (int i = 0; i < nTotal; i++)
{
    printf ("Hola %d\n");
}
i = 10; //Inválido, tu compilador debería odiarlo!

Ahora tenemos un programa que compilará perfectamente en Visual C++ 6.0, pero no en ningún otro compilador, ¡ni siquiera Visual C++ 7.0!

A estos problemas se suma la falta de soporte para la instrucción using, pobre soporte para templates y toda una gama de errores en la biblioteca estándar (STL).

Si bien no me parece del todo correcto que se fuerce a los desarrolladores a actualizar sus herramientas en base periódica por razones económicas, pienso que esta “pequeña omisión de soporte” terminará beneficiando a los desarrolladores al hacerlos trabajar con versiones más apegadas a los estándares.

Por una lista más completa de problemas e incompatibilidades entre Visual Studio y Windows Vista, pueden revisar aquí

This entry was posted in Mocosoft, Programacion. Bookmark the permalink.