Interview mit Herrn Meyfeldt

HAPPY: Herr Meyfeldt, von Beruf sind Sie Fluglotse beider Bundesanstalt für Flugsicherung. Technische Neuerungen stoßen bei Ihnen somit sicher auf großes Interesse. Können Sie uns kurz Ihren Weg zum Computer beschreiben?

Meyfeldt: Die ganze Geschichte fing damit an, das ich - wie viele andere Leute auch - ganz plötzlich den Computer entdeckte. Ende der siebziger Jahre wurde in einer amerikanischen Zeitschrift ein Computer von Atari angeboten. Allein vom Preis her war das ein interessantes Gerät für mich. Anläßlich eines USA-Besuchs - dort fand gerade das erste große Weihnachtsgeschäft mit Heimcomputern statt - brachte ich mir meinen ersten Computer mit. Ich kann mich noch gut an den Riesenrummel erinnern. Jeder fragte nach den Geräten und kein Händler hatte welche auf Lager. Letztlich hatte ich aber Glück und konnte einen Computer, eine Diskettenstation und zwei, drei Steckmodule kaufen. Noch ein dünnes Handbuch, das war alles was ich am Anfang hatte.

HAPPY: Und wie ging es weiter?

Meyfeldt: Ich fing an wie jeder andere und war glücklich, wenn auf dem Bildschirm irgend etwas blinkte oder in Farbe erschien. Aus verschiedenen Zeitungen versuchte ich Informationen zu bekommen, aber damals gab es nur ganz vereinzelt brauchbare Artikel. So suchte ich in Deutschland Ansprechpartner und fand dann auch die Atari-Vertriebsgesellschaft Aber zu der Zeit wurden nur Videospiele verkauft, man dachte noch nicht an den Import von Computern. Dennoch versprach man mir, in Kontakt zu bleiben.

HAPPY: Dann waren Sie also vom ersten Schritt an dabei, den der Computer in Deutschland machte.

Meyfeldt: Ja. Zur Hobbytronik 1980 in Dortmund erhielt ich einen Anruf. Man wollte den Computer vorstellen, hatte aber noch jede Menge Schwierigkeiten. Die Geräte aus Amerika waren nichtrechtzeitig da und bei Atari Deutschland kannte sich niemand mit Computern aus.
Ich erinnere mich, daß zu Anfang der Messe nur Privatgeräte unter dem Dach der Gesellschaft vorgestellt wurden. Als dann in Deutschland der Computerboom begann, nutzte ich meine Kontakte und übersetzte viele amerikanische Programmeins Deutsche. Dabei erfuhr ich sehr viel über Programmgestaltung. Es gibt Dinge, die sind einfach toll, und andere, die sehr schnell langweilig werden. Ich lernte zwischen guten und schlechten Programmen zu unterscheiden.

HAPPY: Heute erstellen Sie selbst Programme. Was betrachten Sie als das wichtigste bei der Programmerstellung?

Meyfeldt: Jeder Benutzer muß gerne mit dem Programm arbeiten. Die Bedienung darf keine Fragen offen lassen, sie muß bei jedem erdenklichen Fehler weiterhelfen. Lieber soll ein Programm weniger können. Aber das, was es kann, muß es überzeugend tun. Es gibt tolle Möglichkeiten, Fehler anzuzeigen. Da macht der Computer bei einer falschen Eingabe »Brrrr« und schüttelt sich, aber man weiß nicht, was nun falsch gemacht wurde. Zu einem guten Programm gehört, daß der Benutzer zu einer richtigen Antwort geführt wird. Am besten kann man sich das vielleicht so vorstellen: Der Benutzer muß über einen Abgrund geführt werden. Auf der einen Seite steht er zu Anfang und auf der anderen Seite ist die Lösung. In der Mitte ist ein Seil gespannt - das Programm. Der Computer muß den Anwender führen. Dabei gibt es mehrere Möglichkeiten: Fällt der Seiltänzer herunter, so kann man sagen: »ätsch, reingefallen« oder »Das war falsch«. Beides hilft nicht weiter. Nach Möglichkeit muß man eine Stütze einbauen, die gar keinen Absturz zuläßt. Ganz egal, welcher Schritt gemacht wird, der Benutzer darf nicht herunterfallen.

HAPPY: Das bedeutet aber sehr viel Arbeit, die weit über das normale Programmieren hinausgeht. Mögliche Bedienungsfehler müssen schon bei der Programmentwicklung bedacht und Lösungen eingebaut werden.

