Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

Microsoft mata a VBScript: ¿El fin de ASP "Clásico"?

👆👆👆 Suscríbete a nuestro podcast. Y mejor aún, a nuestro boletín mensual: todo cosas útiles que no encontrarás en otro lado, una vez al mes.

El pasado mes de mayo, sin darle mucha importancia, casi intentando volar bajo el radar, Microsoft anunció que iba a matar a VBScript a partir de la próxima versión de Windows Server.

A lo mejor te piensas que eso no tiene importancia, pero es algo con grandes implicaciones que vamos a analizar a continuación. Quédate que igual te interesa más de lo que piensas.

¿Qué es VBScript?

¿VBScript? ¿Pero esto no es una cosa de hace 30 años?

Efectivamente. Como te conté en el episodio dedicado a la historia de JavaScript, VBScript fue la respuesta de Microsoft en 1996 a este nuevo lenguaje lanzado por Netscape que se iba a comer el mundo de los navegadores. Yo mismo escribí mi primer libro al año siguiente precisamente sobre este lenguaje.

Aunque VBScript no llegó a comerse el mercado de los navegadores (ni mucho menos), ha sido (y es) un lenguaje muy popular para administrar sistemas Windows. Esto es gracias a que Microsoft lanzó una característica llamada Windows Scripting Host o WSH que permitía automatizar multitud de cosas en el sistema operativo usando VBScript o la variante de JavaScript de la empresa, JScript.

Tener esto de serie en el sistema operativo te daba una flexibilidad que no podías conseguir con los archivos .bat de la línea de comandos, y hasta que apareció PowerShell era la mejor manera de automatizar cosas en Windows, por lo que se hizo muy popular. De hecho, la propia Microsoft tiene miles de scripts de Windows Scripting Host para gestionar todo tipo de productos.

Es por todo esto que VBScript viene incluido de serie en Windows desde Windows 98, hace 26 años, hasta hoy en día. Y seguro que has visto los típicos archivos .vbs y los has utilizado para gestionar algún producto de Microsoft.

ASP Clásico

Pero es que además VBScript encontró otro lugar muy destacado de manera inesperada: el servidor.

Microsoft tiene un servidor Web y servidor de aplicaciones llamado Internet Information Server (IIS). En la misma época, a finales de 1996, crearon una extensión para el servidor llamado ASP (Active Server Pages o Páginas Activas de Servidor). Trataban de competir con PHP y utilizaban exactamente las mismas bibliotecas de VBScript y JScript que el navegador para crear la lógica de las aplicaciones. Era una tecnología sencilla, muy ligera, con mucho rendimiento y con la que podías crear aplicaciones super rápido. Personalmente me encantaba, a pesar de sus limitaciones comparada con lo que hay hoy en día. Y he programado muchísimo con ella.

Se crearon millones de sitios web basadas en ella. Y, aunque parezca cosa del pasado, en realidad se estima que aún hoy en día existen más de mil millones de sitios Web que siguen utilizando ASP clásico, y eso sin contar muchísimos sitios privados, como Intranets, que también lo utilizan.

(te dejo un enlace en la descripción a los datos y a lo demás que voy mencionando).

Más del 90% de los sitios creados con ASP clásico utilizan VBScript. Estamos hablando de centenares de millones de desarrollos activos creados con esta tecnología que si despareciera no tendrían alternativa, pues seguramente no compensaría migrarlos, ya que no es nada directo.

¿Qué ha dicho Microsoft sobre VBSCript y ASP Clásico?

Un poco bajo el radar, a finales de mayo Microsoft sacó un artículo en el blog para los profesionales de TI de Windows IT Pro diciendo que iban a "deprecar" VBScript (es decir, marcarlo como obsoleto).

Según ellos, como hay cosas más potentes hoy en día como PowerShell y, curiosamente JavaScript, y son más adecuados para los usos modernos. También insinúan que tiene que ver con la seguridad, ya que hay muchos virus para Windows que se basan en archivos .vbs.

El plan es el siguiente:

Las fases de obsolescencia en un gráfico temporal

Fase 1 - Característica opcional

Durante la segunda mitad de este año 2024 saldrá la versión 24H2 de Windows 11 y se añadirá la opción de desactivar VBScript desde las características del sistema. Es lo que se conoce como Feature On Demmand o FOD, como muchas otras que tiene Windows. Por defecto seguirá estando activado, así que nada cambia salvo que queramos.

El FOD en el futuro Windows 11 24H2

Fase 2 - Deshabilitada por defecto

Sobre 2027, VBScript estará deshabilitado por defecto cuando instales un sistema operativo nuevo, por ejemplo el futuro Windows Server 2025.

Si quieres seguir utilizándolo tendrás que ir a los mismos ajustes de características opcionales y habilitarlo a mano:

El FOD en la búsqueda

Hasta aquí tampoco es un grave problema, ya que una vez activado todo seguirá funcionando con normalidad.

Fase 3 - Eliminación definitiva de VBSCript (¿y ASP Clásico?)

En algún momento del futuro, que no han especificado, eliminarán la biblioteca vbscript.dll por lo que todos los proyectos que dependan de ella dejarán de funcionar. Y punto.

Esto es lo que han dicho.

Por supuesto esto no es un problema para los scripts del navegador: solamente estaban soportados por Internet Explorer que ya no existe hace años y que, en la práctica, han desaparecido ya, aunque en el post hablan de ellos como si todavía los usase alguien 🤦🏻‍♂️

