Microsoft libera el código fuente de su interprete GW-BASIC

A modo de referencia histórica y con propósitos educacionales, la gente de Microsoft ha liberado el código fuente de su interprete GW-BASIC. Este interprete fue el usado por la compañía en el año 1983 para implementar el primer interpretador de BASIC en los ordenadores Altair 8800.

interprete GW-BASIC

El interprete GW-BASIC se derivó del Basic avanzado de IBM y el mismo fue porteado luego del mismo Microsoft Basic para ser implementado en los PC IBM 5150 en el año 1981. Eventualmente Basic evolucionó hasta convertirse al día de hoy en la base de Microsoft Visual Basic .NET

El código fuente lanzado por Microsoft está en lenguaje ensamblador y el mismo está diseñado para los CPU Intel 8088 el cuál fue lanzado el 10 de febrero de 1983. Vale reseñar que la compañía lanzó hace algún tiempo la fuente de MS-DOS, con el lanzamiento del interprete GW-BASIC se complementa esta reseña histórica de la informática.

La fuente de GW-Basic se encuentra disponible en el repositorio GitHub a modo de archivo. Esto obviamente significa que no se aceptan peticiones o modificaciones en el código. En relación a esto Microsoft ha indicado los siguientes tres puntos a modo de información:

  • El código fuente fue publicado solamente como referencia/propósito o interés histórico. De hecho, la fuente publicada del interprete GW-BASIC refleja el estado original que tuvo en el año 1983.
  • Han agradecido a las personas no enviar peticiones de cambios o comentarios pues no serán aceptados.
  • No hay scripts, makefiles o herramientas requeridas para crear binarios ejecutables. A su vez, tampoco se incluye binarios/ejecutables precompilados.

Uno de los gerentes de programa para la línea de comandos y consola de Windows, Rich Turner, ha indicado que este interprete esta escrito 100% en ensamblador. Esto se debió a que en los años 70 y 80 a pesar de que existían algunos lenguajes de alto nivel tales como Fortran, Lisp, Cobol, Rpg, Cpl/Bcpl, y C, estos por lo general eran muy costosos para implementarlos en ordenadores y rara vez generaban código eficiente.

También recordó que todo el código generado por GW-BASIC era traducido por procesador/por maquina desde las fuentes principales/maestras. Debido a que en aquel entonces los procesadores usados por ordenadores tanto en las casas como en las empresas no diferían mucho entre sí, Microsoft pudo generar una gran cantidad de código para crear ports partir de una fuente maestra. Turner lamentó el no poder abrir la fuente del traductor ISA de Microsoft.

Turner también indicó que a pesar de haber recibido numerosas peticiones para abrir el código fuente de las implementaciones usadas en otros procesadores que no sean 808x, lamentó el no poder proporcionar las fuentes de esos ports y/o personalizaciones.

Tal como indican en el sitio ZDNet, 1983 fue un buen año para la informática ya que en aquel entonces, el danés Bjarne Stroustrup desarrollaba la primera versión de C++. Este lenguaje se convertiría luego en pieza clave para el desarrollo de Windows. A su vez, también fue usado por el proyecto ARPANET para estandarizar el protocolo TCP/IP.

No hay que olvidarse de que en ese año también se lanzó el lenguaje Turbo Pascal el cuál luego sirvió de base para el lenguaje C# y el TypeScript de Microsoft.