Meyfeldt: Exakt. Der Programmierer mußsich überlegen, welche Fehler ein absoluter Laie machen kann. Manche Leute haben Gespür dafür, andere nicht. Das Überprüfen auf Fehler nimmt oft mehr Zeit in Anspruch, als das eigentliche Programmieren. Aber fertig ist man erst, wenn alle Eingabefehler ausgeschaltet sind. Leider wird hier oft vor dem Zielaufgegeben.

HAPPY: Mögliche Eingabefehler zu berücksichtigen, ist sicher nicht der einzige Anspruch an gute Programme. Auf was muß man bei der Programmerstellung noch achten?

Meyfeldt: In Amerika wurde einmal der Begriff der »USER»-Schnittstelle kreiert. Auf der einen Seite steht der Benutzer, auf der anderen der Computer. Dieser Schnittstelle muß der Programmierer sehr viele Gedanken widmen. Er muß sich über die verschiedenen Eingabemöglichkeiten - und ihre effektive Anwendung - gut informieren. Ein Beispiel: Ein Punkt soll von links nach ganz rechts über den Bildschirm wandern. Meist wird dies im Schneckentempo vollzogen, da eine gewisse Feinfühligkeit vorhanden bleiben soll. Die Frustrationszeit das Warten bis der Benutzer wieder etwas machen darf - ist sehr lang. Besser ist es, eine »intelligente» Eingabe zu realisieren. Halte ich den Joystick länger nach rechts, so muß sich der wandernde Punkt beschleunigen. Der verzögerte Beginn der Beschleunigung ermöglicht mir immer noch die notwendige Feinfühligkeit. Längere Strecken können aber in kürzerer Zeit überfahren werden.

HAPPY: Kann ich solche Frustrationszeiten nicht durch einen geschickten Bildschirmaufbau überwinden?

Meyfeldt: Nein. Jeder kennt das Problem mit den langen Vorspännen. Am Anfang habe ich mich auch immer an stundenlangen Vorspännen ergötzten können. Dann aber habe ich gemerkt, man muß aus jedem Vorspann heraus kommen. Es muß möglich sein, mittels eines einzigen Tastendrucks - direkt in das Hauptprogramm zu springen. Gleiches gilt für die Überbrückungszeiten. Beim ersten Mal mag der Bildschirm noch sehr aufmerksam betrachtet werden. Aber schon beim zweiten Mal wird er langweilig. Es hilft nichts, man muß sich überlegen, wie man die Frustrationszeit möglichst kurz hält.

HAPPY: Können Sie unseren Lesern einige Tips zum Bildschirmaufbau geben?

Sparsame Effekte

Meyfeldt: Ein gutes Programm geht mit seinen Effekten sehr sparsam um. Das Bild muß für den Benutzer einprägsam sein. Für Mitteilungen soll ein bestimmter Platz reserviert sein, nur hier sollen Fehlermeldungen - oder ähnliches - ausgegeben werden. Der Benutzer weiß, dann muß ich nachschauen wie es weiter geht. Farben müssen Symbolgehalt haben, dürfen aber das Auge nicht belasten, beispielsweise durch ständiges Blinken. Gleiche Aussagen sollen immer gleiche Farben benutzen, beispielsweise Rot für eine Warnung und Grün für eine gefahrlose Eingabe.

HAPPY: Für den Computer gibt es mehrere Eingabemöglichkeiten. Für Spiele bieten sich, neben der Tastatur beispielsweise auch Joysticks an. Mit welcher Eingabe würde Sie Ihr Programm ausstatten?

Meyfeldt: Einer Tastatur sind sicher alle anderen Eingabegeräte vorzuziehen. Allerdings kann man den Joystick zurückgreifen. Die Tastatur ist ein hervorragendes Eingabeinstrument für den Programmierer; für den Anwender hingegen, ist sie zu unpräzise. Die Taste »A« kann in verschiedenen Programmen unterschiedlichste Aufgaben haben. Schlechte Programme benutzen überwiegend die Tastatur. Aber irgendwann hat man 100 Programme und jedes Programm verwendet eine andere Tastaturbelegung. Wie ein Pfadfinder muß man sich dann durch das Programm wühlen.

HAPPY: Herr Meyfeldt, die meisten Programme, die Sie verkaufen, entstanden aus eigenen Ideen. Wenn ein Programmierer eine Idee hat, wo muß er mit der Arbeit beginnen?

