Passer au contenu principal

La ligne de commande Windows et le logiciel JP - Un bref historique

J'écrivais un nouvel article de blog sur les boîtes de dialogue de commande dans Take Command v13, quand il m'est venu à l'esprit que la plupart des lecteurs ne connaissaient pas l'historique de nos précédents produits de ligne de commande et d'interface graphique, ni comment nous avions décidé de l'interface utilisateur actuelle.

À la fin des années 1980, j’écrivais des BIOS et des logiciels réseau pour DOS. J'avais écrit un certain nombre d'utilitaires pour simplifier le développement, et je les ai finalement combinés dans le prédécesseur de 4DOS (un shell de commande pour DOS). Microsoft avait rendu possible dans DOS 2.0 le remplacement du processeur de commandes (COMMAND.COM), même si ce n'est qu'avec DOS 3.0 que cela est devenu pratique. JP Software a finalement publié la première version commerciale de 4DOS en 1989. Elle a été suivie par 4OS2 (un remplacement de CMD dans OS/2) et 4NT (un remplacement de CMD dans NT 3.1).

Au début des années 90, Microsoft et IBM envisageaient de supprimer la ligne de commande dans la prochaine version d'OS/2 / Windows NT. Un certain nombre d'utilisateurs m'ont fait pression pour que je fasse une version GUI de la ligne de commande, afin qu'ils ne soient pas obligés de passer à une interface graphique pointer-cliquer. Cela est devenu la première version de Take Command. Cela ressemblait à la version en ligne de commande, mais avait un wrapper GUI minimal (avec un menu, une barre d'outils et une barre d'état). Take Command/16 (pour Windows 3.x) a été suivi de Take Command/OS2 et Take Command/32 (pour Windows NT 3.x). Fonctionnellement, les versions en ligne de commande (4DOS, 4NT, 4OS2) et les versions GUI étaient fondamentalement identiques. Les versions en ligne de commande sont épuisées Take Command d'environ 2-1 aux États-Unis et en Allemagne, et Take Command les ventes ont dépassé les versions en ligne de commande de 2 à 1 dans le reste du monde. (je n'ai toujours pas compris celui-là !)

Le problème avec les versions GUI était lorsque vous souhaitiez exécuter une application en ligne de commande. Personne ne voulait qu'une fenêtre en mode personnage apparaisse, exécute le programme et disparaisse. La première approche pour résoudre ce problème a été baptisée « Caveman » et a fonctionné en démarrant la fenêtre du mode personnage masquée, en exécutant l'application, en lisant le contenu de la fenêtre masquée et en affichant la sortie sur la fenêtre GUI. La saisie au clavier a été interceptée dans la fenêtre GUI et redirigée vers la fenêtre cachée. Ce la plupart a fonctionné, bien qu'il y ait eu divers problèmes avec les applications qui mettaient leur sortie en mémoire tampon ou qui écrivaient de manière aléatoire sur différentes parties de l'écran. (Il existait même une application de ligne de commande bien connue qui écrivait sa sortie au début de la ligne, puis à la fin de la ligne, puis insérait le milieu.)

À ce moment-là, nous étions coincés des deux côtés. Les utilisateurs de ligne de commande souhaitaient une meilleure interface utilisateur de ligne de commande, et Take Command les utilisateurs voulaient une meilleure fonctionnalité de ligne de commande. La première tentative visant à améliorer l'interface utilisateur en ligne de commande s'appelait TCI (Tabbed Console Interface). TCI ressemblait à Take Command mais s'est comporté comme 4SA. TCI avait un menu et une barre d'outils, mais surtout des fenêtres à onglets qui exécutaient les applications de la console Windows (4NT, CMD, etc.). Il utilisait une version (très mise à jour) de Caveman (qui était beaucoup plus simple avec Windows 32 bits qu'avec Windows 16 bits – aucun VxD requis !) et pouvait exécuter presque toutes les applications en ligne de commande. Ce n’était pas particulièrement joli, mais ça faisait l’affaire. (TCI était à peu près comparable à Console2, une application Windows de console à onglets open source qui est en version bêta depuis plusieurs années, bien que TCI ait utilisé des méthodes radicalement différentes pour lire et afficher le contenu caché de la fenêtre de console que celles utilisées par Console2.)

Donc à ce stade, nous avions 4SA, TCI et Take Command/32 (Windows 3.x et OS/2 ayant expiré, et 4DOS à peine vivant sous assistance respiratoire). Il y avait un chevauchement considérable, des efforts de développement supplémentaires considérables et une confusion considérable chez les utilisateurs finaux. Il était temps de repenser et de réorganiser le paradigme de la ligne de commande.