StartseiteArtikel

In 11 Tagen wurden 100.000 Codezeilen eilig geschrieben. Ein 13-jähriger Rust-Experte hat zusammen mit Claude eine neue Programmiersprache von Grund auf entwickelt.

CSDN2026-01-07 20:47
Kann man auch eine Programmiersprache entwickeln, wenn man keine Mittel und kein Team hat und nur alleine arbeitet?

„Kann man auch alleine, ohne Finanzmittel und ohne Team, eine Programmiersprache entwickeln?“

Dies war eine Frage, über die Steve Klabnik, ein erfahrener Technologie-Experte aus der Rust-Community, schon vor langer Zeit nachgedacht hat, aber damals blieb es bei der bloßen Überlegung. Ende 2025 beschloss er endlich, es zu versuchen.

Wen wüsste, dass er mit Hilfe des KI-Hilfswerkzeugs Claude in nur 11 Tagen etwa 100.000 Zeilen Rust-Code geschrieben und eine neue experimentelle systemnahe Programmiersprache namens Rue entwickelt hat.

Wer hätte gedacht, dass dieser Mitautor von „The Rust Programming Language“ einst ein ausgeprägter Skeptiker in Sachen Künstlicher Intelligenz war.

„Wenn ich im Alter von 40 Jahren nicht anfangen, eine Sprache zu entwickeln, wird mir nie wieder die Zeit dafür bleiben.“

Für Steve Klabnik war es schon lange ein Traum, eine Programmiersprache zu entwickeln, aber er hatte bisher nie die Zeit dazu gehabt.

Nachdem er am 21. Dezember 2012 erstmals mit Rust in Kontakt gekommen war, hat er 13 Jahre lang in den Bereichen Sprachenentwicklung, Community-Building und Entwicklererfahrung gearbeitet.

Seine Liebe zur Sprachenentwicklung und zu Compilern geht jedoch schon auf seine Universitätstage zurück.

„Als ich an der Universität war, habe ich mir bewusst einige relevante Kurse vorgenommen, um so bald wie möglich mit Compilern in Kontakt zu kommen. Ich wollte verstehen, wie sie funktionieren! Ich habe Code für viele Sprachen geschrieben, und der Prozess der eigenen Sprachentwicklung war für mich einfach sehr interessant“, schrieb Steve Klabnik in seinem Blog.

Bei seiner beruflichen Entwicklung war er zu Beginn jedoch unsicher, wie er diesen Weg gehen sollte. In seiner Zeit war Ruby on Rails gerade in Mode … also hat er schließlich Webentwicklung betrieben.

Einige Jahre später, getrieben von seiner Liebe zur Programmiersprache, beschloss er, sich am Rust-Projekt zu beteiligen. „Ich habe immer gedacht, dass Sprachen großartig sind. Aber als ich darüber nachdachte, wie ich Rust helfen konnte, erfolgreich zu werden, wusste ich, dass die Konzentration auf den Compiler nicht der Bereich war, in dem ich am meisten nutzen konnte. Also habe ich es nicht getan, sondern mich auf andere Dinge konzentriert, die ich mag und in denen ich gut bin.“ Später hat er hauptsächlich an Dokumentationen und als Evangelist gearbeitet.

Bei seiner langjährigen Beobachtung hat Klabnik auch erkannt:

Sprachenentwicklung und -implementierung sind Teamarbeit. Viele Sprachen, die vor 2000 entstanden sind, waren Hobbyprojekte und sind später zu großen Hits geworden. Seitdem haben jedoch viele erfolgreiche Sprachen die Unterstützung von Unternehmen und große Teams hinter sich. Viele Leute fragen sich jetzt: Kann ein Einzelner noch in seiner Freizeit eine Sprache entwickeln? Die Erwartungen sind heute viel höher: Paketmanager, Code-Checker, LSP, Editor-Integration … all das war früher überhaupt nicht zwingend erforderlich, ist aber heute fast zur Standardausstattung geworden. Und das bedeutet mehr Arbeitsaufwand!

Aufgrund dieser Überlegungen hat Klabnik sich bisher nicht mit Programmiersprachenprojekten beschäftigt.

„Ich weiß, dass ich älter werde und die Zeit knapp wird. Im Jahr 2025 hatte ich noch weniger Zeit – mein Leben hat sich verändert. Es sind gute Veränderungen! Aber es sind dennoch Veränderungen. In meinen zwanziger Jahren habe ich mich gefragt: „Wow, wie können Leute sagen, dass sie keine Zeit für Open-Source-Beiträge haben?“ Heute habe ich kaum noch Zeit zum Spielen, geschweige denn für Open-Source.“

Zur gleichen Zeit gestand Klabnik: „Nächsten Monat werde ich 40 Jahre alt, und ich habe jetzt fast keine Zeit mehr für andere Dinge.“

Mit der zunehmenden Reife der KI hat sich jedoch seine Einstellung verändert. Bei der ständigen Verwendung von KI und großen Modellen hat er festgestellt, dass diese Werkzeuge von „nützlich, aber nicht unbedingt erforderlich“ langsam zu „tatsächlich nützlich“ geworden sind.

