Ziel dieses Artikels über Computerprogrammierung ist es, die Konsolenprogrammierung, auch bekannt als Befehlszeilenprogrammierung, und die wichtigsten Plattformen, die sie unterstützen, vorzustellen.
Einführung
In Bezug auf Betriebssysteme (Un*x, Linux, DOS, Windows, OS/2, MacOS usw.) bezieht sich die Konsole auf die alte Fernschreibschnittstelle, die seit den frühesten Tagen der Computerprogrammierung existiert.
Unter Betriebssystemen wie Windows XP wird dies als Befehlszeile bezeichnet; allgemeiner kann man es mit dem Un*x- und Linux-Begriff “Shell” bezeichnen. Eine Shell ist ein Interpreter, der Eingaben des Benutzers in Form von Befehlen entgegennimmt und sie zur Ausführung bestimmter Aktionen verwendet.
Shell / Konsole Merkmale
Der Grund für die Verwendung des Begriffs “Shell” ist einfach: Computerprogrammierung kann auf einer Vielzahl von Plattformen und mit einer Vielzahl von Interpretern durchgeführt werden. Jede “Shell”, die die Befehlszeilenschnittstelle kapselt, könnte eine andere Art von Interpreter sein:
MS-DOS : Microsoft DOS
DR-DOS : Ein MS-DOS-ähnliches System von Digital Research
csh oder c-shell : Unix-Shell-Interpreter
usw…
Im Allgemeinen sind die Programmierhürden, die die Entwicklung von Kommandozeilenanwendungen kennzeichnen, hauptsächlich darauf zurückzuführen, dass sie nur sehr wenig Unterstützung für Interaktivität bieten.
Ein Betriebssystem wie DOS, das stabil geworden ist und nicht mehr aktiv weiterentwickelt wird, unterliegt zusätzlichen Beschränkungen, wie z. B. der Tatsache, dass es eine nicht reentrant arbeitende Single-Tasking-Umgebung ist. Das bedeutet, dass immer nur eine Aufgabe ausgeführt werden kann, und diese Aufgabe verbraucht alle Systemressourcen (Tastatur, Maus usw.)
Andere Shell-Umgebungen, wie z. B. die unter Un*x und Linux, haben den Vorteil, dass sie die Hintergrundverarbeitung übernehmen können, ohne die Aufgaben im Vordergrund zu stören.
Auch die Geräteunterstützung ist in einer Befehlszeilenumgebung anders, und zwar durch eine besondere Art von Programm: die Anwendung Terminate Stay Resident oder TSR. Diese können als Vorläufer der Gerätetreiber betrachtet werden.
Fragen zur Programmierung
Bei der Entscheidung, ob man auf einer Kommandozeilen- oder Konsolenplattform programmieren möchte, sind mehrere Aspekte der Programmierung zu berücksichtigen.
Fehlen von Grafiken
Während es möglich ist, Grafiken mit einer Vielzahl von recht komplexen Techniken auf Betriebssystemebene anzuzeigen, die direkt mit der Hardware kommunizieren, bieten traditionelle Konsolenumgebungen keine Unterstützung für Zeilengrafiken.
Die Kombination eines erweiterten Zeichensatzes mit speziell interpretierten Steuercodes (auch als ANSI-Steuercodes bekannt) kann jedoch dazu verwendet werden, den Cursor neu zu positionieren, die Farbe zu ändern und grafikähnliche Elemente (Piktogramme) anzuzeigen.
Keine native WIMP-Unterstützung
Für diejenigen, die an die Windows-Icon-Mauszeiger-Anwendungsumgebung gewöhnt sind, gibt es sie in der Konsolenumgebung nicht. Daher ist sie für Programmierer nicht verfügbar. Viele Sprachen wie Modula-2, BASIC usw. bieten jedoch einfache Fensterfunktionen, Textpositionierung und Mausunterstützung.
Wie geht es weiter?
Wenn Sie völlig neu in der Programmierung sind, sollten Sie zum Index der allgemeinen Programmierung zurückkehren und sich einige der anderen Optionen ansehen – wie z. B. GUI-Programmierung, verschiedene Sprachen und so weiter.
Wenn Sie hingegen sofort loslegen wollen, empfehlen wir Ihnen, eines der Sprachtutorials zu besuchen (C ist die plattformübergreifendste Sprache) und sich an den Übungen zu versuchen.