¿Por qué Windows no incluye un simple intérprete básico?

Oh, woof. Esta pregunta se hace desde una premisa falsa, y todas las respuestas hasta ahora son incorrectas. Nunca deja de asombrarme la frecuencia con la que la gente pone su voz de autoridad cuando habla de Windows, y luego procede a decir algo que puede demostrarse incorrecto con, como, ningún esfuerzo en absoluto….

Windows 10 incluye dos lenguajes BASIC.

Aquí, déjame demostrarlo. Abre un prompt de Powershell en un flamante sistema Windows 10 y haz lo siguiente:

main-qimg-9ec7d553b655cdf80e8fb7f864e8b58a

Este es un simple programa VBScript. Se ejecuta con el componente Windows Script Host de Windows. Lleva ahí 20 años y no va a ir a ninguna parte en breve. cscript sirve para ejecutar programas de sólo texto, de línea de comandos. Hay una variante llamada «wscript», que añade la capacidad de crear cuadros de diálogo y otras partes de la sencilla interfaz de usuario de Windows.

cscript está oficialmente documentado por Microsoft aquí: cscript

Y, como muchas otras cosas relacionadas con la línea de comandos de Windows, el lenguaje completo está documentado en SS64: VBScript Commands | SS64.com

Sin embargo, los tiempos han dejado atrás a vbscript. Hoy en día, si quieres escribir BASIC, la solución que ofrece Microsoft es VB .NET, que también se incluye con Windows.

De nuevo, un ejemplo que funciona en cualquier instalación nueva de Windows 10:

main-qimg-8246d386dcfd705b63c6c72609f41186

Este es un programa VB .NET de ejemplo -compilado, no interpretado, lo reconozco- que hace lo mismo que la versión de Windows Script Host. Como dice el mensaje de advertencia, es una versión antigua, pero sigue siendo una interpretación potente y completa del lenguaje – nada de lo introducido en las cuatro versiones de VB .NET publicadas desde entonces ha añadido nada de lo que un principiante de VB deba preocuparse. Estoy seguro de que querrá descargar un editor de texto mejor que el Bloc de notas o Powershell ISE, pero, fuera de la caja, Windows viene con todas las herramientas que necesitaría para construir una línea de comandos completa, de escritorio, o aplicación web con BASIC.