Piet
https://gyazo.com/33b2f1302edd8dca0327f498f2884825
Piet(ピエト)は、プログラミング言語であり、難解プログラミング言語のひとつである。
Ook! などのいくつかの難解プログラミング言語を開発したデヴィッド・モーガン=マー (David Morgan-Mar) がピエト・モンドリアンの作品に影響を受けて考案した言語で、文字ではなく色を組み合わせて記述する。
( wiki )
Web
/icons/hr.icon
入門向け記事
・仕様と真面目に向き合う「Pietプログラミング」ガイド - KMC活動ブログ
・[Piet入門編]Piet入門1 - 趣味プログラミングの部屋
・base64氏によるスライド資料
https://www.slideshare.net/slideshow/piet-80098546/80098546
IDE
pietron
入門記事筆者のdnek氏によるIDE
https://gyazo.com/2f73ff598ec02b1457664a0f78c23de4
インタープリター
npiet
[Piet入門編]npietの使い方 - 趣味プログラミングの部屋
npietインタープリターによる実行経路のデバッグトレース、ビジュアルとしてよすぎる…
https://gyazo.com/f6501e23bc676e8fe974a72f0d9552f7
ツール
GridPietGenerator
難解プログラミング言語Pietの ソースコード画像自動生成ツール(C++)。 テキストで記述された処理フローからPietソースコードを生成する。
https://gyazo.com/72bf61bfbee4df0ad17ef5dfe1de7356
無限ループ
[今日のPiet]GridPietGenerator入門編1(無限ループを作る) - 趣味プログラミングの部屋
https://gyazo.com/3cfc7c89f5721cb3f72ddc0bc09a4c75
/icons/hr.icon
たとえばPietでWebで描画したい場合、
Piet 自体は Canvas API を使えないが、
Piet インタプリタを JavaScript で書けば、
Piet の出力を Canvas に“接続”することはできる
インタプリタ例
piet-interpreter-js
PietをJavascriptで
[Piet入門編]Piet入門1
実は言語の種類としてはそこまで特殊なものではなく、
スタック志向プログラミング言語という分類
メモリが「スタック」という構造を持つことが特徴
スタックのイメージは「底のついた筒状の入れ物」です。
この中に値を順次入れていくことができますが、
取り出すときは最後に入れたものからしか取り出せない、
というもの
GridPietGenerator
/icons/hr.icon
#Research
Pietの歴史的背景と文化的背景
https://chatgpt.com/s/dr_697ee6e7f74081918133f2e17ade51c4
開発者はオーストラリア人のDavid Morgan-Marで、2001年に発表された
→nagasena.iconDavid Morgan-Marはけっこうジョーク好き人だ
設計理念「プログラムコードは抽象芸術の形になるべき」
Specs
Language Type: Esoteric / Visual
Released: 2001
Creator: David Morgan-Mar
Execution Model: Instruction pointer moves through colored regions
Syntax: Colors represent operations
Typing: Stack-based behavior
【既存の作品→実行】
言語設計→作品の順序とは逆に、Accidentallyに過去の関係のない作品を実行していくという偶然性の試み、ちょっと面白い…nagasena.icon
Barbara Maahsの作品をPietの色調に変換したところ、偶然にも動作するPietプログラムとなり、文字入力をASCII値で出力する例があった
https://gyazo.com/8757f81d64870a45e7ad15007cd32383
"Get-Together" by Barbara Maahs
Converted to Piet colour palette by Piet Jarmatz, 2023
開発環境など
https://www.dangermouse.net/esoteric/piet/tools.html
nagasena.icon思いつきメモ
設計する際に、例えば開発環境(エディター)をエクセル的なブロック構造にするとか…?
Visualプログラミング言語ではないにせよ。
/icons/hr.icon
#Research
抽象と論理の交差点:視覚言語Pietの技術的・文化的構造と日本語文学的プログラミング言語設計への示唆
https://gemini.google.com/share/11e398880777
/icons/hr.icon
#Research
日本語の文献(記事)
仕様と真面目に向き合う「Pietプログラミング」ガイド - KMC活動ブログ
DM氏の難解プログラミング言語 - Piet (和訳版)
[Piet入門編]Piet入門1
Vimでお絵描きプログラミング
pietは簡単にいってしまうといわゆるスタックマシンです.どの命令を実行するのかということを色の明度(lightness)と色相(hue)の違いによって決定します.
Piet サンプルプログラム
Piet Program Gallery
/icons/hr.icon
#Research
https://claude.ai/share/0951b7a7-7600-4b02-b1b0-81bda44dc8db
スタックベース言語との共通点:
PostScriptやForthのようなスタックベース言語と同様、Pietは後置記法(Reverse Polish Notation)で動作し、スタックからデータをポップしてプッシュする操作のみでデータを扱います
独自性:
ビジュアル/グラフィカルな表現(テキストではなく画像)
2次元空間でのプログラムフロー
色の遷移による命令エンコーディング
芸術作品としての存在
The Hacker Folk Art of Esoteric Coding
https://gyazo.com/a0fd234912428e6dace65b11b9c55fa9
Credit: Daniel Temkin / esoteric.codes
/icons/hr.icon
#Research
https://grok.com/share/c2hhcmQtMi1jb3B5_1a7d8fca-67e1-461f-8618-aca23e9974af
/icons/hr.icon
#Research
https://manus.im/share/O6ODEUVP3kvvhuvvG6P8Pt
#プログラミング言語