Meyfeldt: Jeder, der ein Programm entwickelt, muß sich zu Anfang überlegen, wie sein Programm aussehen soll. Nicht nur formal, sondern auch inhaltlich. Besonders für Spiele gilt - und die meisten Programme im Hobbybereich werden für Spiele geschrieben -, daß es leicht zu erlernen sein muß, schön aussehen soll, aber auf keinen Fall schnell langweilig werden darf. Es dürfen nur wenige Fragen über die Bedienung auftreten. Die muß sofort offensichtlich sein. Auf der anderen Seite muß die Spannung erhalten bleiben. Der Abnutzungswert darf nur gering sein. Programme, für die das nicht gilt, fehlt es meist an genügend vorheriger Überlegung. Bei einem Konzept muß ich mir überlegen, wie ich die Spannung über einen längeren Zeitraum erhalten kann. Welchen Effekt ich einbauen kann, damit das Programm nicht gleichförmig wird. Variable Dinge - und erst zum Schluß auftretende Szenen - können hier helfen.

HAPPY: Wenn ich mein Konzept entworfen habe, wie gehe ich dann weiter vor? Früher war es üblich, nach der Idee ein Flußdiagramm anzufertigen. Heute setzt man sich normalerweise an den Computer und fängt einfach an.

Meyfeldt: Das Flußdiagramm ist Theorie. So lernt man EDV, aber so gestaltet man sie nicht. Für Geschäftsprogramme ist es unbedingt notwendig, ein Flußdiagramm zu erstellen. Damit kann man eine vollständige Analyse machen. Die alten Programmiersprachen, wie zum Beispiel Algol oder Cobol, verlangen auch eine vorherige Variablendefinition. Mit Einführung von Basic ist diese Vorarbeit zwar noch sehr sinnvoll, aber nicht mehr notwendig. Basic ist so bequem, daß man an jeder Stelle des Programms neue Variablen definieren kann. Auch die heutigen Eingabemöglichkeiten mit Bildschirm - Editor und so weiter ermöglichen ein Arbeiten wie auf einem Schmierzettel.

HAPPY: Aber dadurch ist doch die Gefahr, fehlerhafte Programme zu schreiben, bedeutend größer geworden?

Trial And Error

Meyfeldt: Ja. Programmieren erfolgt heute nach einer Methode, die die Amerikaner »Trial And Error« nennen. Frei übersetzt; Versuchen und aus den Fehlern lernen. Nach dem Programmieren muß man die Fehler ausmerzen, was natürlich sehr aufwendig ist. Denn schon bei zehn Programmzeilen gibt es nach der Regel der Kombinatorik weit mehr Fehlermöglichkeiten, als ein einzelner Mensch je austesten kann.

HAPPY: Was kann man tun, um ein Programm möglichst fehlerfrei zu schreiben?

Meyfeldt: Man muß sehr sorgfältig arbeiten und - besonders wichtig - sein Programm strukturiert aufbauen. Vereinfacht kann man sagen, daß das Programm in lauter Modulen aufgebaut sein soll. Bestimmte Routinen, sei es Bildschirmaufbau oder das Lesen von der Diskette, sollen in Unterroutinen, mit REM-Zeilen als Kopf, ausgeführt werden. In den REM-Zeilen sollen auch alle Variablen dokumentiert werden, mit ihrer Aufgabe und ihrem Namen. Das Hauptprogramm braucht dann nur noch aus verschiedenen GOTO- und GOSUB-Befehlen zu bestehen. Jeder, der das Programm liest, kann sofort feststellen, wo was geschieht.

HAPPY: Auch das leidige Thema, Programme von anderen Computern umzuschreiben, wäre damit bedeutend erleichtert.

Meyfeldt: Richtig, dann ist das Programm nicht modular aufgebaut, dann ist es nach einem halben Jahr schwierig, etwas zu ändern. Gutes Programmieren heißt, daß keinerlei zusätzliche Dokumentation notwendig ist, um das Programm zu verstehen. Nur dann kann man leicht Änderungen an dem fertigen Programm vornehmen, ohne daß andere Teile in Mitleidenschaft gezogen werden. Das Listing ist sozusagen der Lebenslauf für ein Programm.

HAPPY: Die REM-Zeilen benötigen aber sehr viel Speicherplatz. Gerade dieser ist bei Heimcomputern recht rar. Wie kann man sich in dieser Situation helfen?

Meyfeldt: In so einem Fall kann man das Programm ganz ohne REM-Zeilen - aber mit dem gleichen modularen Aufbau - schreiben. Dazu legt man sich einen Index an, ähnlich einer Inhaltsangabe in einem Buch, der die fehlenden Erklärungen enthält. Dieser kann beispielsweise als extra Programm mit lauter REM-Zeilen gespeichert werden.