Nachdem er diese Werkzeuge ernsthaft eingesetzt hatte, kam ihm der Gedanke: Wie würde es aussehen, wenn Claude wirklich einen Compiler schreiben könnte?

Je mehr er es versuchte, desto mehr Softwareentwicklungstasks ließ er Claude ausführen, und er wurde immer vertrauter damit. Endlich entschied er sich eines Tages, mit der KI einen Compiler zu entwickeln – das erste kompilierte Programm lief zwar nicht, aber die KI hat es selbst debuggt und repariert, und schließlich war es erfolgreich. Dies war das erste Mal, dass er die Machbarkeit sah.

Aufgrund seiner Arbeit musste er anschließend einen Monat und eine Hälfte reisen, und das Projekt wurde vorerst eingestellt. Erst Ende 2025 hatte Klabnik wieder Zeit, das Projekt neu zu starten. Diesmal war er mit der Verwendung von Claude noch vertrauter und wusste, was er mag und was nicht, sowie welche Methoden funktionieren und welche nicht.

Das Ergebnis war ein deutlicher Fortschritt: Obwohl Rue noch nicht alle Funktionen, die ursprünglich geplant waren, vollständig wiedergeben kann, ist es in vielen Aspekten bereits weiterentwickelt. Er ist sich seiner Code-Qualität, der Projektgeschwindigkeit und seiner Fähigkeit, das Projekt auch in begrenzter Zeit voranzutreiben, sicherer.

