Piet (programmeertaal)
Piet | ||||
---|---|---|---|---|
![]() | ||||
Paradigma | esoterisch | |||
Verschenen | 1993 | |||
Ontworpen door | David Morgan-Mar | |||
Website | http://www.dangermouse.net/esoteric/piet.html | |||
|
![](http://upload.wikimedia.org/wikipedia/commons/d/d0/Piet_Program.gif)
![](http://upload.wikimedia.org/wikipedia/commons/4/48/Piet_Program_Hello_World.gif)
Piet is een door David Morgan-Mar ontwikkelde, esoterische programmeertaal waarin computerprogramma's eruitzien als abstracte schilderijen. De taal is vernoemd naar de Nederlandse kunstschilder Piet Mondriaan.[1] Een programma in Piet is een bitmap die door een Piet-interpreter uitgevoerd kan worden.
Werking
De Piet-interpreter maakt gebruik van een stack voor het bijhouden van waarden. De kleuren in een programma worden geïnterpreteerd met behulp van de HSL-kleurruimte (hue, saturation en lightness). Afhankelijk van de overgang in hue en lightness tussen twee pixels in een Piet-programma voert de interpreter een actie uit, zoals het toevoegen van een waarde op de stack, het vergelijken van twee waarden of het uitvoeren van een rekenkundige bewerking. Een pixel in een Piet-programma wordt ook wel een codel genoemd om verwarring te voorkomen bij uitvergrote programma's, aangezien een gekleurd blok dan overeenkomt met meerdere pixels op het beeldscherm.
De Piet-interpreter houdt tijdens het uitvoeren van een programma ook twee richtingen bij, een zogeheten Direction Pointer (DP) en een Codel Chooser (CC). De uitvoering van het programma begint bij de codel linksbovenaan en met behulp van de Direction Pointer en Codel Chooser wordt bepaald welke volgende codel bekeken wordt.
Kleuren
Piet maakt gebruik van 20 verschillende kleuren:
#FFC0C0 (lichtrood) | #FFFFC0 (lichtgeel) | #C0FFC0 (lichtgroen) | #C0FFFF (lichtcyaan) | #C0C0FF (lichtblauw) | #FFC0FF (lichtmagenta) |
#FF0000 (rood) | #FFFF00 (geel) | #00FF00 (groen) | #00FFFF (cyaan) | #0000FF (blauw) | #FF00FF (magenta) |
#C00000 (donkerrood) | #C0C000 (donkergeel) | #00C000 (donkergroen) | #00C0C0 (donkercyaan) | #0000C0 (donkerblauw) | #C000C0 (donkermagenta) |
#FFFFFF (wit) | #000000 (zwart) |
Het gebruik van andere kleuren is ook mogelijk, maar de werking ervan is afhankelijk van de gekozen implementatie. Niet-standaardkleuren kunnen ook geïnterpreteerd worden als wit of zwart.
Voetnoten
- ↑ De ontwerper wilde de taal aanvankelijk Mondrian noemen maar een programmeertaal met die naam bestond al.
Externe links
- (en) De programmeertaal Piet
- (en) Enkele programma's geschreven in Piet, zoals de rij van Fibonacci, de torens van Hanoi en enkele "Hello world"-programma's
- (en) "Hello, World!"-programma in Piet met toelichting
- Een puzzel over een andere Piet, waarvan een Piet-programma de oplossing is.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/25px-Commons-logo.svg.png)