En camino desde la línea de comandos a la GUI en la era de MS-DOS: Parte 1
En camino desde la línea de comandos a la GUI en la era de MS-DOS: Parte 1

En la era de MS-DOS desde principios de los años 80, como sucedía antes con CP/M y siguió sucediendo luego en CP/M-86, y como también era la norma en otros sistemas operativos basados en UNIX, los usuarios solían usar una interfaz de línea de comando o CLI (Command Line Interface) para interactuar con la computadora.
La interfaz de línea de comando se venía usando desde por lo menos 1964 cuando empezó a utilizarse en los sistemas de tiempo compartido a través de las terminales de texto.
Pero este método para comunicarse con los ordenadores resultaba un tanto engorroso en muchas ocasiones, por un lado debido a la baja productividad alcanzada por los operadores obligados a escribir cada comando, y por otro por causa de la necesidad de aprender de memoria muchos detalles aumentando los costos de la capacitación; esas características de la mencionada forma de comunicación con los ordenadores empezó a convertirse en un verdadero freno para usar con más eficiencia fuera del entorno científico o universitario los sistemas de cómputo como las cada vez más baratas microcomputadoras.
En esto corto texto vamos a comentar sobre una de las soluciones dadas a este problema, y en adición vamos a mostrar de modo somero cómo se implementaba en un lenguaje de programación bastante usado en la época de MS-DOS.
En todo caso, empecemos por revisar algunos conceptos, y luego abordaremos el resto del tema.
¿Qué es una interfaz de línea de comando?
En su versión más sencilla, una interfaz de línea de comando o CLI (a veces llamada también intérprete de comandos, terminal, o shell, si bien un shell puede estar basado tanto en texto simple como en gráficos), consiste en un indicador conformado por uno o más símbolos, por lo común de color blanco, sobre la pantalla oscura de la computadora; dicho símbolo o conjunto de símbolos se denomina command prompt y sirve para sugerir a los usuarios del sistema que éste está esperando por una orden o comando de lo cual se deriva el nombre de la interfaz; estas órdenes o comandos se indican escribiendo el nombre de los comandos internos o externos por medio del teclado, siendo los primeros los procesados por el propio intérprete de comandos, y los segundos los consistentes en programas independientes de la interfaz de línea de comando y lanzados por ella como mismo lo hace con otros programas de usuario.

El usuario del sistema puede escribir un comando, seguido o no de una serie de parámetros para especificar más detalles sobre la operación a realizar, y terminar la entrada presionando la tecla del teclado. La orden dada por el usuario es entonces procesada por el intérprete de comandos del sistema operativo (COMMAND.COM en MS-DOS), y si no hay un error de sintaxis, en la pantalla se pueden obtener los resultados también en forma de texto.
La ventaja de este método de interacción con una computadora radica en su reducida demanda de recursos del sistema, sin embargo, como hemos mencionado antes, también tiene sus contra y por eso se buscaron otras formas más efectivas para conseguir los objetivos.
El amanecer de las GUI
En cuanto los sistemas de cómputo empezaron a hacerse más y más baratos, a la vez crecía su potencia de cálculo y la disponibilidad de memoria y se descubrían más áreas donde era recomendable su uso, las empresas del sector empezaron a ver a las interfaces de línea de comando como una limitante para la extensión de dichos sistemas a todo público.
Las interfaces gráficas de usuario o GUI (Graphical User Interfase) podían solucionar el problema de la interacción más sencilla con el sistema porque se basan en el principio WYSIWYG (What You See Is What You Get) y por tanto facilitan recordar las opciones o funcionalidades disponibles en los programas. En particular en MS-DOS estuvieron disponibles a nivel de sistema operativo sólo a partir de 1985, cuando se pudo acceder a Windows 1.0 que no tuvo mucho éxito de todos modos debido a distintos factores no abordados en este texto. Pero la idea no era algo tan nuevo para los años 80 puesto toda la teoría había sido presentada décadas antes y también se había implementado desde finales de los 70s y de forma comercial desde principios de los 80s en una institución de nombre Xerox PARC situada en Palo Alto, California.
En adición a las caras computadoras Xerox Alto y Xerox Star de Xerox PARC, Apple presentó Apple Lisa en 1983, una computadora basada en una GUI si bien algo costosa todavía, y más tarde en 1984 sacó al mercado Apple Macintosh con su sistema operativo Mac OS, también basado en una GUI y a un precio más módico, lo cual permitió se convirtiera en la primera computadora con una interfaz gráfica en tener éxito comercial a pesar de no soportar colores en ese momento.
En un entorno MS-DOS la primera GUI a nivel del sistema operativo en tener éxito fue Windows 3.0 lanzada en 1990, no obstante, antes de eso y sin importar otros casos más bien aislados, en el ecosistema de MS-DOS por muchos años se siguió apostando por la interfaz de línea de comando a nivel del sistema operativo.
De hecho, se considera a MS-DOS como la causa de la popularidad de la CLI en la PC a partir de 1981.

El estado de cosas descrito no era una casualidad, una GUI consume recursos tanto de procesador como de memoria, y si bien estos eran cada vez más abundantes, seguían siendo recursos escasos para ciertas tareas más pesadas a principios y mediados de los 80s.
Por un lado la potencia de los microprocesadores de la época como el 8088 era reducida como para desperdiciarla, y por otro la memoria también estaba limitada, porque por correr MS-DOS en modo real no tenía acceso a toda la memoria disponible más allá del primer megabyte, incluso si esta existiera físicamente a nivel de hardware, como lo estuvo con los procesadores más potentes como el 80286, 80386 y después con los 80486, todos ellos capaces de ser operados en modo protegido.
En resumen, si bien la interacción entre los usuarios y las microcomputadoras era facilitada con el uso de una GUI, muchos usuarios preferían la velocidad de respuesta de una interfaz de línea de comando mucho más ligera debido a las limitaciones de las computadoras, y por eso a pesar de todo en muchos casos se seguía usando una CLI.
En la segunda parte de este artículo veremos la solución dada a este problema de facilitar la interacción de los usuarios con las computadoras a pesar de estar en un entorno de recursos limitados donde no conviene usar una GUI.
Tengo unas preguntas para ti
¿Qué más puedes comentar sobre las formas de interactuar con los usuarios en la época de MS-DOS?
¿Qué interfaz de usuario preferías o prefieres para utilizar una computadora?
¿Qué temas parecidos a este te interesan?