Also beschloss er, das Projekt offiziell bekanntzugeben und es Open-Source zu machen (https://github.com/rue-language/rue). Wie er in seinem Blog schrieb: „Heute Abend möchte ich einfach die Tatsache genießen, dass ich in etwa einer Woche von Grund auf eine ‚Baby-Sprache‘ bis hin zu ‚Kernsprachebasis + zwei verschiedene Codegenerierungs-Backends‘ entwickelt habe. Das ist für mich total verrückt!“

Klabnik sagte: „Vielleicht werde ich wieder an einer Wand anstoßen, vielleicht wird Claude mich an eine Wand treiben – wer weiß? Aber auf jeden Fall hat mir der gesamte Prozess schon sehr viel Spaß gemacht. Ich hoffe, dass ihr von meinen Erfolgen oder Misserfolgen etwas lernen könnt. Was am Ende passieren wird, wird die Zeit zeigen.“

Anfangs hatte Klabnik nicht beabsichtigt, dass mehr Leute an der Entwicklung von Rue beteiligen würden, aber nach der Projektveröffentlichung hat es die Aufmerksamkeit vieler Entwickler erregt, und einige Mitwirkende sind beigetreten, sodass sich dieses ursprünglich persönliche Experimentelles Projekt allmählich zu einem kleinen kollaborativen Versuch entwickelt hat.

Die Entstehung von Rue

Bezüglich des Namens der neuen Programmiersprache hat Steve Klabnik in seinem Blog einige Gründe erklärt:

Der Name muss mit Ru beginnen, das war fast predestiniert – denn Klabnik selbst ist ein treuer Fan der Ruby- und Rust-Sprachen

Das Wort „rue“ hat an sich eine etwas negative Bedeutung, wie etwa in „to rue the day“, ähnlich wie der Name Rust auch als etwas weniger positives Ding interpretiert werden kann

Es hat auch natürliche Assoziationen, Rue ist eine Pflanze, und Rust wird auch oft mit Pilzen in Verbindung gebracht

Der Name ist kurz genug

Technisch gesehen ist Rue eine systemnahe Programmiersprache, die nicht als „Ersatz für Rust“ entwickelt wurde. Ihr Ziel ist es, ohne die Verwendung eines Garbage Collectors Speichersicherheit zu gewährleisten und gleichzeitig in der Benutzerfreundlichkeit gegenüber Sprachen wie Rust und Zig einen Schritt voranzugehen.

Einfach ausgedrückt, ist der Garbage Collector ein automatischer Speicherverwaltungsmechanismus, dessen Kernziel es ist, Fehler zu reduzieren, die durch die manuelle Freigabe von Speicher entstehen.

In den letzten Jahren ist einer der Gründe für die Beliebtheit von Rust, dass es ohne die Abhängigkeit von einem Garbage Collector durch die Sprache selbst Speichersicherheit gewährleisten kann, aber der Preis dafür ist eine allgemein steilere Lernkurve als bei modernen Sprachen wie Go und Swift.

Klabnik sagte, dass er über Jahre hinweg mit Menschen über Rust gesprochen hat, und das Thema „Komplexität“ wurde fast immer wieder aufgegriffen. Innerhalb der Rust-Community ist die allgemeine Erklärung, dass untere Ebenen wie Betriebssysteme von Natur aus viele Einschränkungen mit sich bringen, und diese Einschränkungen machen die Sprache unvermeidlich komplexer.

Klabnik glaubt, dass dies auch eine Gelegenheit zur Erkundung neuer Gestaltungsräume bietet: „Was würde passieren, wenn Rust sich nicht direkt mit C und C++ um ‚Spitzenleistung‘ kämpfen müsste? Was würde passieren, wenn wir bereit wären, etwas Leistung zugunsten der Benutzerfreundlichkeit zu opfern? Würde es besser sein, wenn einige Funktionen, die ursprünglich in Bibliotheken enthalten waren, direkt in die Sprache integriert würden, um das Gesamt-Erlebnis zu vereinfachen?“

Er fügte hinzu: „Es gibt bereits viele Sprachen mit Garbage Collector, aber Sprachen ohne Garbage Collector, insbesondere in den letzten 20 Jahren, sind nicht so zahlreich. Ich denke, dass der Weg ‚Speichersicherheit ohne abhängigkeit von einem tracing-Garbage Collector‘ noch lange nicht ausreichend erforscht wurde. Es gibt bereits einige kleine Sprachen, die es versuchen, und ich möchte meine eigene Interpretation und Version bieten.“

Claude als Programmierassistent: 100.000 Zeilen Code in 11 Tagen

Wie bereits erwähnt, ist die Entwicklung einer Sprache nicht so einfach wie es scheint, und Klabniks Verständnis von der Sprache Rue stammt nicht nur von ihm selbst.

Rue ist weitgehend in Rust geschrieben, und seine Entwicklung hängt stark vom Claude-KI-Modell von Anthropic ab.

Dies geht auch aus der Signatur der Artikel auf dem offiziellen Rue-Blog hervor. In den ersten Blog-Artikeln war das Rue-Projekt als „Steve Klabnik und Claude“ signiert, und in den folgenden Artikeln hat Claude allein als „Zusammenfassung der Entwicklungsfortschritte in der ersten Woche“ und „Zusammenfassung der Entwicklungsfortschritte in der zweiten Woche“ signiert.

Klabnik erklärte: „Ich habe schon früher mit Rue angefangen, aber damals war ich noch nicht so vertraut mit der Verwendung von LLMs und habe einige Fehler gemacht. Später habe ich es von vorne begonnen. Diesmal habe ich in zwei Wochen mehr Fortschritte erzielt als beim letzten Mal in ein bis zwei Monaten. Dies liegt nicht nur an der Stärke des Modells selbst, sondern auch daran, dass ich besser weiß, wie ich LLMs effizient einsetzen kann.“

Er sagte, dass auch unerfahrene Entwickler von Modellen wie Claude bei Projekten mit geringerem Umfang, aber bestimmten individuellen Anforderungen profitieren können; aber mit wachsendem Projektumfang bleibt Softwareentwicklungserfahrung unverzichtbar. Er fasste zusammen: „Bei kleinen, abgeschlossenen Projekten können auch Nicht-Programmierer mit diesen Werkzeugen etwas anfangen. Aber sie sind letztendlich nur Werkzeuge, und Werkzeuge erfordern Fachkenntnisse. Selbst wenn man Programmieren kann, bedeutet das nicht, dass man LLMs wirklich gut einsetzen kann. Sie sind eine eigene Art von Werkzeugen. Genau wie Vim nicht einfach zu bedienen ist, kann das Wissen um Programmieren dir nicht helfen, es schneller zu beherrschen, aber wenn du es einmal beherrschst, ist es sehr wertvoll.“

Klabnik fügte hinzu: „Diese Werkzeuge haben eine niedrige Einstiegshürde, aber um sie optimal zu nutzen, ist die Hürde sehr hoch. Ich kann schwer einschätzen, wie viel Zeit Claude mir gespart oder umgekehrt verbraucht hat. Aber eins ist sicher: Ohne es hätte ich das Projekt nie so weit bringen können wie jetzt.“

Nach den Informationen im Artikel „Die zweite Woche und danach: Schrittweise Entwicklung von Sprachfunktionen“ auf dem offiziellen Rue-Blog:

  • Anzahl der Tage seit Beginn der „Rue-Geschichte“: 11 Tage
  • Anzahl der Commits in dieser Zeit: 469
  • Anzahl der Rust-Codezeilen: ca. 100.000 (vormals 34.000)
  • Anzahl der Crates: 18 (vormals 13)
  • Anzahl der Spezifikations-Tests: 1.053 (vormals 777)
  • Anzahl der geschriebenen ADRs (Architekturentscheidungsdokumente): 29
  • Gesamtzahl der Zeilen in den Spezifikationsdokumenten: ca. 5.500

Die neuen Crates werden hauptsächlich für die Infrastruktur verwendet, einschließlich rue-builtins (Definition von eingebauten Typen), rue-ui-tests (für Warnungs- und Diagnosetests, unabhängig von den Spezifikations-Tests) sowie einige spezielle Test-Crates für Fuzzing.

Obwohl die Anzahl der Codezeilen nicht alles aussagt, spiegeln sie zumindest das Projektvolumen wider. Klabnik gestand: „Wenn ich alles von Hand geschrieben hätte, wäre der Fortschritt viel langsamer gewesen, und die Code-Qualität hätte möglicherweise auch schlechter sein können.“

Claude hat bisher keine offizielle Bewertung der Code-Qualität von Rue abgegeben, aber es hat einen Text generiert