LL Future
に行ってきました! たくさんの方とお会いできて楽しかったですが(例によってゆっくりとお話できなかった方も多くてすみません)、中でもお昼をご一緒したYpsilonの藤田さんとMonaOS & Moshのひげぽんさんには、テクニカルにも面白いお話(イプシロンのリアルタイムGCとか)を詳しく聞けて、非常にエキサイティングでした。後から誘っていただいた私ばかり根掘り葉掘り質問してしまい、どうも失礼しました。(_ _) 他のセッションの方たちもそうでしたが、アプリはもちろん、言語処理系や仮想機械までさくっと作ってしまう方が多くて(もちろん実際にはものすごい努力があるわけですが)、その熱意とパワーに脱帽です。
「百年後の言語」セッション(LLで未来を発明する)は…私は未来じゃなくて過去の話ばかりしてすみません。いや、本当に人間の言葉でコンピュータに命令できるようになっているかもしれないし、量子計算機が実用化して「量子プログラミング」をしているかもしれないし、はたまたもうネタ切れで大して変わらないかもしれないし、わからないです。そういういろいろな「デタラメ予想」をしたら楽しかったのでしょうか(←はじめから気づけよ)。そのためには私が機械学習とか量子力学とか、もっと幅広い分野の勉強をしないといけませんが…
セッション最後に質問のあった「セキュリティ」については、言語の抽象度が上がれば(プログラミング言語レベルの)安全性も上がるはず、というのが私にとっての模範解答です。アセンブリよりRubyのほうがsecureなプログラムを書きやすい(ことが多い)ですよね、という。あと、プログラムを「情報流解析」して、機密情報の漏洩や、偽造データによる汚染を静的検査で防止する、みたいな研究分野もあります。
あと、「もっと関数型言語や静的型をプッシュしてほしかった」みたいな感想をいくつかいただきました。:-) これは帰り道で刺されないために空気を読んで自重した…わけではなくて、最近は命令型言語や型なし言語の周辺にも手を出しているので(Fail-Safe C to JavaとかCみたいなfreeのあるScheme?とか)、自分自身が言語中立になりつつある?せいかもしれません。λ計算や関数型言語を中心に発展したプログラミング言語理論ですが、C言語とかにも応用できますよ!と最後に宣伝。
P.S. 複数の方に彼女ができたと伺い(そういえば女性が多かったような…)、しかもそのうちの何人かは会場にいたそうなのですが、すれちがいで一人も拝見できませんでした。残念。
追記:はてなブックマーク経由で教えていただいた、質問した方のエントリ:
http://jj1bdx.blogspot.com/2008/08/programming-language-design-and.html
- protecting the language from the buffer-overflow bugs;
- preventing the garbage collector from crashing even in a hostile environment where the external attackers try to deliberately manipulate the pointers or variables to hack into the protected memory area;
- implementing a syntax or semantics validation system in the programming language so that the programmers can apply it to validate the external data, such as those from the network-connected users; or
- preventing the race condition, deadlocks, or any sort of resource starvation by the intentional or unintentional programming;
それ何てPOPL?(に限りませんが、それ系の学会/学界) いや、本当の実用への道のりはまだ長いかもしれませんが。