En el caso de los scripts de administración, como solución de continuidad solamente te sugieren que migres a PowerShell o a JavaScript, cosa que podría ser factible en este caso, pero que sin duda es inviable para los millones de aplicaciones de ASP Clásico que están en producción.

No dicen absolutamente nada del elefante en la cacharrería que de verdad está detrás de todo esto:

¿Qué va a ocurrir con ASP Clásico tras esta decisión?

Aunque el anuncio pasó bastante inadvertido por el sitio en el que lo pusieron, hay decenas de comentarios poniendo el grito en el cielo debido a esta decisión.

Dado que la decisión parece haber sido tomada por parte de la gente de sistemas de Microsoft, y no por desarrolladores, tiene toda la pinta de que se olvidaron por completo de IIS y ASP. Es más, a pesar de que casi todos los comentarios preguntan por lo mismo y que ha pasado ya casi un mes, ni el autor ni nadie de Microsoft se ha dignado a contestar siquiera. Hay alguien en Redmond que debe de estar pasándolo muy mal en estos momentos.

Aunque también es cierto que hay un artículo en la documentación oficial del futuro Windows Server 2025 que habla de todas las características que van a volver obsoletas en esta nueva versión, y entre ellas está VBScript. Sin embargo nadie parece haber tenido en cuanto el problema de las Webs. O lo que es peor: lo han tenido en cuenta pero les ha dado igual.

Lo cierto es que esto es un problema grave para miles o millones de empresas de todo el mundo que todavía mantienen aplicaciones con esta tecnología. Se utiliza en todo tipo de sectores: transporte, sanidad, banca, la Administración pública... Cargarse esta tecnología, que es estable y funcional, puede suponer pérdidas millonarias para muchas de ellas.

Y además no hay ningún motivo racional para hacerlo.

La disculpa de la seguridad es muy endeble. En primer lugar, cualquier antivirus por malo que sea es capaz de bloquear los virus .vbs desde hace muchos años, así que no se sostiene.

El coste de mantenimiento de esta tecnología para Microsoft es una gota de agua en el océano. Hace años que no se toca y no tiene problemas de seguridad conocidos sin parchear. Probablemente si aparece un problema afectará a otras partes de Windows también y no debería costar casi nada arreglarlo para vbscript.dll. Teniendo en cuenta toda la tecnología que se sustenta sobre ella, no parece un precio muy alto a pagar.

Finalmente, es absolutamente inviable traducir o convertir los millones de sitios web que hay creados con esta tecnología. Es como si te piden mañana convertir tu aplicación Web con cientos de páginas desde PHP a .NET o a Node.js. No tiene encaje en modo alguno ni tampoco sentido económico.

Está claro que Microsoft no tiene obligación alguna de seguir manteniendo esto. Pero al mismo tiempo, no hacerlo supondría una rotura de confianza con el ecosistema de los desarrolladores que podría tener mayor impacto que el que tuvo en su día cargarse Silverlight. Y deberían tenerlo muy en cuenta, porque podría ser muy grave.

Finalmente, si millones de sitios desaparecen porque no pueden funcionar, la debacle económica puede ser muy grande también.

El oráculo de Delfos: qué pienso yo 😜

Mi opinión es que Microsoft va a recapacitar y que la fase 3 nunca llegará. Sí, seguramente en 2027 será una característica desactivada por defecto, pero no pasará de ahí. La activarás, y en paz.

No creo que nunca lleguen a eliminarlo del todo, del mismo modo que nunca eliminarán Visual Basic o .NET framework 4.8 del sistema operativo. Imagínate que lo hicieran: sigue habiendo millones de aplicaciones creadas con estas tecnologías que no se podrían utilizar. Nadie ganaría nada, y millones de personas tendrían un problema.

En el peor de los casos, supongamos que lo eliminan en un hipotético Windows Server 2028. El soporte para Windows Server 2025 es de al menos 10 años, por lo las aplicaciones con ASP Clásico podrían funcionar al menos hasta 2035, o puede que más. Entonces harían un anuncio claro de la fecha de fin de la tecnología y tendríamos un efecto 2035 que habría que ver como solucionar.

Pero, por el medio y con esa certeza en ciernes, pienso que alguien tendría la motivación económica suficiente como para crear una versión paralela de la tecnología, nueva y compatible, que funcionaría seguramente en otros sistemas operativos, sobre todo en Linux. Esto no sería raro: ya lo hizo Oracle en su día, y también la fundación Apache, aunque nunca llegaron a buen término porque no había ese aliciente económico detrás, Pero ahora sí. Y a Microsoft no le conviene que todos esos sistemas dejen Windows Server y se vayan a Linux.

Por eso creo que la sangre no va a llegar al río.

Mientras tanto, se acaba de abrir una petición en Change.org para que no eliminen nunca VBScript de Windows. No soy muy partidario de este tipo de acciones, porque no suelen servir de nada, pero en este caso la he firmado porque le llegará a los responsables de Microsoft. Y esperemos que tomen buena nota. Te invito a hacer lo mismo, incluso aunque no uses ASP Clásico para nada. Aunque sea de manera indirecta te podría afectar en el futuro, porque es muy gordo...

¡Un saludo y hasta el siguiente!

 

José M. Alarcón Aguín Fundador de campusMVP, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Microsoft lo ha reconocido como MVP (Most Valuable Professional) en desarrollo web desde el año 2004 hasta la actualidad. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José M. Alarcón Aguín
Archivado en: General

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.