Ein Blick aus dem Fenster


Vielleicht hatten Sie anfangs, als hier von "DOS" und "BASIC" die Rede war, die Nase gerümpft. Und jetzt , nachdem Sie die letzten Kapitel in die Möglichkeiten eines BASIC-Entwicklungssystems der 80er-Jahre hineinbegleitet haben, wollen Sie vielleicht gar nicht mehr weg davon. Nun, Sie müssen auch nicht. Aber eines kann ich Ihnen versichern: In die riesige Welt der Informatik haben Sie gerade einmal einen zaghaften Blick geworfen. Da draussen warten noch Möglichkeiten, die Sie noch gar nicht erahnen!

Inzwischen wissen Sie sehr gut, was "Programmieren" heisst. Sie haben auch ein anderes Verständnis für den Computer entwickelt. Wahrscheinlich arbeiten Sie inzwischen auch mit Ihren Anwendungsprogrammen anders, da Sie nun ein bisschen nachvollziehen können, wie der Computer "denkt" und wie diese Programme von den Grundprinzipien her geschrieben sind, die Sie benutzen.

Wir haben die einfache Programmierung hinter uns gelassen und schon einige Teile der "Strukturierten Programmierung" gelernt. Allerdings fehlt hier noch viel. Desweitern wissen wir noch nichts von der s.g. "Objektorientierung" (OO), auf der heute alle modernen Entwicklungssysteme und -sprachen aufbauen. Ausserdem können wir bisher noch kein Programm schreiben, das "anständig" aussieht wie andere Programme auch: Mit Menüs, Knöpfen und Fenstern. Ja, und der eine oder andere würde sicher gerne mal ein tolles Spiel schreiben, so etwas wie Half Life, Quake oder Doom. Überhaupt: Wie erzeugt man einen anständigen Sound, wie spiele ich mal ein Video ab?

Wir müssen hier zwischen zwei weiterführenden Richtungen unterscheiden:

A. Der Weg zum modernen PC

Der ist gar nicht so lang wie es im Moment scheinen mag. Es gibt heute eine Hülle und Fülle moderner BASIC-Implementierungen, alle mehr oder weniger ähnlich zu QBASIC, aber für die heute modernen Betriebssysteme geschrieben. Die Ansteuerung von Fenstern, schneller Grafik, Stereo-Sound usw. ist mit den meisten von ihnen kein Problem. Genauso wie in unserem 3D-Beispiel gibt es da einfach eine grosse Zahl neuer Funktionen. Nur, dass wir die nicht alle selbst programmieren müssen, sondern wir bekommen sie fertig serviert und müssen nur lernen, damit umzugehen. Das Einzige prinzipiell Neue daran können die oben schon erwähnten "Klassen" und "Objekte" sein. ("Klassen" sind die Typen von "Objekten"). Solange man aber keine neuen programmieren muss, sondern nur die bereitgestellten benutzen will, wird man sich auch ohne tieferes Verständnis damit arrangieren können.

Das wichtigste Hilfsmittel, sich in solche Funktionen- und Objektsammlungen einzuarbeiten, sind Beispielprogramme. Bei jeder Entwicklungsumgebung sind Beispiele dabei. Schauen Sie sich diese ausführlich und genau an; hier können Sie sehr viel lernen. Oft geht es sehr viel schneller, sich das Verständnis aus einem Beispielprogramm zu holen als eine komplizierte Dokumentation durchzukaufen - vorausgesetzt, man beherrscht die Grundzüge der Programmierung. Das tun wir schon.

B. Der Weg zu modernen Programmiersprachen

