Was in der IBM-Welt längst ein alter Hut ist, erlebt jetzt auf dem ST eine Renaissance. Das Kind heißt Editor Toolbox und kommt von Application Systems III Heidelberg. Für 149 DM bekommt man einen Editor und dessen Quellcode in Megamax C.
Wer bisher neidisch zu den Turbo-Pascal-Programmierern auf dem PC herübergeschielt und Gefallen an dem Toolbox-Konzept gefunden hat, wird jetzt auch auf dem ST fündig. Die Firma Application Systems, die den Megamax C-Compiler in Deutschland vertreibt, bietet inzwischen einige Erweiterungen und Programme an, bei denen auch der Quellcode in C mitgeliefert wird. Dies ist für alle Anwender und Freaks, die selbst in C programmieren können und im Besitz des Megamax Compilers sind, ein interessantes Feature. Um es vorwegzunehmen: Bedenkt man den Preisunterschied von 85 DM zu 149 DM zwischen Tempus und der Editor Toolbox, dann muß man eigentlich Verwendung für den Quellcode haben, sonst ist man mit Tempus sicher besser bedient.
Einen Bildschirmeditor, der sich durch seine Funktionalität von vielen anderen Produkten dieser Art abhebt. Ich meine damit, daß nicht nur die normalen Editorfunktionen wie Einfügen, Löschen, Blöcke verschieben usw. geboten werden, sondern zusätzlich noch ein Terminalprogramm enthalten ist, mit dem man seine Texte direkt über einen Akkustikkoppler oder ein Modem an eine Mailbox schicken kann.
Alle Funktionen des Editors werden auf den 32 Seiten der deutschen Bedienungsanleitung ausführlich erläutert. Wer schon mit verschiedenen Texteditoren gearbeitet hat, braucht das Handbuch nur in seltenen Fällen zu Rate zu ziehen. Der Editor verwendet eine Menüleiste, von der aus alle Funktionen angesprochen werden können. Zusätzlich kann man aber auch alle Kommandos über diverse Tastenkombinationen erreichen. Dabei hat es mir sehr gut gefallen, daß in den Menüs immer die Tastenkombination, mit der eine Funktion ausgelöst werden kann, angezeigt wird (siehe Bild). Daran könnte sich Tempus ein Beispiel nehmen. Wo wir gerade bei Tempus sind: In meinen Augen ist Tempus im Augenblick der hellste Stern am Editorhimmel. Deshalb mußte er auch in diesem Test als Vergleich herhalten. Ich gehe davon aus, daß die Leser schon von Tempus gehört haben; wenn nicht: siehe ST-Computer März 1987, Seite 70, Testbericht über Tempus (Hallo Stefan). Ein wesentliches Merkmal von Tempus möchte ich an dieser Stelle noch erwähnen: die überdurchschnittliche Verarbeitungsgeschwindigkeit. Speziell in diesem Punkt habe ich die beiden Programme miteinander verglichen und zwar anhand des Quelltextes der Editor Toolbox, der stolze 5712 Zeilen lang ist. Die ermittelten Zeiten entnehmen Sie bitte der Tabelle.
Ein paar Worte möchte ich noch über die Funktionalität verlieren. Es wird alles geboten, was man von einem Texteditor zum Bearbeiten von Programmtexten erwartet. Man kann suchen und ersetzen, Blöcke definieren und diese kopieren, löschen und verschieben, vier Marken setzen und dann direkt zu den Marken springen, zwischen 2 Zeichensätzen (816 und 88) wählen, die Tabulatorweite setzen usw. Erwähnenswert ist noch, daß man einen Block einrücken kann. Diese Funktion ist besonders für die Strukturierung von Programmtexten nützlich. Leider besteht keine Möglichkeit, den Namen einer Textdatei in der Kommandozeile zu übergeben. Dieser Mangel macht die Verwendung des Editors zusammen mit der Megamax-Shell unhandlich. Man muß immer zuerst den Text laden und kann nicht sofort loslegen, wie man es vom Megamax-Editor oder von Tempus kennt. Aber es gibt ja den Quellcode...
In diesem braucht man jedoch nicht herumzubasteln, um Abstürze zu beseitigen, zumindest gab es im Test keine Bomben zu sehen.
Wie man sich vorstellen kann, ist ein kompletter Editor mit Terminalemulation nicht gerade ein Mickey Mouse-Programm. So wird es den einen oder anderen überraschen, daß für die 40 KByte Programm 240 KByte Quelltext nötig sind. Dazu muß man sagen, daß der Quelltext außergewöhnlich umfangreich dokumentiert ist. Hinter fast jeder Zeile steht ein Kommentar, und vor den einzelnen Funktionen werden jeweils die Parameter und die Wirkungsweise erklärt. Diese Tatsache erleichtert das Verständnis der einzelnen Programmteile ungemein. Leider ist dies aber auch die einzige Unterstützung, die geboten wird, um den Code zu verstehen. Das Design, das dem Programm zugrunde liegt, das Zusammenspiel der einzelnen Mo-dule, welche Datenstrukturen benutzt werden und alles andere, was noch zum Verständnis des Quelltextes bei-tragen könnte, fehlt. Es bleibt nichts anderes übrig, als mühsam den Quelltext zu durchforsten um nach und nach die Zusammenhänge zu verstehen.
Was mich am meisten stört, ist die Gestalt des Quelltextes. Es sind - wie schon erwähnt - ca. 240 KByte, die jedoch in einer einzigen Datei stehen. Selbst Standarddefinitionen, die jeder vernünftige Entwickler mit ‘#include’ in seinen Text einbindet, stehen in dem Sourcefile ‘TOOLBOX.C’. Diese Art zu programmieren erinnert mich an meine ersten Gehversuche in Sachen Computer, auf einem VC-20 in BASIC. Allerdings hatte ich damals keine andere Wahl, als alles in einem Stück in den Speicher zu hacken. Warum der Autor der Editor Toolbox, Martin Backschat, seinen Quelltext nicht in mehrere kleine Objektmodule unterteilt hat, ist mir schleierhaft. Gerade Megamax C unterstützt doch hervorragend die Modularisierung. Die Make-Funktion kompiliert nur die edierten Module, und bei einer kleinen Änderung muß man nicht 240 KByte neu übersetzen, sondern vielleicht 10 KByte, und spart jede Menge Zeit. Auch wenn man den Text ediert, ist es angenehmer, in kleineren Stücken zu arbeiten, als jedesmal die komplette Source, die, ich wiederhole es nochmal, 240 Kbyte lang ist, in den Editor zu laden. Der Code selbst ist trotz der vielen Kommentare für einen Anfänger nicht leicht zu verstehen. Es fehlt halt eine Programm-Dokumentation. Leider sind auch noch ca. 200 Zeilen Assembler enthalten, die zwar die Verarbeitungsgeschwindigkeit, nicht jedoch die Lesbarkeit des Programms erhöhen. Ich will nicht am Programmierstil von Martin Backschat mäkeln, aber ich habe schon übersichtlichere Programme gesehen. Es gibt einige Stellen im Code, an denen man Verbesserungen vornehmen kann und sei es nur um die Optik zu verbessern. Mit Makros wurde richtig gegeizt. Schade, warum eigentlich? Genug gemeckert, sicher gibt es auch an den Programmen, die ich in der ST-Computer veröffentlicht (verbrochen?) habe, einiges auszusetzen. Egal, wie fit man in einer Programmiersprache ist, es gibt fast immer einen, der besser drauf ist.
Die Editor Toolbox stellt mehr Editor als Toolbox dar. Man kann sich zwar einige Tricks für seine eigenen Programme abgucken; um richtig durchzublicken und Modifikationen zu machen, muß man aber Zeit haben. Ich wünsche mir im wesentlichen zwei Dinge: Modularisierung des Sourcecodes und eine ausführliche Beschreibung der Module und Datenstrukturen. Ansonsten ist das Paket recht gelungen. Dafür, daß fast ausschließlich in C programmiert wurde, kann man sich hinsichtlich der Geschwindigkeit nicht beklagen. Der Vergleich mit Tempus, der ja in Assembler geschrieben wurde, ist fast schon ungerecht.