Saltar al contenido principal

La línea de comandos de Windows y el software JP: una breve historia

Estaba escribiendo una nueva entrada de blog sobre los cuadros de diálogo de comandos en Take Command v13, cuando se me ocurrió que la mayoría de los lectores no conocerían la historia de nuestra línea de comandos y productos GUI anteriores, y cómo decidimos la interfaz de usuario actual.

A finales de la década de 1980, estaba escribiendo BIOS y software de red para DOS. Había escrito una serie de utilidades para simplificar el desarrollo y finalmente las combiné en el predecesor de 4DOS (un shell de comandos para DOS). Microsoft había hecho posible en DOS 2.0 reemplazar el procesador de comandos (COMMAND.COM), aunque no fue hasta DOS 3.0 que se volvió práctico. JP Software finalmente lanzó la primera versión comercial de 4DOS en 1989. A esto le siguieron 4OS2 (un reemplazo de CMD en OS/2) y 4NT (un reemplazo de CMD en NT 3.1).

A principios de los años 90, tanto Microsoft como IBM estaban haciendo ruido sobre la eliminación de la línea de comandos en la próxima versión de OS/2/Windows NT. Varios usuarios me presionaron para que hiciera una versión GUI de la línea de comando, para que no se vieran obligados a cambiar a una GUI de apuntar y hacer clic. Esta se convirtió en la primera versión de Take Command. Se parecía a la versión de línea de comandos, pero tenía una interfaz gráfica de usuario mínima (con un menú, una barra de herramientas y una barra de estado). Take Command/16 (para Windows 3.x) fue seguido por Take Command/OS2 y Take Command/32 (para Windows NT 3.x). Funcionalmente, las versiones de la línea de comandos (4DOS, 4NT, 4OS2) y las versiones de la GUI eran básicamente idénticas. Las versiones de línea de comando se vendieron más Take Command por aproximadamente 2-1 en EE.UU. y Alemania, y Take Command vendió más que las versiones de línea de comando por 2-1 en el resto del mundo. (¡Todavía no lo he descubierto!)

El problema con las versiones de la GUI era cuando querías ejecutar una aplicación de línea de comandos. Nadie quería que apareciera una ventana emergente en modo carácter, ejecutara el programa y desapareciera. El primer enfoque para resolver esto se denominó "Cavernícola" y funcionó iniciando la ventana en modo de caracteres oculta, ejecutando la aplicación, leyendo el contenido de la ventana oculta y mostrando el resultado en la ventana GUI. La entrada del teclado fue interceptada en la ventana GUI y redirigida a la ventana oculta. Este cuales son las que reflejan funcionó, aunque hubo varios problemas con las aplicaciones que amortiguaban su salida o que escribían aleatoriamente en varias partes de la pantalla. (Incluso había una aplicación de línea de comandos muy conocida que escribía su salida al principio de la línea, luego al final de la línea y luego insertaba el medio).

En ese momento, estábamos siendo presionados por ambos lados. Los usuarios de la línea de comandos querían una mejor interfaz de usuario en la línea de comandos y Take Command los usuarios querían una mejor funcionalidad de la línea de comandos. El primer intento de mejorar la interfaz de usuario de la línea de comandos se denominó TCI (Interfaz de consola con pestañas). TCI parecía Take Command pero se comportó como 4NT. TCI tenía un menú y una barra de herramientas, pero lo más importante era que tenía ventanas con pestañas que ejecutaban aplicaciones de consola de Windows (4NT, CMD, etc.). Utilizaba una versión (muy actualizada) de Caveman (que era mucho más fácil con Windows de 32 bits que con Windows de 16 bits, ¡no se necesitaba VxD!) y podía ejecutar casi todas las aplicaciones de línea de comandos. No fue especialmente bonito, pero cumplió su función. (TCI era más o menos comparable a Console2, una aplicación de Windows de consola con pestañas de código abierto que ha estado en versión beta durante varios años, aunque TCI usó métodos radicalmente diferentes para leer y mostrar el contenido oculto de la ventana de la consola que los que usa Console2).

Entonces en este punto teníamos 4NT, TCI y Take Command/32 (Windows 3.x y OS/2 han caducado y 4DOS apenas sobrevive con soporte vital). Hubo una superposición considerable, un esfuerzo de desarrollo adicional considerable y una confusión considerable por parte del usuario final. Era hora de repensar y reestructurar el paradigma de la línea de comandos.