Man kann also moderne Programme für einen modernen PC in BASIC schreiben - kein Problem. Dieser Teil wird sich dieser Aufgabe widmen. Aber die Grösse und Komplexität der Programme und Projekte, die Sie erstellen, wird durch die Möglichkeiten von BASIC begrenzt werden. Es wird einfach so sein, dass bei einer bestimmten kritischen Grösse des Programms trotz aller Strukturierung die nächsten 100 Zeilen Sie wochenlange Arbeit kosten werden, weil diese 100 Zeilen mit fast allen der restlichen 10000 Zeilen zusammentreffen können und dann soviel passieren kann, dass Sie aus dem Debuggen gar nicht mehr raus kommen. An diesem Punkt werden Sie entdecken, dass es vielleicht doch gut ist, nach anderen, moderneren Programmiersprachen Ausschau zu halten.

Ausserdem können Sie auch schon bei einigen Hundert Zeilen von einer modernen Programmiersprache sehr profitieren. Ich lerne aller vier bis fünf Jahre eine neue Programmiersprache, manchmal auch öfter, je nach Bedarf der Projekte, mit denen ich es zu tun habe. Die letzte habe ich vor zwei Jahren angefangen. Sie hat die Eigenschaft, dass man damit eigentlich keine Laufzeitfehler mehr macht. Man programmiert, sagen wir, 100 oder 200 Zeilen, macht dabei ein paar Syntaxfehler, bereinigt diese und das Programm läuft perfekt. Falsche Initialisierungen, Index-Überläufe bei Arrays, gar falsche Variablenmanipulationen? Alles Fehlanzeige. Der Preis ist ein gewisser Lernaufwand für neue Konzepte. Aber genau das ist es ja auch, was Spass macht.

Nachdem wir in diesem Teil uns mit der Programmierung auf einem (halbwegs) modernen Betriebssystem beschäftigt haben, nebenbei noch unsere Kenntnisse in strukturierter Programmierung erweitern, werden wir uns im darauffolgenden Teil anhand einer neuen Programmiersprache systematisch mit der objektorientierten Programmierung befassen.

Zu diesem Teil

Wie schon oben geschrieben: Es gibt heute sehr viele BASIC-Entwicklungssysteme, angefangen bei Skriptsprachen für die Systemsteuerung über eigenständige Anwendungsentwicklung über s.g. Applikationsprogrammierung bis hin zu Spieleentwicklungssystemen. Angesichts der Tatsache, dass BASIC hier eigentlich eher als Startrampe für modernere Sprachen dienen soll, sollen in diesem Teil nur exemplarisch zwei Systeme gestreift werden, ein freies Tool zur Anwendungsprogrammierung und ein Tool zur s.g. Office-Programmierung.

...und wo lerne ich meine Shooter zu programmieren?

Die Spieleprogrammierung ist an sich eines der anspruchsvollsten Programmiergebiete überhaupt. (Und eines der reizvollsten). Wer von der Pike weg professionelle Spiele entwickeln will, der hat an dieser Stelle erst ein Tausendstel des notwendigen Lernweges zurückgelegt. Es gehören Abertausende von Stunden dazu, hier etwas Anständiges zuwege zu bringen. Allein geht sowieso gar nichts. Das heisst, man muss auch lernen, im Team zu programmieren.

Aber so schlimm ist die Lage für Anfänger denn doch nicht. Wenn man die Sache andersherum aufzieht und sagt: "Na, mal sehen, was denn für einen BASIC-Freak zu machen ist", der wird eher angenehm überrascht sein. In den letzten Jahren sind eine ganze Reihe spezieller Spiele Entwicklungssysteme herausgekommen, die sich an Anfänger richten. Zwei davon, "Blitz 3D" und "Dark Basic", erfordern auf Programmiererseite nur die Beherrschung von BASIC - Ihre Kenntnisse dürften zu diesem Zeitpunkt einigermassen ausreichen dafür. Dazu kommt natürlich die Einarbeitung in die ganzen Editoren, Grafikprogramme, Formate usw. Auch hier werden Sie einige Zeit benötigen, reinzukommen - aber eher ein paar Wochen, keinesfalls Jahre...

Blitzbasic

Dark Basic