Die Natur des Internets ist, dass eine erstaunliche Information jahrzehntelang da draußen sein kann, bevor die richtige Person sie teilt und alle leicht verblüfft sind, dass wir sie so lange verpasst haben. Dies ist kaum die folgenreichste Geschichte, aber sie wurde erstmals von Softwareingenieur Joel Spolsky im Jahr 2000 in einem Beitrag über das Henne-Ei-Problem für Plattform- und Softwareentwickler geteilt.
Vor ein paar Tagen las Kal Yoshika, ein Podcaster und Spieleentwickler, den Blogpost und hat diese Geschichte über Sim City geteilt (und der Tweet wurde anschließend von Verkaufsstellen aufgegriffen einschließlich RPS), das seit zwanzig Jahren einfach da draußen in der Wildnis ist.
Spolsky schreibt darüber, wie wichtig Abwärtskompatibilität für Microsoft war und wie der Erfolg von Windows 3, zumindest in Spolskys Interpretation, teilweise darauf zurückzuführen sein könnte, wie gut ältere Software damit lief. Also bewegen wir uns auf Windows 95…
„Windows 95? Kein Problem.“ schreibt Spolsky. „Nettes neues 32-Bit-API, aber alte 16-Bit-Software lief immer noch perfekt. Microsoft war davon besessen und verbrachte einen großen Teil der Änderungen damit, jedes alte Programm zu testen, das sie mit Windows 95 finden konnten.
„Jon Ross, der die Originalversion von SimCity für Windows 3.x geschrieben hat, sagte mir, dass er versehentlich einen Fehler in SimCity hinterlassen hat, wo er Speicher gelesen hat, den er gerade freigegeben hatte. Ja. Es hat unter Windows 3.x gut funktioniert, weil die die Erinnerung ist nirgendwo hingegangen.”
Auf einem anderen Betriebssystem jedoch konnte dieser Fehler das Spiel komplett stoppen: und SimCity war in der Tat ein sehr beliebtes Spiel.
„Hier ist der erstaunliche Teil“, schreibt Spolsky. „Auf Beta-Versionen von Windows 95 funktionierte SimCity beim Testen nicht. Microsoft hat den Fehler aufgespürt und Windows 95 einen bestimmten Code hinzugefügt, der nach SimCity sucht. Wenn SimCity läuft, führt es den Speicherzuordner in einem speziellen Modus aus, der dies tut nicht sofort Speicher freigeben. Das ist die Art von Besessenheit von Abwärtskompatibilität, die die Leute bereit gemacht hat, auf Windows 95 zu aktualisieren.”
Heutzutage erhält jedes Spiel Post-Launch-Support, aber damals waren alle Fehler, mit denen ein Spiel ausgeliefert wurde, für immer ein Teil davon. Post-Launch-Support hatte in der Branche keine hohe Priorität, und es stand außer Frage, dass die SimCity-Entwickler diesen Fehler beheben würden: Also baute Microsoft ein ganzes kleines System, das Ihren PC vorübergehend auf eine neue Art und Weise betreibt um dem entgegenzuwirken. Es ist einer dieser heldenhaften Programmierer-Momente, bei denen niemand jemals davon erfahren hätte, wenn nicht Spolskys Post gewesen wäre, weil es den Job gemacht hat.
Yoshikas anfängliches Teilen davon führte dazu, dass sich einige andere ihren Favoriten anschlossen. Das hervorragend benannte code_and_beer weist darauf hin (öffnet in neuem Tab) dass die PC-Version von Final Fantasy VII “tot sterben wird, wenn sie sieht, dass sie auf Win NT statt auf Win95 läuft, also lügt Windows auf dem Vorhandensein einiger Dateien.” Das heißt, NT teilt FF7 mit, dass es unter Windows 95 läuft, obwohl dies nicht der Fall ist, nur damit das Hauptwerk von Square Enix läuft. Brillant.
Der SimCity-Programmierer Jon Ross arbeitete viele Jahre an der Serie und ist für eines der dümmsten Ostereier aller Zeiten verantwortlich. Es wird Sie aber (wahrscheinlich) zum Lachen bringen.
Fun Fact zu SimCity 2000: Wenn Sie den gesamten Abspann durchsitzen, hat das Spiel Mitleid mit Ihnen und gibt Ihnen ein Osterei in Form des Lieblingswitzes von Jon Ross (dem DOS-Programmierer). pic.twitter.com/3lWoFnRiUI13. Dezember 2018
Joel Spolsky ist nach einer langen und außergewöhnlichen Karriere im Softwarebereich, in der er an weltberühmten Produkten gearbeitet und mehrere Unternehmen gegründet hat, nun im Ruhestand. Seine persönliche Website wird selten auf den neuesten Stand gebracht, ist aber vollgestopft mit seinen Gedanken zur Technologie und den umfassenderen Problemen, mit denen die Branche konfrontiert ist.