news.volyx.in

Piet: Programming language in which programs look like abstract paintings (2002) (dangermouse.net)

447 points by andsoitis · 843 days ago · 71 comments on HN

Article summary

Piet is a programming language where programs resemble abstract paintings, using 20 distinct colors to represent different commands and data values. The language is designed to be executed by an interpreter, which traverses the color blocks of the program according to specific rules. Piet has a small community of coders who write programs, interpreters, and compilers for the language. The language's creator has added clarifications to the specification to address questions and inconsistencies.

Main themes

  • Esoteric programming languages
  • Visual programming
  • Abstract art
  • Language design
  • Programming paradigms
  • Artistic expression

What commenters say

  • The Piet language is an interesting experiment, but it falls short of achieving its goal of making programs look like Mondrian paintings unless the developer intentionally designs them to do so.
  • The language's ability to execute a graphic artist's accidental creation as a valid program is a remarkable feat, but it may not be as significant as it seems due to the simplicity of the program.
  • The idea of a programming language that can treat real-world abstract art as valid input is more interesting than the fact that a graphic artist accidentally created a valid Piet program.
  • The chances of a random painting being a valid Piet program are high due to the language's design, but the likelihood of it doing something meaningful is low.
  • The Piet language's specification and implementation have some discrepancies and ambiguities, which can lead to different interpretations and behaviors.
  • The concept of a programming language that uses visual transformations to create bigger transformations is intriguing and worth exploring further.
  • The relationship between art and programming is complex, and the Piet language highlights the potential for overlap and intersection between the two fields.
  • The execution of a Piet program can be difficult to understand and visualize, and tools like automatic steppers or gif makers could be helpful in making the language more accessible.