Piet
2010-03-30 23:23:24
If you have previously read about esoteric programming languages, you may already be familiar with Piet. In case you haven't: Piet is a programming language in which program flow is specified in a graphical format.
In a nutshell: The focus moves between continuous blobs of pixels of the same color, the "cursor" starts off pointed to the right but may be rotated, colors correspond to opcodes (arithmetic, stack manipulation, I/O) while the number of pixels in one continuous area denotes that same integer.
Now, "writing" Piet is not exceptionally difficult, but it's a fun little mind-bender. There are interpreters and even assemblers available, so you can actually run your artwork.
I couldn't resist. Here's my first Piet program:
To spare you the hassle of actually running it: It simply prints my first name and then halts.



Comments
Hehe, das ist mal eine nette Programmiersprache. Eine kreative verschmelzung von Kunst und Softwareentwicklung.
Was mir grad dazu einfällt: Was passiert, wenn man mit dem Interpreter einfach mal ein Foto (gif ~2MB groß) interpretiert?! Bzw. wie wohl sehr komplexe Programme aussehen mögen.
Viele Grüße
Christopher
Wenn du ein beliebiges Bild nimmst, passiert wahrscheinlich nicht allzu viel, weil Piet nur eine handvoll Farben spezifiziert. Was der Interpreter mit allen anderen Farben macht, ist der jeweiligen Implementation freigestellt. :)
Ich kann die Programmbeispiele auf der Originalseite empfehlen: http://www.dangermouse.net/esoteric/piet/samples.html
Hej, die Links in deinem RSS-Feed sind kaputt, da fehlt das /blog/ :)
Hey, danke für den Hinweis. Wird heute Abend gefixt. :)
das mit den kaputten Links wollte ich auch grad schreiben :)
Sachen gibt's, die gibt's garnicht. Vor 8 Jahren oder so habe ich deine Clonkmods gespielt und dann vor kurzem im Ubuntuusers-Forum "xJulian" gesehen ;)
Ich versuche gerade, daß Prinzip zu verstehen. Das Bild, mit dem der Vorname "Julian" ausgegeben wird, wie ist das entstanden, bzw. woher weiß man, welche Farben eingesetzt werden müssen, um diese Buchstabenfolge "Julian" zu erzielen?
Für das Erstellen solcher Gif's gibt es sogar Online-Programme, wie z.B. PietRev.
Aber hinter welcher Farbe, Farbfolge "versteckt" sich welcher Buchstabe?
Angie
Ich weiß noch, dass ich über die Links im Wikipedia-Artikel nachgeforscht habe. Piet ist eine stackbasierte Sprache, die Farbblöcke in meinem Code sind teilweise Opcodes und teilweise Operanden. Auf der Piet-Website ist die Funktionsweise definiert, ich habe mir dort die Beispiele angesehen, mich am Ablauf des "Mondrian Hello World" orientiert und das letztendlich nur noch ein wenig zusammengeschoben.