大LT2024秋 in Aizuに登壇してきました

記入日:2024/10/19 17:43:21

blog thumbnail

はじめに

2024/10/19に開催された大LT2024秋 in Aizu(5分枠)に登壇してきました。

登壇資料

発表内容など

今回はPietというプログラミング言語を触ってみた話をしました。Piet自体は以前難解プログラミング言語を調べていた際に知っていたのですが、実際にコードを書いていなかったことをふと思い出し、いい機会ということで実際に書いて発表してみました。

一般的な文字を使って書くのではなく、色を塗って処理を記述するプログラミング言語です。色を塗ったキャンバスは画像形式でインポート・エクスポートすることができます。スタック指向のプログラミング言語でスタック内に数値を組み上げてコードを記述しています。スタック操作で見るpushやpopだけではなく、インタプリタの方向を変えるなどのPiet特有の命令もあります。

この言語は色そのものに処理が割り振られているのではなく、色の変化量によって処理を判定し実行します。そのため序盤で塗る色を間違えてしまうとそれ以降のブロックを全て塗り直す必要が出てきます。ここがこの言語の辛いところで長いコードになればなるほど修正が困難になります。また、外側と内側の色が同じだと想定外な処理になる、序盤でしっかり計画を建てないと最後まで処理を書けてもループを止める処理を記述する隙間がない、ifやforなどが標準で無い…など多くの問題点があります。

この言語の魅力として、コードに干渉しなければ余白に自由に色を塗ることができます。Piet自体はキャンバスサイズが小さいほど美しいコードとされているようですが、実際はプログラミング×アートを目的として使用されている例が多いです。今回のような文字列を表示するだけのプログラムでもコーダーの遊び心によって多くの作品が生まれる点がこの言語の魅力だと感じています。

余談

今回のZliを表示するプログラムは最初10*10のキャンバスの作成したのですが、本番まで8*8まで縮める事ができました。もう少し小さくできる気がしてます…

全体の感想

今回はいまいち開発したいものが思いつかなかったので、マイナーな言語を紹介しました。個人的には逃げの選択でしたが結構良い反応をもらえたので結果的には良かったです。ただ、開発したものを発表したいという気持ちはあるので次こそは何か開発して発表したいです。インターンを通してECサイトに興味を持ったので、簡易的なECサイト作ってみたい。

今回は同期や先輩だけでなく、1年生もレベルの高い発表でとても焦りを覚えました。就活や研究を言い訳にして最近はそこまで開発に時間を使えていなかったので、少しずつ頑張っていきたいです。あと、正直発表を聞いてて分からないことばかりだったのでもう少し知識を蓄えたいです。