1 Punkte von GN⁺ 2026-03-23 | 1 Kommentare | Auf WhatsApp teilen
  • Programmieren ist ein kreativer Akt des präzisen Ausarbeitens mehrdeutiger Spezifikationen, und AI beschleunigt diesen Prozess, indem sie englische Spezifikationen in Code umwandelt
  • „Vibe Coding“ ermöglicht eine intuitive Art der Entwicklung, kann aber Probleme mit Komplexität und Bugs durch undichte Abstraktionen nicht vermeiden
  • Menschen nutzen Abstraktion und Kompression, um Komplexität zu bewältigen; genau darin liegt der wesentliche Wert des Programmierens
  • Im AGI-Zeitalter wird AI bessere Abstraktionen unterstützen und damit die Schaffung ausgefeilter und kunstvoller Software ermöglichen
  • Entgegen der Vorstellung „Code ist tot“ wird AI nicht als Ende des Codings, sondern als Werkzeug für einen neuen Anfang dargestellt

Der Tod des Codes ist eine übertriebene Behauptung

  • Es wird auf die Mehrdeutigkeit englischer Spezifikationen und die Grenzen von Präzision hingewiesen; Programmieren ist wie Schreiben ein Vorgang, bei dem die Genauigkeit durch Wiederholung schrittweise erhöht wird
    • Mit einem Zitat von Bertrand Russell wird betont, dass „alles vage ist, bis wir versuchen, es präzise zu machen“
    • AI kann auf Englisch geschriebene Spezifikationen schnell in ausführbaren Code umwandeln, sodass Nutzer das gewünschte Ergebnis schrittweise konkretisieren können
  • „Vibe Coding“ ist eine Methode, bei der man auf von AI erzeugte Resultate reagiert und eher intuitiv entwickelt, doch das kann die Illusion exakter Abstraktion erzeugen
    • Wenn Abstraktionen undicht werden, entstehen unerwartete Bugs; mit wachsender Größe wird das Problem gravierender
    • Vorgestellt wird Dan Shippers Fall, in dem ein per „vibe coding“ gebauter kollaborativer Texteditor populär wurde, dann aber wegen Komplexitätsproblemen ausfiel
    • „Live-Zusammenarbeit“ wirkt intuitiv einfach, ist in Wirklichkeit aber ein sehr schwieriges Problem und zeigt das Wesen von Komplexität

Abstraktion und die Kontrolle von Komplexität

  • Menschen können nur etwa 7±2 Elemente gleichzeitig erfassen; der einzige Weg, Komplexität zu bewältigen, ist „Kompression“, also Abstraktion
    • Mit einem Zitat von Edsger Dijkstra wird hervorgehoben, dass „der Zweck von Abstraktion nicht Unschärfe, sondern Präzision auf einer neuen Bedeutungsebene ist“
    • Als Beispiel wird Sophie Alperts Vereinfachung eines komplexen Slack-Diagramms für Benachrichtigungsflüsse genannt
  • Der Kern des Programmierens ist die Schaffung besserer Abstraktionen zur Beherrschung von Komplexität; ihre Schönheit zeigt sich etwa in der funktional-reaktiven Programmierung
    • Selbst inhärent komplexe Probleme wie kollaborative Texteditoren lassen sich mit Abstraktionswerkzeugen wie ReactJS oder TailwindCSS schrittweise bezwingen

Das AGI-Zeitalter und die Rolle des Codes

  • Da AI immer schneller und günstiger wird, wird sie letztlich Intelligenz erreichen, die von menschlicher nicht zu unterscheiden ist (AGI)
    • Im AGI-Zeitalter wird man voraussichtlich so leistungsfähige Intelligenz nutzen können, als stünden jedem günstig „100 Genies auf Karpathy-Niveau“ zur Verfügung
    • Doch das dient nicht dazu, noch mehr schlechten Code zu produzieren, sondern als Werkzeug für bessere Abstraktionen und ein tieferes Verständnis von Komplexität
  • Code ist nicht bloß ein Mittel zur Softwareentwicklung, sondern selbst ein bedeutendes künstlerisches Werk; gut geschriebener Code wird mit Poesie verglichen
    • So wie es kein „vibe writing“ gibt, kann auch Coding nicht durch bloß intuitive Handlungen ersetzt werden
    • Wenn AGI kommt, werden Maschinen nicht-minderwertigen (non-slop) Code schreiben können, was ein glorreicher Fortschritt für die Menschheit wäre

