Es gibt Python. Es gibt Rust, Go, C, JavaScript und hundert andere. Alle ausgereift, alle von klugen Leuten über Jahre gebaut. Eine vernünftige Person hätte eine davon genommen und etwas damit gebaut.
Ich habe stattdessen eine eigene gebaut. Auf Deutsch. Mit drei verschiedenen Wegen, den Code auszuführen. Und ich will ehrlich erklären, warum — auch weil die Antwort nicht die ist, die man erwartet.
Denn so gut die großen Sprachen sind: In einer Sache ist Kiste ihnen voraus. Einer meiner Tester hat es so gesagt: „Endlich eine Sprache, die einfach läuft. Ein Klick, alles ist eingerichtet. Ein Klick, und das fertige Programm läuft auf jedem anderen Rechner. Wir fragen uns, warum das die anderen nicht längst so machen." Wer je versucht hat, ein Python-Programm an jemanden weiterzugeben, der kein Programmierer ist, weiß, wovon er spricht. Das ist kein kleiner Komfort. Das ist der Punkt, an dem die etablierten Sprachen bis heute stolpern — und an dem Kiste einfach funktioniert.
Die Antwort, die niemand hören will: weil ich es wollte
Es gibt keinen Markt für eine deutsche Programmiersprache. Es gibt keine Firma, die darauf wartet. Ich verdiene damit kein Geld, und ich suche keine tausend Nutzer. Wenn du eine Rechtfertigung im Sinne von „das löst Problem X für Zielgruppe Y" suchst, habe ich keine.
Was ich habe, ist ein Satz, der mich seit Jahren begleitet: der Weg ist das Ziel.
Ich baue, weil das Bauen selbst die Sache ist. Nicht das fertige Ding, nicht der Applaus, nicht die Zahl der Downloads. Das Verstehen, wie etwas funktioniert, indem man es selbst zusammensetzt — Stück für Stück, bis es lebt. Das ist für mich kein Mittel zu einem Zweck. Das ist der Zweck.
Programmieren auf Deutsch — warum das kein Gag ist
Als ich anderen erzählt habe, dass Kistes Schlüsselwörter deutsch sind, kam oft ein Schmunzeln. „Niedlich." Dabei ist es das Gegenteil von niedlich.
Fast jede Programmiersprache der Welt ist auf Englisch. Für Millionen Menschen heißt Programmieren-Lernen deshalb: zwei Dinge gleichzeitig lernen. Die Logik und die fremde Sprache. Ein Kind, ein Jugendlicher, ein Erwachsener im deutschsprachigen Raum, der zum ersten Mal if, while, return liest, stolpert nicht über die Logik — die ist einfach. Er stolpert über Wörter, die für ihn nichts bedeuten.
In Kiste heißt wenn wenn, solange solange, gib gib zurück. Die Logik steht nackt da, ohne Sprachbarriere davor. Das ist keine Spielerei. Das ist der Versuch, eine Hürde wegzunehmen, die eigentlich nie nötig war.
Ob die Welt das braucht? Vielleicht nicht. Aber ich fand die Frage zu spannend, um sie nicht zu beantworten.
Drei Backends — und warum das der schwierige Teil war
Hier wird es technisch, aber ich versuche es einfach. Kiste kann denselben Code auf drei verschiedene Arten ausführen: einen, der den Code direkt Zeile für Zeile liest; einen, der ihn erst in eine schnellere Zwischenform übersetzt; und einen, der ein echtes, eigenständiges Programm daraus baut, das ohne Kiste läuft und mit den schnellsten Sprachen mithält.
Warum drei? Weil jeder etwas anderes gut kann — und weil sie sich gegenseitig kontrollieren. Wenn alle drei bei demselben Code dasselbe Ergebnis liefern müssen, dann fällt jeder Fehler sofort auf: Sobald einer abweicht, weiß ich, dass etwas falsch ist. Diese Regel — drei Wege, ein Ergebnis — ist zur strengsten Qualitätskontrolle geworden, die ich je hatte.
Und ehrlich: Es war auch einfach reizvoll. Die Vorstellung, dass eine Zeile deutscher Code auf drei völlig verschiedenen Wegen zum selben Punkt kommt, hat mich nicht mehr losgelassen.
Die Rückschläge, die dazugehören
Ich will nicht so tun, als wäre das ein gerader Weg gewesen. Es gab Abende, an denen ich Kiste verflucht habe. Fehler, die stundenlang nirgends zu finden waren. Momente, in denen etwas funktionierte, das nicht hätte funktionieren dürfen — und das ist schlimmer als ein klarer Fehler, weil man nicht weiß, warum. Ich habe Dinge dreimal gebaut. Ich habe an Stellen gezweifelt, ob das alles überhaupt einen Sinn hat.
Aber genau das gehört dazu. Ein Ding, das man ohne Widerstand baut, hat man nicht wirklich gebaut. Der Widerstand ist der Ort, an dem man versteht, wie etwas wirklich funktioniert — nicht die Anleitung, sondern der Fehler um zwei Uhr nachts, den man selbst gefunden hat.
Und jedes Mal, wenn es dann doch lief, war das ein Gefühl, für das ich keinen Ersatz kenne.
Wohin das alles führt — mein eigentlicher Traum
Ich verrate jetzt etwas, das der eigentliche Motor hinter allem ist.
Ich bin seit Jahren ein großer Minecraft-Fan. Und seit ebenso vielen Jahren frage ich mich: Warum sieht es immer noch aus wie ein Haufen Würfel? Warum wurde nie richtig nachgebessert? Ich träume von einem Spiel in der Art von Minecraft — eine Welt, die von selbst entsteht, in die man hineingeht und baut — aber in schön. Mit runden Formen statt nur Klötzen. Möbeln, die wie Möbel aussehen. Einer Grafik, die nicht wehtut, sondern die man gerne anschaut.
Genau darauf läuft alles zu. Die Sprache war der erste Schritt. Dann kam ein Pixel-Editor, mit dem man die Bilder malt. Dann eine Grafik-Engine, die diese Bilder bewegt. Als ich das schreibe, fliegt zum ersten Mal ein selbstgemaltes Raumschiff über den Bildschirm, gesteuert von Code, den ich in meiner eigenen Sprache geschrieben habe. Jeder Schritt baut das Werkzeug für den nächsten.
Der Weg zu dieser Welt in schön ist noch weit. Zweidimensionale Spiele zuerst. Dann eine richtige Spiele-Werkstatt. Irgendwann der Sprung in die dritte Dimension. Und ganz am Ende, vielleicht, die runde, selbst entstehende Welt, von der ich seit Jahren träume.
Ich weiß nicht, ob ich es je schaffen werde. Es kann gut sein, dass es zu groß ist, dass mir die Zeit ausgeht, dass es scheitert. Das ist mir klar, und ich sage es offen.
Aber ich möchte es zumindest versuchen. Und wenn der Weg das Ziel ist — dann bin ich schon mittendrin.
Kiste ist eine frei verfügbare Programmiersprache mit deutscher Syntax und nativem Compiler. Wer sie ausprobieren möchte, findet alles hier auf kiste-lang.org.