Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Was müsste Software heute können, um in 20 Jahren noch sinnvoll zu laufen?

Empfohlene Antworten

Hallo zusammen,

ich möchte in der Plauderecke eine Architekturdiskussion anstoßen – bewusst ohne konkretes Produkt‑ oder Framework‑Bashing.

Ausgangspunkt ist ein privates Projekt / Showcase, bei dem ich mich gefragt habe:
Wie müsste man Software heute entwerfen, wenn sie 20 Jahre unverändert betreibbar sein soll?

Statt „State of the Art 2026“ habe ich daher ein paar bewusste Gegenentscheidungen getroffen:

• stabiler Kern (PostgreSQL, klar definierte Domänenlogik)
• Service‑Schicht in Go (kompiliert, wenig Abhängigkeiten)
• Zugriff über mehrere sehr unterschiedliche Clients:
– Web (Browser)
– native Clients (C#, C++20)
– Terminal‑Zugriff (TN3270), testbar sogar auf sehr alter Hardware
• Druck/PDF‑Erzeugung nicht über Office‑Reports, sondern über eine textbasierte Build‑Pipeline (groff) in Docker

Der Retro‑Teil ist dabei weniger Nostalgie als Härtetest:
Wenn eine Anwendung über blockorientierte Terminals funktioniert, erzwingt das automatisch klare Datenmodelle und saubere Schnittstellen.

Mich interessiert nicht „retro vs. modern“, sondern die Frage:

Welche Teile heutiger Softwarearchitektur sind wirklich langlebig – und welche sind es nur, weil wir sie alle benutzen?

Wie seht ihr das aus eurer Praxis?
Gibt es aus eurer Sicht Architekturprinzipien, die den letzten 15–20 Jahren tatsächlich standgehalten haben?

Technologiepapier_Manifest_MovieSystem_v1.pdf

Ein sehr spannendes Thema!

Im Paper selbst schreibst du <Ziel ist nicht „anti‑Microsoft/anti‑Apple“ [...]> ich denke dazu, daß es bei dem Ruf nach Langlebigkeit so ist, daß Microsoft-/Appleprodukte dann nur als Clients zum Einsatz kommen können, weil die ja Funktionen/Kompatibilitäten in manchmal in kürzester Zeit abschalten. Dann müsste das ganze Backend als OpenSource gestaltet sein. Hast du dir Project Nomad schon mal angesehen? Das könnte ja ggf. um die von dir gewünschten Funktionalitäten aufgebohrt werden? Ich hatte da letztes Wochenende bisschen mit rumgebastelt, die Idee an sich ist in jedem Fall super.

  • Autor

Danke für den Hinweis auf das Projekt N.O.M.A.D., das geht auf jeden Fall in die Richtung, die ich grundsätzlich gesucht habe.

Allerdings verfolge ich ein paar Ansätze, in denen sich meine Idee bewusst und grundlegend unterscheidet.

Mein Ziel ist vor allem:

a) eine langfristige Architektur – keine kuratierte Tool‑Sammlung

b) Text‑first – also nicht Browser‑first als primärer Zugang

c) Terminal‑ & Retro‑Zugriff: Ich bin noch im Verein aktiv (Atari ST). Dafür gibt es bei vielen modernen Lösungen – auch bei N.O.M.A.D. – naturgemäß keinen Ansatz

d) 20‑Jahre‑Kompatibilität – das ist für mich der wirklich wichtigste Punkt, der bei vielen bestehenden Lösungen leider fehlt

e) austauschbare Clients – für mich ein absolutes Muss‑Kriterium

N.O.M.A.D. halte ich trotzdem für ein sehr spannendes Projekt, gerade als Referenz dafür, wie viel heute offline‑first und Open‑Source möglich ist. Mein Fokus liegt allerdings etwas stärker auf dem architektonischen Grundgerüst als auf einem integrierten Anwendungspaket.

vor 2 Stunden, V___ger hat gesagt:

Wie bewahrt man einen Tropfen vor dem austrocknen? ...

Indem man ihn ins Meer gibt. - aber das ist vielleicht doch etwas zu poetisch für eine Architekturdiskussion. ;)

