Master 5.0: Programmieren in guter Atmosphäre

Beim Entwickeln von Software hilft eine durchdachte Benutzeroberfläche wie Master 5.0

Das GEM des Atari ST erhöht in den meisten Fällen den Bedienungskomfort. Trotzdem werden viele Programmierer nicht ohne die gute, alte Benutzeroberfläche mit Tastaturbedienung auskommen wollen. »Master 5.0«, ein Kommandointerpreter wird auf einer Diskette geliefert und ist nicht kopiergeschützt. Nach dem Start erscheint ein Promptzeichen, hinter dem man seine Befehle eingibt. Die Kommandos sind dabei sowohl an die C-Shell von UNIX als auch an MS-DOS angelehnt: Wer das Directory der eingelegten Diskette sehen möchte, erreicht dies also entweder mit »dir«, »ls« oder »11«. Da bei UNIX einige Zeichen eine andere Bedeutung haben als bei TOS oder MS-DOS, schaltet Master auf Wunsch in den UNIX-Modus. Wer von einem Großrechner kommt, wird sich bereits nach kurzer Zeit auf dem Atari ST zu Hause fühlen.

Um wiederkehrende Befehlsfolgen abzukürzen, gestattet Master die Belegung der Funktionstasten. Zudem lassen sich Variablen einführen, die das Programm bei Befehlsausführung durch den definierten Wert ersetzt.

Eine besondere Art von Variablen stellen die »Alias«-Definitionen dar. Mit ihnen faßt man Befehlsketten unter einem Namen zusammen. Legt man für »edit« zum Beispiel die Folge »e:\develop\commands\editor« fest, wird der Editor von nun an einfach mit »edit« aufgerufen. Will man statt »dir« lieber »list« eingeben, so funktioniert dies nach »alias list dir«. Alias-Definitionen verarbeiten auch Parameter, weshalb sie mit Makros vergleichbar sind.

Die Konfiguration des Systems läßt sich ebenfalls über Variablen festlegen. Man gibt beliebige Pfade für den Zugriff auf externe Kommandos an. Weitere Parameter wie das Format einer Bildschirmseite und die aktuelle Zeit sind einstellbar. Zusammen mit den vom Anwender definierten Variablen werden diese Werte in einer Datei gespeichert und auf Wunsch bei Programmstart geladen.

Der umfangreiche Befehlsvorrat von Master unterstützt besonders die Arbeit mit Dateien. Master speichert Daten in einem komprimierten Format und spart dadurch wertvollen Speicherplatz. Das Format entspricht dabei den UNIX-Richtlinien für gepackte Dateien. Dateien lassen sich Byte für Byte vergleichen, wobei Master die unterschiedlichen Stellen anzeigt. Master untersucht Dateien auf Wunsch zeilenweise. Er stellt dabei auftretende Differenzen am Bildschirm dar.

Der erfahrene Programmierer kennt das Problem: Sein Editor verlangt dieses Directory, sein Assembler legt seine Daten in einem anderen ab. Versucht man, dies zu ändern, erhält man meist eine Meldung wie »Datei nicht gefunden«. Master schafft hier Abhilfe. Zum einen verfügt das Programm über eine »DOS-Trace«-Funktion. Sie bindet sich über Vektoren ins TOS ein und zeigt beim Aufruf von Programmen, wann diese auf welche Datei zugreifen. Dies funktioniert sogar bei GEM-Programmen, sofern sie nicht selbst die Ausgabevektoren des TOS manipulieren.

Wurde auf diese Weise die Datei lokalisiert, kommen die »Links« zum Tragen. Mit diesen Variablen läßt sich der TOS-Zugriff auf einzelne Laufwerke und Ordner umleiten. Durch einen Link vereinbart man beispielsweise, daß jeder Zugriff auf Laufwerk B in Wirklichkeit Partition C der Festplatte anspricht. Das Betriebssystem wird dabei überlistet. So läßt sich Ordnung im Directory schaffen. Darüber hinaus gestatten die Links dem Programmierer die Gestaltung seiner Oberfläche ohne Abhängigkeit von den tatsächlichen vorhandenen Speichergeräten.

Eine weitere Forderung an eine gute Entwicklungsumgebung ist die Programmierbarkeit. Master 5.0 erlaubt es deshalb, Befehlsfolgen in Batch-Dateien anzulegen und über ihren Namen aufzurufen. Um dabei Entscheidungen und Sprünge zu realisieren, ist Master mit »goto«- sowie »if...then«-Strukturen ausgestattet. Zudem lassen sich über »ask« und »get« Eingaben des Benutzers abfragen. Außerdem bietet unser Testkandidat ein Modul, mit dem sich »Pop-Up« Menüs erzeugen lassen. Sie ähneln den von GEM gewohnten Pull-Down-Menüs, sind aber beliebig verschiebbar.

Mit all seinen Funktionen erweist sich Master beim Entwickeln von Software als wertvoller Partner. Durch Funktionstasten und über Alias-Definitionen lassen sich wiederkehrende Abläufe stark straffen. Zusammen mit den Batch-Dateien lassen sich so eigene Umgebungen basteln. Trotzdem treten bei der Arbeit mit Master gelegentlich Probleme auf. Da das Programm sehr tief ins TOS eingreift, kommt es bei »unsauber« konzeptionierter Software zu Fehlfunktionen. Komplexe GEM-Programme wie »Signum« sind davon auch betroffen. Allerdings bestehen die meisten Entwicklungspakete aus Programmen, die sich an die GEM-Richtlinien halten und mit Master Zusammenarbeiten. Das Lattice-System ließ sich im Test problemlos über Master steuern.

Durch die UNIX- und MS-DOS-Ähnlichkeit finden auch Programmierer, die mit diesen Systemen Erfahrung haben, an Master Gefallen. Um den Einsteigern die ersten Schritte mit Master zu erleichtern, ist ein Tutorial im Lieferumfang enthalten, das dem Benutzer im Dialog die wichtigsten Befehle erklärt. Das Handbuch enthält eine Befehlsübersicht, die auch vom Programm aus abrufbar ist.

Alles in allem betrachtet, überzeugt Master durch seine akzeptable Leistung und stellt beim Entwickeln von Programmen eine echte Hilfe dar. Gerade der vielbeschäftige Programmierer wird dieses Programm bereits nach kurzer Einarbeitungszeit nicht mehr missen wollen. Wer dagegen nur gelegentlich zu einem Compiler greift, sollte sich fragen, ob sich die zusätzliche Ausgabe von 169 Mark in seinem Fall lohnt.

(Axel Pretzsch/Ulrich Hofner)

Vertrieb: Naumann & Röder GbR, Am Sportplatz 22, 6620 Völklingen

Steckbrief

Name: Master V5.0

Hersteller: Naumann & Röder GbR

Preis: 169 Mark

Stärken:

□ sehr flexibel durch Variablen □ Alias-Definitionen und Links an UNIX und MS-DOS angelehnt □ batchfähig □ Betriebssystem läßt sich »überlisten« □ gute Dokumentation durch Tutorial und Help-Funktion

Schwächen:

□ läuft aufgrund der Eingriffe ins TOS nicht mit allen Programmen einwandfrei zusammen



Aus: ST-Magazin 05 / 1988, Seite 66

Links

Copyright-Bestimmungen: siehe Über diese Seite