チューリング不完全

What are you afraid of? All you have to do is try.

2012年夏のプログラミング・シンポジウムに参加してきました

2012年夏のプログラミング・シンポジウム

f:id:aomori-ringo2:20120825182623j:plain


会場の様子

参加人数約160人と大変盛況でした。会場の後ろにはオーム社オライリー・ジャパン,翔泳社という、このようなイベントに来る人がいかにも好きそうな出版社が書籍販売をしていました。(私も大好きです。)


f:id:aomori-ringo2:20120828154035j:plain
f:id:aomori-ringo2:20120828153944j:plain


オライリーさんは消費税なし、10%off、5000円以上購入でオライリーTシャツプレゼントというキャンペーンを行なっていました。私はTシャツが欲しかったので2冊何か買おうとしたら、定価だと2冊で5500円なのに1割引きのせいで4950円になってしまう、など非道とも言える組み合わせが存在し、みなさん苦悩していました。オライリーの人はニヤニヤしてました。
悩んだ結果、私は「Real World Haskell」と「リーダブルコード」を購入。Tシャツをバッチリいただきました。

プログラミング美学(仮)/ 竹内郁雄(早稲田大学)

(WIP)

Beautiful Programming Language and Beautiful Testing / 山本和彦(IIJ-II)


Haskellerはあまりテストを書かないけど、Haskellにも当然テストは必要だから、テストを書かせるようにしよう、という話。
Haskeller向けではない人向けと書いてはいましたが、最終的にはHaskellのコードでの説明になってしまったのは致し方無いですかね・・・


午前中のここまでの3つの発表で登場した言語がLisp, Haskell, Haskellと、関数型言語を触ったことがない参加者には随分と酷な並びだったような。



ビューティフルコードのためのN個の指針 / 久野靖(筑波大)

オライリーの「Beautiful Code」の訳者である久野先生による、コードの綺麗さに対するお話。(WIP)

Ruby を用いた超絶技巧プログラミング / 遠藤侑介


この日で一番盛り上がった発表。
アスキーコードのように見える自己複製プログラム」「小文字アルファベットと空白のみでHello world」など、トンデモプログラム満載の発表。デモをする度に会場は笑いと拍手が巻き起こっていました。
「実用性なんかなくてもプログラミングは楽しい」という導入部の主張がとても素晴らしいと思いました。



高機能アセンブラによるx86/x64 CPU向け高速化テクニック / 光成滋生(サイボウズ・ラボ株式会社)

(WIP)

ビスケットにおけるプログラムの美しさについて / 原田康徳(NTT)

(WIP)


キュート・アルゴリズム / 稲葉一浩


Redcoderである@kinabaさんによる、アルゴリズムのお話。

  • 『最悪』のソートアルゴリズムは何か
  • 非破壊型のQueueを実装する
  • 正確な実数を計算する

私も一時期Topcoderにはまっていたのでとても楽しめました。競技プログラミング経験がある人はスライドをご覧になってみると良いと思います。


セルオートマトンのプログラムハック / 和田英一(IIJ-II)


個人的には今日一番難しかった発表。和田先生が今までに出会ってきたびっくりするようなプログラムの数々の中から、セルオートマトンに焦点をしぼっていくつか紹介されていました。
スライドを見てもよくわからないかも知れませんが、やりたいことをとにかく最速(or最小)で行うために限界まで意味をばらしてコードに再構築をしているものが多く、プログラマは数学ができた方が格段に強いな、と感じました。
このようなお話はクヌース先生のTAOCPやHacker's Delightに数多くあるようなので、ご興味がある方は読んでみるといいでしょう。
発表の最後で和田先生はこのように語っていました。



肝に命じたいですね。



まとめ

私は常々、今後数十年、ずっとプログラミングやソフトウェア開発に従事してご飯を食べていくことができるだろうか・・・と不安を抱きつつ勉強をしています。今回は最先端で活躍している方の発表を聞いて、全く意味がわからなくてお手上げになるということもなく、どの発表も楽しめたので、少し安心しました。
和田先生によると、プログラミングシンポジウムの夏は来年も今回のように日帰り・参加費無料で行うつもり、とのこと。来年もぜひ参加したいですね。