Piet (programmeertaal)
Piet is een esoterische programmeertaal ontwikkeld door David Morgan-Mar waarin computerprogramma's eruit zien als abstracte schilderijen. De taal is vernoemd naar de beroemde Nederlandse kunstschilder Piet Mondriaan[1]. Een programma in Piet is een bitmap die door een Piet interpreter uitgevoerd kan worden.
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-standaard kleuren kunnen ook geïnterpreteerd worden als wit of zwart.
[bewerk] Werking
De Piet interpreter maakt gebruik van een stack voor het bijhouden van waarden. De kleuren in een programma wordt 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.
[bewerk] Voetnoten
- ↑ De ontwerper wilde de taal aanvankelijk Mondrian noemen maar een taal met die naam bestond al.
[bewerk] 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