メールマガジン

お問い合わせ・資料請求

2018年07月04日

株式会社ディーバ

第306回 抽象絵画とソフトウェア

プラットフォーム開発統括部 クラウドアーキテクチャ部 部長 遠藤 宣嗣

こちらの絵をご覧ください。

これは、とある抽象画・・・ではなく、実はプログラムのコードです。このプログラムを実行すると「DIVA」という文字が出力されます。

このプログラムは、Piet(http://www.dangermouse.net/esoteric/piet.html)というプログラミング言語で書かれて(描かれて)います。Pietはオランダ出身の画家、ピエト・モンドリアンにちなんで名づけられました。考案者のサイトを見ると、Piet Languageについてこう説明されています。

“Piet is a programming language in which programs look like abstract paintings. The language is named after Piet Mondrian, who pioneered the field of geometric abstract art.”

ピエト・モンドリアン(1872-1944)は、オランダの画家で、白地に黒い垂直線と水平線のグリッド構成に、赤・青・黄の三原色だけを使うという、自身が作った厳密な原則を守って抽象絵画を描きました(赤・青・黄のコンポジション)。後に、イヴ・サンローランはこのコンポジションを取り入れたドレスを「モンドリアン・ドレス」として発表しました。きっと皆さんもどこかで一度は目にしたことがあるのではないでしょうか。

 

さて、大抵のプログラミング言語は文字でコードを書きますが、驚いたことにPiet Languageは色でコードを書いて(描いて)いきます。使う色は、赤、黄、緑、シアン、青、マゼンダに、明るさが明色、普通、暗色の3段階、あとは黒と白の計20色(色相6 * 明度 3 + 黒と白 2 = 20)です。

これらの色とその面積、そして色の変化でコマンドが表現されており、スタックを使ってデータを処理しながらプログラムを書いて(描いて)いきます。難解プログラミング言語(Esoteric programming language 略して esolang)の一つですので、詳しい仕様は考案者のサイトをご覧ください。

この言語は、第245回のメルマガで使用したOok!という「オランウータン向けにデザインされた」プログラミング言語の考案者、David Morgan-Mar氏によってデザインされた言語です。Ook!を知った時にも考案者の発想に驚きましたが、こちらはそれ以上の驚きでした。

色を使ってプログラミングするという、いつもとはちがうアプローチに、とても新鮮な気持ちでコーディングを楽しむことができました。多くのエンジニアがそうであるように、書かれたコードに美しさを感じることがありますが、Pietは絵画のように色でコードの美しさを感じることができます(今回のコードは抽象画のような美しさの面ではまだまだですが・・・)。

 

私はクラウドアーキテクチャ部に所属しており、クラウドサービスの開発を行っています。ソフトウェアの開発では物事を抽象化して表現していくことが求められます。ただ、これをバランスよく行うのは簡単なことではありません。

今まで、抽象的な芸術にはほとんど興味を持っていませんでしたが、今回、Piet Languageを使いながら、物事を抽象的に表現するという意味では、ソフトウェア開発には抽象絵画と似たところがあるのかもしれないと感じました。今後の抽象絵画の見方が変わりそうです。