「超絶技巧プログラミングインターン@仙台」に参加してきた

記事を書くのが遅くなりましたが、クックパッドの「超絶技巧プログラミングインターン@仙台」に参加してきたので記録をしておこうと思います。

超絶技巧プログラミングとは、技巧を駆使した実用性のないプログラムらしいです。実用的じゃないけどなんかすごいプログラムみたいな感じ。

あなたの知らない超絶技巧プログラミングの世界を執筆された遠藤侑介さんが講師で、超絶技巧プログラミングを直々に教えていただきました。

インターン自体は1日で、午前中に講義をして午後に実践みたいな感じでした。

https://twitter.com/cookpad_tech/status/1003128409977810944

講義では、いままでに作られてきた作品の紹介や

  • 自分自身を出力するプログラム(quine)
  • ソースコードをアスキーアート化
  • ソースに埋め込むフォントデータなどの圧縮手法

などのテクニックの解説をしていただきました。

なかでも任意の1文字を消してもちゃんと動作するquineは衝撃的でした。

自分が作ったのはこちら。

麻雀が好きなので麻雀関連で作りました。

実行すると、南の形をしたソースコードが出力され、さらにそれを実行すると西の形をしたソースコードが出力され、さらにそれを実行すると北の形をしたソースコードが出力され、更に実行すると最初のプログラムと全く同じコードが出力されるというものです。

フォントデータは36進数で圧縮して格納してあります。1行目のnで状態を保持して東南西北を表示すると行った感じです。足りない部分は#でコメント文にして補っています。

こんな特殊なコードを書くのは初めてだったので非常に楽しかったです!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です