Der ursprüngliche Ansatz ist in meinen Augen sehr gut durchdacht und setzt trotzdem, Meiner Meinung nach, auf einer Ebene an, die langfristig nicht die stabilste ist.
Denn im Grunde listet auch das Manifest am Ende nur Tools auf: PostgreSQL, Go, groff, TN3270, Docker. Alles gute, bewährte Werkzeugen, Ja. Aber auch Tools, die in 20 Jahren möglicherweise anders aussehen, anders heißen oder durch etwas Besseres ersetzt werden. Damit dann doch wieder eine "kuratierte" Toolsammlung.

Denn was wirklich langlebig ist, ist nicht das Tool, es ist die Logik.

Denn was bedeutet "ein Film"? Was ist "eine Sammlung"? Was bedeutet es, ein Medium eindeutig zu identifizieren? Diese Fragen, die Sprache des Problems selbst, haben sich in den letzten 50 Jahren kaum verändert. Und sie werden das in den nächsten 20 Jahren auch nicht tun.

Das kennt man auch unter dem Begriff "Domain-Driven-Design". Denn die fachliche Beschreibung was ein System tun soll, ist das eigentlich langlebige Artefakt. Denn alles andere, Frameworks, Sprachen, Protokollem, Druckengines sind austauschbar. Solange die Fachlichkeit klar definiert ist.

Deshalb, vielleicht etwas radikal, aber eigentlich konsequent: Die Spezifikation als einziges Artefakt.

Deshalb mit den heutigen Mitteln weiter gedacht, was spricht dagegen, das System auf einem gut formulierten, natürlichsprachigen Prompt aufzubauen? Einer Beschreibung der Logik und nicht der Implementierung.
Die KI darf sich ändern, das Modell dahinter ebenfalls. Aber der Prompt, also die Anforderungsbeschreibung, bleibt konstant.

Ja ja, der Einwand: "Aber die KI ist doch auch ein Tool!" Jup, stimmt. Aber der Prompt in natürlicher Sprache ist eben kein Tool, und der ist die Spezifikation. Und diese bleibt über Generationen wirklich interpretierbar. Denn ein gut geschriebener Satz ist in 20 Jahren noch genauso gültig und lesbar (natürliche Sprache ändert sich nciht so schnell, selbst knapp 1.000 Jahre alte Gedichte und Minnegesänge von Walther von der Vogelweide sind heute noch lesbar), und von jeder zukünftigen Technologie interpretierbar.

Und HTML als Warnung

Was vor 20 Jahren in HTML gebaut wurde, würde heute niemand mehr so bauen. Nicht weil die Anforderungen falsch waren, sondern weil das "Tool" HTML sich verändert hat, und weil die Implementierung die eigentliche Logik eingeschlossen hat wie ein Bernstein. Die Logik ist mit dem Tool zusammengewachsen und damit genauso veraltet.

Das ist das eigentliche Problem bei „20-Jahre-Architekturen": Nicht dass die Tools sich ändern, das ist unvermeidlich. Sondern dass die Logik so tief in die Tools eingebettet wird, dass sie nicht mehr separat überleben kann.

Ws ich sagen will ist nicht, das keine Tools mehr zu verwenden ist, natürlich muss irgendwas gebaut werden. Aber die Investition in Langlebigkeit sollte nicht primär in die Wahl des "richtigen" Tools fließen, sondern in die saubere und werkzeugagnostische Beschreibung dessen, was das System tun soll.

Der Kern ist dann nicht PostgreSQL.

Der Kern ist dann die Antwort auf die Frage: "Was ist eigentlich ein Film in diesem System und welche Regeln gelten für Ihn?"

Sorry, bischen länger geworden die Antwort. ;)

vor 1 Stunde, Enno hat gesagt:

1.000 Jahre alte Gedichte und Minnegesänge von Walther von der Vogelweide sind heute noch lesbar

übersetzbar, bestenfalls. lesbar scheitert schon an diakritischen zeichen die in unserem alphabet nicht vorkommen.

Das Voynich-Manuskript, Rongorongo und Co. lassen grüßen

  • Autor

Danke für den Einwand, der ist absolut berechtigt – vor allem der Hinweis auf Schrift, Diakritik und exakte Reproduktion. Da würde ich gern etwas geraderücken, weil hier aus meiner Sicht zwei Dinge zusammenrutschen, die man trennen sollte.

Ich meine mit der Walther‑von‑der‑Vogelweide‑Analogie nicht, dass natürliche Sprache immer verlustfrei oder eindeutig bleibt. Natürlich braucht es heute Übersetzungen, Kommentare und Kontext – und ja, es gibt Gegenbeispiele wie Voynich oder Rongorongo. Das bestreite ich gar nicht.