AI und bessere Codequalität

  • Gegenwärtig erzeugt AI noch immer unvollkommenen Code, doch Entwickler setzen sie bereits mit diesem Bewusstsein ein
    • Wie Simon Willison argumentiert, sollte AI als Werkzeug zum Schreiben besseren Codes genutzt werden
    • Sobald AGI erscheint, wird sie zuerst auf die schwierigsten Abstraktionsprobleme angesetzt werden und komplexe Systeme wie Bibliotheken für kollaborative Editoren verbessern
  • Vorgestellt wird ein Fall, in dem mit Opus 4.6 ein Full-Stack-React-Framework (vtrr) für Val Town entwickelt wurde
    • Dabei wurden offene Probleme rund um React Router 7 auf einmal gelöst, und die Komplexität wurde elegant in einer 50-zeiligen Demo mit nur einer Datei behandelt
    • Das zeigt, dass ausgefeilte Code-Schöpfung durch Zusammenarbeit von Mensch und AI möglich ist

Die Zukunft des Codes und der Wert des Formalismus

  • Viele Menschen glauben, „Code ist tot“, doch das ist ein Fehlschluss, vergleichbar mit der Behauptung, die Erfindung des Buchdrucks bedeute das Ende von Geschichten
    • AI bedeutet nicht das Ende des Codings, sondern einen neuen Anfang des Codings
  • Mit Zitaten von Edsger Dijkstra, Tony Hoare und Charles Babbage wird betont, dass formales Denken und die komprimierende Kraft von Symbolen das menschliche Denken erweitern
    • Dijkstra bemerkt, dass die Verwendung formaler Sprachen nicht als Last, sondern als Privileg gesehen werden sollte
    • Hoare stellt zwei Ansätze gegenüber: „ein einfaches Design, das offensichtlich keine Mängel hat“ und „ein komplexes Design, bei dem das Fehlen von Mängeln nicht offensichtlich ist“
    • Babbage weist darauf hin, dass die Kompression von Symbolen eine Kraft ist, die Denken vorantreibt
  • Zusammenfassend lässt sich sagen: Code ist nicht tot, sondern wird im AI-Zeitalter zu einem noch mächtigeren kreativen Werkzeug

