Die Entwicklung von Lilith und der Programmiersprache Modula-2 stellt einen bedeutenden Fortschritt in der Geschichte der Computertechnologie und Softwareentwicklung dar. Beide Projekte entstanden Anfang der 1980er Jahre am Institut für Informatik der Eidgenössischen Technischen Hochschule (ETH) in Zürich, einem Hotspot technologischer Innovationen. Ihre enge Verzahnung zeigt beispielhaft, wie Hard- und Software gleichzeitig und aufeinander abgestimmt entwickelt werden können, um neue Maßstäbe in Programmiermethoden und Rechnerarchitekturen zu setzen. Niklaus Wirth, eine herausragende Persönlichkeit in der Welt der Informatik, ist der Schöpfer von Modula-2, einer Programmiersprache, die 1979 vorgestellt wurde. Sie sollte Nachfolger der bahnbrechenden Sprache Pascal sein, ohne deren Schwächen zu wiederholen.
Modula-2 brachte insbesondere durch seine modular strukturierte Programmierung eine neue Ebene der Softwareentwicklung mit sich. Dieses Konzept erlaubte eine klare Trennung von Funktionen und eine höhere Wiederverwendbarkeit von Programmcode, was den Grundstein für viele moderne Programmiersprachen legte. Parallel zur Entstehung von Modula-2 wurde die Lilith-Workstation entwickelt, ein innovativer Programmierarbeitsplatz, der 1980 auf den Markt kam. Die Lilith war eine eng mit Modula-2 verzahnte Hardware, die speziell auf die Anforderungen dieser Sprache zugeschnitten war. Sie sollte die optimale Plattform für die moderne Programmentwicklung bieten, indem sie low-level Hardware-Leistung und eine effiziente Compilerunterstützung vereinte.
Die Architektur der Lilith war hochentwickelt und zeichnete sich durch eine klare, logisch aufgebaute Befehlssatzarchitektur aus, die ein schnelles und effizientes Kompilieren und Ausführen von Modula-2-Programmen ermöglichte. Die Softwareentwicklung für die Lilith umfasste einen Compiler speziell für Modula-2, ein Betriebssystem namens Medos, Texteditoren und grafische Werkzeuge. Besonders hervorzuheben ist der mehrstufige Compiler, der in der Lage war, Modula-2-Programme in einen Zwischencode namens M-Code zu übersetzen. Dieser M-Code war für Liliths Architektur optimiert und erlaubte effiziente Interpretationen und Ausführungen. Die Möglichkeit, den M-Code auf einem PC mit MS-DOS durch einen Interpreter laufen zu lassen, zeigte die Flexibilität und die Weitsicht des Projekts, das für verschiedenste Plattformen und Umgebungen einsetzbar war.
Während die erste Version des Modula-2 Compilers im Jahr 1979 auf der DEC PDP-11 ausgeführt wurde, konnte die Lilith-Version des Compilers den gesamten Übersetzungsprozess durch M-Code-Generierung und dessen Ausführung auf der speziell entwickelten Hardware verbessern. Später folgte ein Single-Pass-Compiler, der die Kompilierung erheblich beschleunigte und die Komplexität reduzierte. Diese verkürzte Compiler-Phase bedeutete einen enormen Fortschritt gegenüber den vorherigen mehrstufigen Compilern und zeigte, wie durch geschickte Optimierung Entwicklungsprozesse schneller und effizienter gestaltet werden können. Ein weiterer wichtiger Aspekt des Lilith-Projekts war die Dokumentation und Offenheit der Quellcodes, die öffentlich zugänglich gemacht wurden. Niklaus Wirth übergab freundlicherweise die Erlaubnis zur Veröffentlichung der Compilerquellen, Betriebssysteme und weiterer Softwarekomponenten.
Dies erleichterte Forschern, Studenten und Hobbyprogrammierern das Studium und die Weiterentwicklung der Technologien. Die Wiederentdeckung des Single-Pass-Compilers 2021 durch Jos Dreesen, Entwickler des Lilith-Emulators EmuLith, stellt einen Meilenstein dar, der das Kulturerbe von Lilith und Modula-2 bewahrt und neue Möglichkeiten für Emulation und Weiterentwicklung eröffnete. Parallel zu den Entwicklungen auf der Lilith-Workstation wurde ein weiterer Compiler entwickelt, der speziell für die Macintosh-Plattform optimiert war. Diese Compiler nutzten die Motorola MC68000- und MC68040-Prozessoren und demonstrierten die Portierbarkeit und Anpassbarkeit von Modula-2. Mit Hilfe des MacMETH-Systems wurde eine schnelle und effiziente Modula-2-Entwicklungsumgebung geschaffen, die für den Betrieb auf Apple Macintosh-Computern gedacht war und damit den Einflussbereich von Modula-2 erheblich vergrößerte.
Die Architektur der Lilith-Workstation, gekoppelt mit der Sprache Modula-2, ermöglichte es Programmierern, effizienter modularisierte Programme zu schreiben und zu verwalten. Das Betriebssystem Medos war ebenfalls ein wichtiger Beitrag, da es speziell für die Bedürfnisse der Sprache und der Hardware konzipiert wurde. Es wies grundlegende Eigenschaften auf, die in heutigen Betriebssystemen üblich sind, wie z.B. Prozessmanagement und Dateisystemunterstützung, und war somit ein Vorreiter seiner Zeit.
Die Verbindung von Modula-2, Lilith und Medos symbolisiert eine ganzheitliche Systementwicklung, bei der Software und Hardware gemeinsam entworfen werden, um Höchstleistung und Benutzerfreundlichkeit zu erreichen. Dieses Konzept ist auch heute noch aktuell, beispielsweise bei Embedded-Systemen oder speziell angefertigten Rechnerarchitekturen, wo eine optimale Abstimmung notwendig ist. Neben der technischen Bedeutung der Projekte besitzen Lilith und Modula-2 auch einen immateriellen Wert als Inspirationsquelle für nachfolgende Generationen von Entwicklern und Forschern. Ihre Prinzipien und Ansätze zur Modularität, klaren Struktur und effizienten Übersetzung sind bis heute Grundlage moderner Softwareentwicklung und beeinflussen viele Programmiersprachen wie Ada, Oberon und sogar neuere Sprachen, die sich auf Modularität und Struktur stützen. Die Verfügbarkeit umfangreicher Dokumentationen, wie das im Jahr 1981 veröffentlichte ETH-Bericht Nr.
40 „The Personal Computer Lilith“ von Niklaus Wirth, bildet eine wertvolle Wissensquelle. Dieses Dokument sowie Handbücher und Dissertationen, die im Umfeld der ETH entstanden sind, bieten tiefe Einblicke in die Designentscheidungen und technischen Details, die die Entwicklung geprägt haben. So wirken Lilith und Modula-2 nicht nur als historische Fußnoten, sondern als lebendige Ressource für Forschung und Lehre. Ein weiterer wichtiger Aspekt sind die damit verbundenen Dissertationen, wie jene zu Codegenerierung und der Lilith-Architektur von C. Jacobi sowie zur getrennten Kompilierung in Modula-2 von L.
Geissmann. Diese wissenschaftlichen Arbeiten vertiefen das Verständnis für die Funktionsweise der Compiler und die Architektur der Lilith, was wiederum wertvolles Hintergrundwissen für Entwickler bietet, die sich mit Compilerbau und Rechnerarchitekturen auseinandersetzen. Die Popularität von Modula-2 erreichte zwar nie das Ausmaß von Sprachen wie C oder Pascal, dennoch besitzt die Sprache eine treue Anhängerschaft und gilt als bedeutende Brücke zwischen strukturierten Programmiersprachen der 1970er Jahre und den objektorientierten Paradigmen der folgenden Jahrzehnte. Ihre Verbindung zu Lilith als einer der ersten Workstations ist zudem ein herausragendes Beispiel für die Umsetzung von Sprache und Maschine in optimaler Harmonie. Modula-2 und Lilith zeigen ebenso den Innovationsgeist der Schweizer Informatikszene und insbesondere die visionäre Arbeit von Niklaus Wirth.
Seine Einsichten und Entwicklungen hatten großen Einfluss auf die Gestaltung der modernen Softwareentwicklung. Die Prinzipien von Einfachheit, Klarheit und Modularität, die in Modula-2 verwirklicht sind, finden sich auch heute noch in neuen Sprachen und Frameworks wieder, was ihre zeitlose Bedeutung unterstreicht. Besonders beeindruckend ist die Art und Weise, wie Lilith und Modula-2 die Grenzen von Wissenschaft und Praxis überwunden haben. Das enge Zusammenspiel von theoretischem Wissen, praktischer Umsetzung und der Offenlegung der Quellen hat einen nachhaltigen Wissenspool geschaffen, der auch Jahrzehnte nach der ursprünglichen Entwicklung noch lebendig ist. Zusammenfassend lässt sich sagen, dass Lilith und Modula-2 mehr als nur technologische Errungenschaften sind.
Sie repräsentieren eine Ära der Innovation in der Computertechnik, die den Weg für moderne Entwicklungsmethoden und Rechnerarchitekturen geebnet hat. Ihre Lehren sind für heutige Entwickler, Wissenschaftler und Technikenthusiasten von großem Wert und bieten spannende Einblicke in die Anfänge der modularen Programmierung und speziell entwickelter Computerhardware. Die Erforschung und Nutzung der Lilith- und Modula-2-Quellen bleibt ein wertvoller Beitrag zur Bewahrung dieses wichtigen Kapitels der Informatikgeschichte.