Mir geht es eher um den Unterschied zwischen Bedeutung und exakter Reproduktion.

Bei Formularen, Steuerbescheiden oder Zolldokumenten ist exakte Reproduktion das Hauptziel. Da muss das Ergebnis stimmen, idealerweise identisch, und Interpretationsspielraum ist unerwünscht. Dafür sind formale Systeme genau richtig.

Bei Dingen wie Domänenmodellen, Regeln oder Wissen (und dazu zähle ich auch „Was ist ein Film in diesem System?“) ist das Ziel ein anderes: Dass ein Mensch auch in 20 oder 30 Jahren noch nachvollziehen kann, was gemeint war, selbst wenn die konkrete Umsetzung oder das Werkzeug längst weg ist. Das ist dann nicht bitgenau, aber oft erstaunlich robust.

Eine praktische Erfahrung aus meinem Alltag passt da ganz gut:
Ich habe mir einen Monsieur Cuisine gekauft, um überhaupt erst kochen zu lernen. Dabei nutze ich zwei Apps. In der Lidl‑Kochen‑App kann ich Rezepte einfach kopieren, abwandeln und in mein eigenes Kochbuch übernehmen. In der Monsieur‑Smart‑App sind die Rezepte komplett gegen Kopieren gesperrt.

Beides funktioniert – aber nur bei der ersten lerne ich wirklich etwas. In der zweiten führe ich Abläufe aus. Das Rezept ist dort kein Wissen, sondern ein geschützter Prozess.

Und genau diesen Unterschied meine ich auch in der Architektur:
Wenn Logik und Bedeutung zu tief in Tools, Formate oder Workflows eingebaut sind, ist das System zwar bequem, aber kurzlebig. Wenn die Bedeutung zuerst sauber beschrieben ist, kann man sie später immer wieder neu umsetzen – auch mit anderen Werkzeugen.

Kurz gesagt:
Formale, exakte Systeme sind unverzichtbar, aber sie sollten nicht der einzige Träger der Bedeutung sein. Die Bedeutung selbst muss irgendwo leben, wo sie auch Menschen noch verstehen können.

  • Autor

Um zu verstehen, warum ich mich für diesen Stack (Go, Retro-Anbindung, kein modernes Web-UI-Bling-Bling) entschieden habe, möchte ich mein Positionspapier zur Informatikbildung teilen. Mir geht es darum, dass gerade Auszubildende wieder lernen, Systeme zu bauen und zu durchdringen, statt nur Oberflächen zu bedienen. Mein Projekt ist der technische Prototyp für genau diesen didaktischen Ansatz.

Positionspapier_Informatikbildung_Gestaltbare_Systeme.pdf

vor 2 Stunden, tkreutz2 hat gesagt:

Eine praktische Erfahrung aus meinem Alltag passt da ganz gut:
Ich habe mir einen Monsieur Cuisine gekauft, um überhaupt erst kochen zu lernen. Dabei nutze ich zwei Apps. In der Lidl‑Kochen‑App kann ich Rezepte einfach kopieren, abwandeln und in mein eigenes Kochbuch übernehmen. In der Monsieur‑Smart‑App sind die Rezepte komplett gegen Kopieren gesperrt.

Beides funktioniert – aber nur bei der ersten lerne ich wirklich etwas. In der zweiten führe ich Abläufe aus. Das Rezept ist dort kein Wissen, sondern ein geschützter Prozess.

Oh, das ist ein sehr cooles Beispiel. Ich bin einfach zu alt und lebe scheinbar mehr in der Vergangenheit um Beispiele und Analogien zu finden. ;)

Sehe aber dass wir mit unseren Ansichten sehr in die gleiche Richtung denken. Sobald Bedeutung nur noch als geschützter Prozess existiert und nicht mehr als verstehbares Wissen, ist sie langfristig verloren – egal ob Rezept oder Domänenmodell.


Und dein didaktischer Ansatz aus dem zweiten Post macht das für noch runder: Wer Systeme wirklich durchdringen will und soll, muss zuerst verstehen was das System tun soll, bevor er lernt wie man es baut. Die Spezifikation vor dem Stack, sozusagen.

Bearbeitet von Enno

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.