ziium – Eine Programmiersprache, in der Code mit koreanischer Satzstruktur geschrieben wird
(ziium.github.io)Eine experimentelle Programmiersprache, die koreanische Partikeln und Prädikate als grammatische Elemente nutzt.
Statt Schlüsselwörter bestehender Sprachen einfach ins Koreanische zu übersetzen,
zielt sie auf eine Oberflächensyntax, die dem Lese- und Schreibfluss koreanischer Muttersprachler näherkommt.
Implementiert in Rust, inklusive eines WebAssembly-Browser-Playgrounds.
Das ist etwas, das ich mir schon immer vorgestellt habe, seit ich zum ersten Mal Programmieren gelernt habe, und mit Hilfe von Codex konnte ich es nun tatsächlich bauen.
Praktischen Nutzen hat es vermutlich kaum … ich experimentiere gerade mit den verschiedensten Sprachkonstrukten.
Der Kern war nicht die „Ersetzung durch koreanische Schlüsselwörter“, sondern den Fluss koreanischer Sätze zu erhalten,
zum Beispiel entsteht dann solcher Code:
이름은 "철수"이다.
나이는 20이다.
나이 > 19이면
"성인이다"를 출력한다.
아니면
"미성년자이다"를 출력한다.
Partikeln tragen grammatische Bedeutung.
은/는 steht für Binding, 을/를 für das Zielobjekt, 의 für den Eigenschaftszugriff, 으로 für den Konvertierungsrahmen.
Dadurch sind auch Ausdrücke wie 합은 7 더하기 8이다 oder 결과는 5의 제곱이다 möglich.
Auch Funktionen werden in koreanischer Satzform definiert und aufgerufen:
인사만들기 함수는 이름을 받아
"안녕, " + 이름 + "!"을 돌려준다.
인사문장은 "지음"으로 인사만들기이다.
Auch Canvas-Grafik ist möglich:
그림판에 { 배경색: "#f6efe2" }으로 지우기.
그림판에 { x: 120, y: 80, 색: 빨강 }으로 점찍기.
Intern verwendet die Sprache ein Smalltalk-artiges Modell der Nachrichtenübergabe,
die Oberfläche ist also Koreanisch, aber die semantische Struktur ist recht strikt.
Sie wurde in Rust gebaut, und mit wasm-pack läuft auch ein Browser-Playground.
Sogar eine Canvas-Demo für die Türme von Hanoi funktioniert bereits.
Es ist noch v0.1 und es fehlt noch vieles, aber ich würde mich über Feedback freuen.
12 Kommentare
Oh...
Könnte man
Alter > 19, wennnicht auch zu „wenn das Alter größer als 19 ist“ machen? Wenn man den Teil vor이/가und den Teil vor보다jeweils als linke und rechte Seite interpretiert, müsste das wohl gehen. Für≥wäre es „größer oder gleich“ oder „mindestens“ (wobei man in diesem Fall보다nicht verwenden würde, also eher so wie „wenn das Alter mindestens 19 ist“. Dann müsste man allerdings anhand von이/가links und rechts unterscheiden, was die Komplexität bei der Interpretation etwas erhöhen würde.)Wirklich großartig!
Als vor einiger Zeit auch die Sprache „Han“ vorgestellt wurde, wurde dabei diese Sprache namens Nuri erwähnt.
https://github.com/suhdonghwi/nuri/
Auch die Sprache Nuri verwendet ganz natürlich eine mit dem Koreanischen vergleichbare Wortstellung.
Auch die Sprache Ziium besteht aus natürlichen Sätzen und ist dadurch leicht zu lesen. Noch besser wäre zum Beispiel:
Wenn Alter > 19,
gib "Erwachsen" aus.
ansonsten
gib "Minderjährig" aus.
=> Wenn das Alter 19 Jahre oder mehr beträgt, gib „Erwachsen“ aus, andernfalls „Minderjährig“.
Wenn man das so machen könnte, wäre es perfektes Koreanisch.
Von den koreanischen Programmiersprachen, die ich bisher gesehen habe, ist diese grammatikalisch am interessantesten. Wirklich spannend.
Das habe ich mir auch schon seit langer Zeit nur vorgestellt, und nun erlebe ich noch zu meinen Lebzeiten, dass so etwas tatsächlich geschaffen wurde. Ich drücke euch die Daumen! Ich werde es fleißig ausprobieren.
Oh, ich unterstütze das!!!!! Auf so ein Projekt habe ich gewartet~
Das ist interessant, weil es der Syntax eines Projekts ähnelt, an dem ich zuvor gearbeitet habe!
Wenn man mit genau dieser Grammatik einen Prompt erstellt, wäre das eine sehr gute Spezifikation.
Wow, das sieht ja superinteressant aus ???
Oh, das sieht interessant aus! Wird die koreanische Grammatik strikt verwendet? Oder gibt es ein gewisses Maß an Flexibilität?
Wow, meine erste Programmiersprache war Changojo...!
Wow, das ist ein großartiges Projekt ...