Alte Liebe rostet nie

Ich kann mich noch erinnern. Es war Anfang der 2000er, vermutlich 2002. Die Welt war noch ein andere. Das "Netz" auch. Ich versuche, den geneigten Lesern jetzt ausschweifende Erzählungen voller Nostalgie und Verklärtheit weitgehend zu ersparen und dennoch Einblicke geben, wie es für mich damals war. Und nein: früher war nicht alles besser. Anders? Sicher.

Worum geht es? Nun, zu eben dieser Zeit hat mich ein Junge — damals noch nicht einmal Teenager —, der ganz Verrückt nach Age of Empires war, gefragt, wie man denn eigentlich so ein Computerspiel "macht". Ich bin nicht in der Lage gewesen, eine zufriedenstellende Antwort zu geben. Kurzum: ich wusste es selbst nicht.

Also bin ich losgezogen. Natürlich wurden die ersten Recherchen im Internet gemacht. Allerdings waren die Ergebnisse gleichzeitig zu viel und zu wenig. Es war eben anders. Buchhandlungen hatten damals noch größere Abteilungen für Computer & Technik und ich habe die meines Vertrauens aufgesucht und eine Wahl getroffen. Ich weiß noch, dass laut Beschreibung eine CD-ROM dabei war und ich gehofft hatte, dort alles nötige zu finden, um starten zu können. Den genauen Titel des Buches habe ich nicht mehr im Kopf, aber ich erinnere mich, dass "C++" im Titel vorkam. Letztendlich war die Enttäuschung groß, denn das Buch baute auf ein Microsoft Produkt auf, dass ich nicht besaß und in den folgenden Monaten auch nicht auftreiben konnte und bei den Kosten auch nicht wollte. So folgten in den nächsten Monaten weitere Recherchen und ein paar weitere Bücher, die andere Lösungen anpriesen. Borland C++ auf der Kommandozeile. Bibliotheken manuell einrichten. Jadgzüge durch das Internet, um die passenden Bibliotheken, Header und Engines zu finden. Borland Delphi 7 in der Personal Edition, das schnell tolle GUIs baute, ich aber — und heute weiß ich: aus Mangel an Erfahrung und Können — nicht mit einer der damals zur Verfügung stehenden Möglichkeiten zur Spieleprogrammierung zum Laufen bringen konnte. Ich wollte etwas, dass einfach "out of the box" funktionierte.

Letztendlich, und hier endet diese Einleitung, verdanke ich meinen "Darling" dem PEARL-Katalog. Ja, genau dem. Damals gab es den Katalog noch am Kiosk und der Abschnitt mit Software war mehrere Seiten lang. Spiele gab es, aber auch Anwender-Software. Eisenbahn.exe, CAD-Werkzeuge, Corel Draw und — Trommelwirbel — PureBasic!

Ich meine mich zu erinnern, dass dort auch DarkBasic angeboten wurde. Ich habe mich aber für PureBasic entschieden, weil es für die Spieleprogrammierung ebenso angepriesen wurde, wie für GUI-Anwendungen und CLI-Tools, was mir vorteilhaft erschien. Zudem wurde mit kleinen Programmdateien ohne Zusatzbibliotheken und optimiertem Code geworben. Und: es war schon damals auch für Linux verfügbar.

Tja, uns so begann meine Reise. Anmeldung in Bulletin Boards, um sich mit der Community auszutauschen; Upgrade auf die nächst höhere Version, diverse kleinere Initiativen und Projekte (wie etwas ein Online-Magazin mit genau einer Ausgabe). Natürlich hat sich vieles geändert. Leute kamen und gingen. Im Beruf (oder auch aus Neugier) beschäftigt man sich mit anderen Technologien und anderen Sprachen. Die Welt hat sich eben weitergedreht. Unity, Godot und andere Engines – viele davon Open Source und/oder für das Deployment auf mobilen Geräten ausgelegt – sind entstanden und schaffen tolle Möglichkeiten, wenn man Spiele entwickeln möchte.

Aber zurück zu PureBasic. Was die Programmiersprache und den Compiler immer noch so cool und spannend für mich und andere macht: - Programme, die in PureBasic geschrieben werden, sind extrem klein. Der erzeugte Code ist nahe an der Maschine und es sind oft keine Zusatzbibliotheken nötig. Kompilieren und starten geht wahnsinnig schnell. - Man kann relativ einfach auf die API des Betriebssystems zugreifen. Windows-Gurus, die den Petzold gelesen haben, können viele der Konzepte einfach übernhemen. Selbes gilt für MacOS und Linux. - Die Syntax ist einfach, die Sprache aber mächtig. - GUI-Programme nutzen die System-Komponenten. Der Look and Feel ist "nativ". Geppart mit API-Zugriffen und einem mächtigen Canvas-Objekt können eigene Gadgets (so heißen GUI-Elemente in PureBasic) erstellt werden. - Die IDE ist ausgereift, reagiert blitzschnell und hat eine eingebaute Hilfe, die ich überall sonst vermisse. Man kann den Compiler aber auch auf der Kommandozeile nutzen. - 1 Lizenz für alle Systeme zu einem erschwinglichen Preis. Man kauft PB einmal und kann es dann auf allen eigenen Computern installieren. Updates inkludiert. - Es gibt eine aktive Community, die immer hilfreich zur Seite steht und immer wieder mit tollen Projekten überrascht. - Die Sprache, der Compiler und die IDE werden nach all den Jahren immer noch weiterentwickelt. Mit SpiderBasic gibt es auch ein "Zwillingsprodukt" (Sprache und IDE nahezu ident), mit der man Rich Internet Applications, Mobile Web Apps (und via Zusatzwerkzeuge auch Apps für iOS und Android) entwickeln kann. Auch hier lohnt sich ein Blick. Das Lizenzmodell ist etwas anders, aber immer noch sehr fair.

Wozu möchte man das also nutzen? Wie ich oben schon sagte, hat mich damals überzeugt, dass man auch GUI-Anwendungen und CLI-Tools schreiben kann. Ganz ohne Verrenkungen. Kleine Helferlein, die es einem bei der täglichen Arbeit etwas leichter machen, sind damit schnell gemacht. Mit anderen Technologien wird es da immer wieder kompliziert, weil man Bibliotheken und Runtimes mitliefern muss, diese vielleicht für das eine oder andere Betriebssystem nicht verfügbar sind, in abgeschotteten Umgebungen ohne Internet arbeiten muss, oder oder. Beim Installieren (PB funktioniert unter Windows auch als Portable App) muss man nicht über ein Paketrepo mehrere Gigabyte an Daten laden, bevor man mit der Arbeit beginnen kann und sich dabei womöglich auch noch etwas einfängt. Stichwort Supply Chain Attack.

Die Argumente für Purebasic wurden viel besser in dem Blogpost unter https://medium.com/@chikega/why-purebasic-is-the-last-surviving-cross-platform-systems-gui-language-7bde899759a2 angeführt, als ich es je könnte.

Wenn man zudem die Entwicklungen im Forum beobachtet, sieht man auch, was alles damit möglich ist.

Es mag vielleicht nicht "Enterprise Grade" sein. Aber hey, auf sehr viele Big Player ist doch auch kein Verlass.

Wer PureBasic kennenlernen will, wissen möchte, warum das Logo wie ein Z aussieht und noch viel mehr, der kann den folgenden Links folgen:

Änderungen:

Links ausgebessert und Tippfehler korrigiert.