1 Kommentare

 
GN⁺ 2026-03-23
Hacker-News-Kommentare
  • Chris Lattner hat einen mit Claude AI geschriebenen Compiler begutachtet und meinte, daran sei nichts wirklich Innovatives
    AI neigt dazu, vorhandenes Wissen im Mittel neu zu kombinieren, kann aber kritisches Denken oder neue Paradigmen nicht von selbst hervorbringen
    Menschen können außerhalb bestehender Übereinkünfte denken, während AI eine Tendenz hat, zu diesem Konsens zurückzukehren
    Letztlich ist AI ein Konformist (conformist), und genau das ist zugleich Stärke und Schwäche
    Zugehöriger Artikel

    • Für mich sind LLMs am hilfreichsten, wenn ich mehrere Systeme integriere
      Statt stundenlang Dokumentation zu lesen, um komplexe Authentifizierungs-Setups wie OAuth oder SAML zu verstehen, erstellt mir ein LLM schnell funktionsfähigen Integrationscode
      Ich nutze es außerdem wie Rubber-Duck-Debugging, um im Gespräch mit der AI meine Gedanken zu ordnen
      Solche Gespräche haben eine Komplexität, die für Menschen ohne echte Entwicklungserfahrung schwer zu erreichen ist
    • Ich denke, die Frage, ob AI Menschen ersetzt, ist keine binäre Frage, sondern eine des Spektrums
      Die eigentliche Sorge ist, ob AI die Nachfrage senkt und die Branche dadurch zu einem Überangebot führt
      Wenn weiterhin neue geschäftliche Probleme entstehen, wird AI als Werkzeug helfen, andernfalls werden Jobs auch ohne AI weniger werden
    • Die Aussage „AI erzeugt Antworten in der Nähe des Zentrums bestehenden Denkens“ hängt mit dem Universal Approximation Theorem zusammen
      Neuronale Netze führen im Wesentlichen Interpolation aus, nicht Extrapolation
      Das heißt: Innerhalb des gelernten Bereichs sind sie ausgefeilt, außerhalb davon unvorhersehbar
      Der Wikipedia-Artikel und das SolidGoldMagikarp-Beispiel zeigen das gut
    • Ich halte Lattners Einschätzung für einen unfairen Vergleich
      Claudes Ziel war nicht Innovation, sondern zu zeigen: „Kann AI einen Compiler bauen?“
      Wenn man Fälle wie AlphaDev oder AlphaEvolve betrachtet, ist es gut möglich, dass AI durch exploratives Lernen und Wissenskombination tatsächlich Innovation hervorbringen kann
    • Es stimmt, dass AI konventionellem Denken folgt, aber genau das ist eher eine Stärke
      In den meisten Fällen wollen wir ein vorhersehbares Werkzeug und kein instabiles Wesen, das selbstständig weiterlernt
      AI kann widersprüchliche Anforderungen ordnen und eine konsistente Implementierung erzeugen
      Sie kann zum Beispiel auch auf unmögliche Anfragen wie „Zeichne sieben rote Linien mit blauer Tinte“ logisch reagieren
      Dass Claude tatsächlich antwortete, „Das ist unmöglich, also wäre es die ehrliche Antwort, 0 Linien zu zeichnen“, ist ein Beispiel für kritisches Denken
  • Auf die Frage „Kann AI neue Technologien erschaffen?“ bin ich skeptisch
    Da AI von vorhandenen Daten abhängt, besteht bei neuen Sprachen oder Frameworks mit wenig Trainingsmaterial das Risiko einer verlangsamten Weiterentwicklung

    • Andererseits verlangsamt sich in der Softwarewelt bereits das Tempo des Werkzeugwandels
      AI-Coding könnte im Gegenteil helfen, das „Rad neu zu erfinden“ zu reduzieren und aus dem NIH-Syndrom herauszukommen
    • Ich arbeite mit AI-Modellen an neuen Frameworks
      Selbst mit kaum vorhandenen Trainingsdaten können sie Dokumentation lesen, Code schreiben und neue Versuche durchführen
    • Die Annahme, nur Menschen könnten etwas Neues erschaffen, ist schwach begründet
      Man sollte die Möglichkeit offenlassen, dass AI eines Tages ebenfalls kreative technische Synthese leisten kann
    • Das größere Problem ist, dass Frameworks, auf die AI nicht trainiert wurde, behandelt werden, als existierten sie nicht
      Am Ende könnten wir in einer Zeit landen, in der Entwickler dafür bezahlen müssen, in die Trainingsdaten der AI aufgenommen zu werden
    • Es gibt bereits Versuche, dieses Problem zu lösen
      Plattformen wie skills.sh bieten zum Beispiel ein Skill-System, um AI neue Frameworks beizubringen
      Schon mit Dokumentation und Beispielcode kann die AI das betreffende Framework sofort verwenden
  • Ich habe gegenüber Code widersprüchliche Gefühle
    Im Beruf ist Code Schuld bzw. Last, gleichzeitig aber auch Freude als Hobby
    Es fühlt sich an, als rücke eine Welt näher, in der man wie beim Computer aus Star Trek einfach etwas sagt und es erledigt wird

    • Manche sagen allerdings, die Star-Trek-Zukunft und die heutige Realität liefen in genau entgegengesetzte Richtungen
  • Ein großer Teil der intellektuellen Ressourcen der Gesellschaft fließt in Ad-Tech oder die Überwachungsindustrie
    Wenn AI das Programmieren ersetzt, könnte das ein Anlass für eine Umverteilung von Talenten sein

    • Allerdings verschwinden solche Branchenziele nicht so leicht allein durch technischen Wandel
  • Ich arbeite an einem CRDT für Baumstrukturen, das Verschieben, Löschen und Sortieren ohne Tombstones ermöglicht
    Claude Code schreibt zwar guten Code, wollte aber ständig Tombstones hinzufügen, sodass ich es mit logischen Beweisen überzeugen musste
    Es scheint, dass AI ein solch feines strukturelles Verständnis noch nicht vollständig besitzt

    • Für solche Projekte wurde mir Codex empfohlen
  • Immer wenn neue Technologien auftauchen, durchlaufen Menschen eine Phase überzogener Erwartungen und Experimente
    Auf diesem Weg lernen wir die Grenzen der Technologie kennen
    Das Versprechen des agentischen Programmierens klingt großartig, aber am Ende wird jeder durch Versuch und Irrtum die Realität kennenlernen

  • Ich sehe das weniger als „Code ist tot“, sondern eher so, dass Menschen die Abstraktionsebene um eine Stufe anheben
    Heute schreibt man eine Spezifikation auf Englisch und die AI erzeugt den Code
    Wenn jedoch vollständige Spezifität nötig ist, bleibt Code weiterhin nützlicher
    Wie bei der Bildbearbeitung: Wenn präzise Kontrolle nötig ist, macht man es besser selbst, aber in den meisten Fällen reicht es, die AI machen zu lassen
    Mit der Zeit wird AI meiner Meinung nach stabilen und sicheren Code besser schreiben als Menschen

    • Wenn der Zeitpunkt kommt, an dem die Fehlerrate von Menschen höher ist als die von LLMs, könnten menschliche Fehler problematischer werden als Halluzinationen der AI
  • Wie Simon Willison sagte, liegt der wahre Wert von vibe coding nicht in „schneller“, sondern darin, besseren Code zu erzeugen
    Man kann Prototypen mit verschiedenen Entwurfsmodellen erstellen und sie anhand von Lesbarkeit, Zuverlässigkeit und Fehlertoleranz iterativ verbessern

    • Ich habe dieselbe Hoffnung
      In Code-Reviews kann man inzwischen sagen „Lass uns diesen Teil so ändern“, und die AI setzt es sofort um
      Viele Kolleginnen und Kollegen erwarten jedoch nur eine „Welt, in der Code verschwindet“
  • Vor Kurzem gab es einen Artikel darüber, dass Donald Knuth eine AI um einen Beweis bat und sie einen zuvor unbekannten Beweis gefunden habe
    Wahrscheinlich war das aber weniger eine neue Entdeckung als vielmehr das Wiederfinden vergessenen Materials
    Genau das macht LLMs zugleich zu mächtigen Forschungswerkzeugen und lässt sie so erscheinen, als seien sie kreativ

    • Wie bei dem dem Patentamtsleiter von 1899 zugeschriebenen Satz „Alles, was erfunden werden kann, ist bereits erfunden“, entwickelt sich menschliche Kreativität weiter
    • Einen C-Compiler zu bauen ist nicht so schwierig, wie man denkt
      Mit dem Dragon Book kann man in wenigen Monaten etwas Funktionsfähiges bauen und dabei alle Prinzipien verstehen
    • So wie C# Anfang der 2000er Jahre Innovationen gezeigt hat, wird es auch künftig neue sprachliche Fortschritte geben
    • Tatsächlich ist C nicht so komplex, deshalb könnte man einen Compiler sogar in wenigen Tagen bauen
  • Ich denke, Programmiersprachen sind ein Mittel, menschliche Intention kompakt auszudrücken
    Manchmal kann natürliche Sprache diese Intention jedoch präziser und dichter vermitteln
    Gute Abstraktion verringert diese Lücke, und DSLs oder Sprachen aus der ML-/Lisp-Familie sind Beispiele dafür
    So kann etwa Code selbst die Intention am besten einfangen, wie im Electric-Clojure-Tutorial
    Letztlich gilt wie bei Wittgenstein: „Ein verschwommenes Bild kann manchmal genau das sein, was wir brauchen“

    • Dazu möchte ich mit Dijkstra ergänzen: „Der Zweck von Abstraktion ist nicht Unschärfe, sondern Klarheit auf einer neuen Bedeutungsebene