GEM: GUI von 1985

Mama hat auf dem Flohmarkt fast kostenlos ein altes etwas mitgenommenes Buch gefunden und ihrem Sohnemann geschenkt.

Es trägt den Titel

Vom Anfänger zum GEM-Profi
Perfekte Programmierung auf Atari ST und IBM-PC


GEM

Das hat mich sehr überrascht, und ich hab’ mich echt gefreut, als mir das 550 Seiten-Werk übergeben wurde.

Damit ist ihr ein Glückstreffer gelungen, denn unter vielen “Computer-Büchern”, die Bilder von Windows zeigen, und wie man ein Programm öffnet, hat sie ein Exemplar gefunden, dass sich an Programmierer richtet.

Und das auf einem Flohmarkt … Respekt! Vielen Dank, “Muazi”!

GEM steht für Graphics Environment Manager und war eine graphische Benutzeroberfläche in den 80er Jahren, mit der ich leider nie in Berührung gekommen bin. Durch FreeDOS stieß ich vor einigen Jahren zufällig auf den Begriff und ergoogelte mir ein paar Infos dazu.

Nun besitze ich ein Buch, das nicht nur die damalig C-API beschreibt, mit der man GEM Anwendungen schreiben konnte, sondern sogar auch detaillierte Infos zur binären Schnittstelle, damit man alle Aufrufe auch in Assembler nachstellen kann.

Lustig finde ich es, wenn ein Buch von 1990 im Vorwort erwähnt, dass gerade der Kampf um “Fenster-Systeme” begonnen wurde und GEM eben schon fertig sei, während andere noch an ihrem “Presentation Manager”, “X Window System” und “Motif” arbeiten.

Und in den Code-Listings trifft man den Header windows.h an … Ohohoh, und wie hat Microsoft seine Haupt-Header-Datei später benannt? Richtig, genau so!
Es ist schwer zu sagen wer von wem abgeschrieben hat bzw. wann zwei zufällig die gleiche Idee hatten.

Wenn gerade nichts zu tun ist, greife ich gerne zu dem Buch und blättere ein bisschen darin. Es ärgert mich etwas, dass ich nicht 20 Jahre früher geboren wurde und diese Zeit vielleicht aktiv hätte miterleben können, aber trotzdem freue ich mich zu sehen, wie einfach und gleichzeitig fortschrittlich einige Entwickler ihre Codes damals niedergeschrieben haben.

Heute bauen wir immer noch auf jenem Wissen von damals auf und wenn ich (zum gefühlt 10ten mal) UI Code unter Windows oder X11 schreibe, ist es schön zu wissen, dass diese Schreibweise jetzt schon ein paar Jahrzehnte Bestand hat.

Gerade in den letzten 15 Jahren hat die IT viel Neues ausprobiert und publiziert, aber bei weitem nicht alles hat überlebt bzw. sich bewähren können.

Ich frage mich, ob ein solches vereinfachtes Fenster-System wie das von GEM nicht wieder eine Renaissance auf Mikrocontrollern erleben kann.

Ich denke momentan passiert mit MCU Software in etwas das, was in den 80er Jahren mit den Heimcomputern von Atari bis zum C64 passierte: Jeder Hersteller wollte sein System durchsetzen und am Ende scheiterten alle. Der IBM PC machte das Rennen … vermutlich auch deshalb, weil sie sich zu wenig patentieren ließen und somit unabsichtlich ein “offenes” System geschaffen hatten.

Heute haben wir mit Windows, MacOS, X11 und Android nur noch solche Fettbatzen, die Gigabytes an Speicher fressen … aber im Endeffekt auch nicht viel mehr darstellen, als die 64 KiloByte UIs von damals … zumindest im Office-Bereich.

GEM ließe sich vielleicht auf einen ESP8266 mit OLED Display übertragen …

… so die Träume eines alten Mannes.