HAPPY: Bei vielen Sprung-Befehlen kann die Ausführungsgeschwindigkeit sinken. Aber gerade bei Spielen bestehen doch oft Zeitprobleme.

Meyfeldt: Das ist nur zum Teil richtig. Es stimmt, daß viele Basic-Dialekte das Programm von Anfang an nach den Zeilennummern untersuchen. Es bietet sich - besonders bei langen Programmen - an, die Unterroutinen an den Anfang zu stellen. Andere Basic Versionen legen sich eine Sprungtabelle an und suchen gar nicht mehr nach der Zeilennummer. Die Sprünge werden dann mit der Geschwindigkeit der Maschinensprache vollzogen.

HAPPY: Ist es nicht sinnvoll, seine Spiele gleich in Assembler zu programmieren? Die Ausführungsgeschwindigkeit ist doch viel höher?

Meyfeldt: Natürlich, Maschinensprache ist sehr schnell. Aber eins muß man ganz klar sagen. Viele professionellen Spiele, die heute angeboten werden, sind mit Charactergrafik in Basic geschrieben und nicht in Maschinensprache. Hierbei werden Buchstaben mit anderen Zeichen unterlegt und die umdefinierten Buchstaben, die aneinander gefügt irgendwelche Bilder ergeben, werden auf den Bildschirm gePRINTet. Diese Stringverarbeitung erfolgt nämlich sehr schnell.

Basic oder Assembler

HAPPY: Schneller als in Assembler?

Meyfeldt: Vielleicht nicht ganz, aber Basic erledigt Stringverarbeitung mit einer, der Maschinensprache ähnlichen Geschwindigkeit. Charactergrafik ist eine der Grundlagen in der Spieleprogrammierung. Sich damit zu beschäftigen, halte ich für bedeutend sinnvoller, als die Arbeit mit der Maschinensprache. Natürlich ist das immer vom Computertyp abhängig. Wer aber mit seinem Computer beispielsweise erst zwei Jahre arbeitet, der sollte sich um Maschinensprache nur dann kümmern, wenn er alle Feinheiten von Basic voll beherrscht. Braucht er wirklich mal eine kleine Routine, dann gibt es genügend Literatur, aus der er eine passende Maschinenroutine abschreiben kann. Dazu braucht er notwendigerweise keine Kenntnisse über Assembler. Das Arbeiten mit Assembler verlangt viel Wissen um den internen Aufbau des Computers und führt bei ungeübten Programmierern leicht zu Abstürzen.

HAPPY: Es ist also sinnvoller, sich gut in Basic einzuarbeiten, also ein Basic-Experte zu werden. Würden Sie zur Steigerung der Geschwindigkeit einen Compiler empfehlen?

Meyfeldt: Wenn man eine höhere Verarbeitungsgeschwindigkeit erreichen will: Ja. Für fast alle Computer gibt es Basic-Compiler, doch alle sind hinsichtlich Befehlssatz und Ausführungsgeschwindigkeit verschieden. Man sollte sich gut informieren, um einen geeigneten Compiler zu finden. Auch muß man eventuell seine Programme etwas abändern, um sie kompatibel zu gestalten. Diese Mühe wird aber mit einer sehr hohen Ausführungsgeschwindigkeit belohnt.

HAPPY: Hat ein Hobbyprogrammierer ein gutes Programm erstellt, wie kann er es dann verkaufen?

Meyfeldt: Hier bieten sich mehrere Möglichkeiten an. Wirkliche Spitzenprogramme können jeder Software-Firma angeboten werden. Um vor Nachteilen geschützt zu sein, sollte man sich aber zuerst ein Vertragsangebot machen lassen. Nur dann ist man gegen eine unrechtmäßige Nutzung geschützt. Ich selbst vermarkte Programme und verfüge somit natürlich über Kontakte zu vielen größeren Software-Firmen, nicht nur in Deutschland, sondern auch in den USA. Diese Tätigkeit biete ich natürlich jedem Programmierer an.

HAPPY: Wie kann ich mein eigenes Programm richtig einschätzen?

Meyfeldt: Wichtig ist, neben der Programmausführung, die neue Programmidee. Viele Programmierer machen den Fehler, andere Ideen nachzuproduzieren. Die Spielidee von »Pacman« ist heute nicht mehr gefragt, man kann damit kein Geld mehr verdienen. Ein Programm kann nur verkauft werden, wenn die Idee stimmt. Bei Anwendungsprogrammen für Heimcomputer ist aber sicher noch ein großes Feld für neue Ideen vorhanden.



Aus: Happy Computer 09 / 1984, Seite

Links

Copyright-Bestimmungen: siehe Über diese Seite