Wenn schon Vibe Coding, warum dann nicht in C?
(stephenramsay.net)- Vibe Coding funktioniert in der Praxis tatsächlich gut, verringert aber das wesentliche Vergnügen am Programmieren, weil dabei Code entsteht, den die Autorin oder der Autor selbst nicht versteht
- Alle Programmiersprachen sind Werkzeuge, die nicht für Maschinen, sondern für die Bequemlichkeit des Menschen entworfen wurden; Vorteile wie Sicherheit, Abstraktion und Lesbarkeit sind letztlich Strukturen für menschliches Denken
- Daraus folgt die Frage: Braucht von KI geschriebener Code überhaupt noch menschenfreundliche Sprachen? Vorgeschlagen wird eine neue, maschinenfreundliche und KI-zentrierte Sprache: VOPL (Vibe-Oriented Programming Language)
- Diese Sprache könnte viele Formen annehmen, etwa als ausführbarer Pseudocode, als Erweiterung des Literate Programming oder als natürliche Sprache mit einer spezifischen Grammatik
- Wie schon in den frühen Tagen des Rechners mit gespeichertem Programm gilt: Widerstand gegen neue Rechenparadigmen wiederholt sich historisch, und Vibe Coding könnte der nächste Schritt in dieser Entwicklung sein
Die Spannung zwischen Programmierung und Vibe Coding
- Programmieren ist für mich keine Arbeit, sondern Freude und seit den späten 1990er Jahren ein bleibender Gegenstand meiner Leidenschaft
- Seit 25 Jahren unterrichte ich Programmierung, und worauf ich am meisten stolz bin, ist, Menschen ohne fachlichen Hintergrund zu Programmiererinnen und Programmierern gemacht zu haben
- Beim Programmieren ist mir die Freude wichtig, Probleme zu lösen und sie selbst zu verstehen
- Vibe Coding hingegen ist ein Prozess, bei dem KI den Code schreibt und die schreibende Person das Ergebnis nicht vollständig versteht
- Es fühlt sich irgendwie nach „Schummeln“ an (wenn auch nicht nur so), aber auf eine schwer genau zu beschreibende Weise unangenehm
- Es scheint einen großen Teil des eigentlichen Spaßes am Coden zu nehmen
- Trotzdem funktioniert Vibe Coding gut genug, um reale Systeme hoher Qualität hervorzubringen
- Es geht längst über bloßen Suchmaschinen-Ersatz hinaus und löst auch Probleme präzise, die man selbst zu mühsam findet
- KI ist bei Fehlersuche und Speicherverwaltung oft geschickter als Menschen, und es ist immer wieder erstaunlich, was entsteht, wenn man einer KI nur eine Programmidee hinwirft
Sprache war ursprünglich ein Werkzeug für Menschen
- Wie in Abelson & Sussmans Structure and Interpretation of Computer Programs sind Programmiersprachen Ausdrucksmittel für Menschen
- Code ist „zum Lesen durch Menschen“ da; Maschinen brauchen keine Lesbarkeit
- Alle Programmiersprachen werden als Medium entworfen, das menschliches Denken und Ausdrücken unterstützt
- Sicherheit in Rust, Abstraktion in C++, Nebenläufigkeit in Go sind Funktionen für den Menschen, nicht für die Maschine
- Speicherverwaltung, Nebenläufigkeit und Typsicherheit sind letztlich nur Abstraktionen, die menschliche Denkstrukturen unterstützen
- Daher könnte in einer Zeit, in der KI Code schreibt, ein menschenzentriertes Sprachdesign überflüssig werden
Braucht KI dann überhaupt solche Sprachen? : Die Bedeutung des Vorschlags „Mach Vibe Coding in C“
- Beim Vibe Coding schreibt der Mensch Programme bereits in einem Zustand, in dem er den gesamten Code nicht mehr vollständig versteht
- In so einer Situation gibt es weniger Gründe, menschenfreundliche Syntax beizubehalten
- Statt menschenfreundlicher Sprachen könnte es vernünftiger sein, direkt maschinenfreundliche Sprachen (C oder Assembler) zu verwenden
- KI kann undefined behavior, Speicherfreigabe und Off-by-one-Fehler in C präziser handhaben als Menschen
- Ähnlich wie ein Compiler besser optimiert, zeigt sie eine genauere Kontrolle über die korrekte Ausführung von Code als Menschen
- Daraus ergibt sich die Frage: Brauchen wir nicht eine Sprache, die für KI besser geeignet ist?
- Warum sollte man Vibe Coding überhaupt in „menschenzentrierten“ Sprachen wie Python, Rust oder C++ betreiben?
Vorschlag für VOPL (Vibe-Oriented Programming Language)
- Wenn man eine Sprache unter der Annahme von Vibe Coding entwirft, lassen sich unter anderem folgende Möglichkeiten vorstellen
- Eine ultrahohe Abstraktionsebene, die ausführbarem Pseudocode nahekommt
- Wie eine vollständige Form des Literate Programming, bei der der Mensch nur beschreibt und die KI den Maschinencode erzeugt
- Eine Struktur, die wie natürliche Sprache aussieht, aber bestimmte „idiomatische Ausdrücke“ besitzt
- Konzepte wie alltagsnahe Ausdrücke für Nebenläufigkeit, also eine Art Slang, statt Begriffen wie „goroutine“
- Die Richtung wäre, ein maschinenzentriertes Ausdruckssystem zu entwerfen, mit dem KI Probleme präzise versteht und schnell ausführbaren Code erzeugen kann
- Zwar gibt es das Problem, eine neue Sprache in KI-Systeme einzuprägen, doch schon heute werfen viele Entwickler der KI Pseudocode zu und erzeugen im Dialog Code
Es ist also gut möglich, dass irgendeine Form von VOPL bereits gelernt wird
Der Wandel der Tätigkeit des Programmierens
- „Von Hand zu coden“ könnte in der Ausbildung künftiger Vibe Coder eine Rolle ähnlich einer Montessori-Grundausbildung spielen
- So wie das Zeichnen von Hand vor Photoshop oder das Lösen von Gleichungen auf Papier auch im Zeitalter elektronischer Rechner als Teil der Ausbildung bestehen blieb
- Widerstand gegen das Aufkommen neuer Paradigmen hat sich historisch immer wiederholt
- Beispiele sind die anfänglichen Gegenreaktionen bei der Einführung von Rechnern mit gespeichertem Programm (ENIAC → EDVAC)
- Selbst Grace Hopper musste gegen die Kritik kämpfen, Maschinen könnten keine Maschinenbefehle schreiben
Abschließende Botschaft
- Vibe Coding ist bereits Realität, und die Entwicklung der Zukunft könnte eine Neugestaltung der Sprache selbst verlangen
- Nach dem Zeitalter menschenzentrierter Sprachen ist nun der Zeitpunkt gekommen, die Möglichkeit eines Übergangs zu KI-zentrierten Sprachen ernsthaft zu diskutieren
“Same vibe, as the kids say.” — Wie man heute sagen würde: derselbe Vibe eben.
Noch keine Kommentare.