Retrieved from "http://www.julian-fietkau.de/blog/piet"

Piet

2010-03-30 23:23:24

keywords: offbeat, programming

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:

My first Piet program

To spare you the hassle of actually running it: It simply prints my first name and then halts.

Comments

Please DO NOT enter anything into the next three fields, they are used as bait for automated entries. If any of the following fields is not left empty, the comment will not be saved!




End of protection - from here on, you can safely enter data.

Comments may be formatted using Markdown.

emphasis *emphasis* or _emphasis_
strong emphasis **strong emphasis** or __strong emphasis__
new paragraph insert an empty line

quote

> quote
  • unordered
  • list
* unordered
* list
  1. ordered
  2. list
1. ordered
2. list
weblink [weblink](http://www.julian-fietkau.de)
Note: You can only post weblinks if you are authenticated via OpenID.
More and longer examples are available at Daring Fireball.
Christopher Schewe
Christopher Schewe
2010-03-30 23:53:28

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

Julian F.
Julian F. (via julian-fietkau.de)
2010-03-30 23:59:31

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

Hannes
Hannes
2010-03-31 09:35:32

Hej, die Links in deinem RSS-Feed sind kaputt, da fehlt das /blog/ :)

Julian F.
Julian F. (via julian-fietkau.de)
2010-03-31 10:18:42

Hey, danke für den Hinweis. Wird heute Abend gefixt. :)

Kai
Kai
2010-03-31 16:51:06

das mit den kaputten Links wollte ich auch grad schreiben :)

d2kx
d2kx
2010-06-13 17:53:33

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 ;)

Angie
Angie
2012-01-30 16:23:37

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

Julian F.
Julian F. (via julian-fietkau.de)
2012-01-31 21:58:09

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.