【Memo】Lightweight Language Future
8/30、Lightweight Language Future(LLFuture)に参加してきました。
「Lightweight Language(LL)は、Perl、Ruby、Python、PHP、JavaScript、Scheme等のスクリプト型言語全般を指す言葉で、LLFutureは2003年以来開催されているLLを主題とした催事です。
アカデミックな公演や最新技術動向の説明から冗談のような発表まであり、興味深い一日となりました。
■内容
10:00 開会
10:05 基調講演
この人がいなければ今日のLLの隆盛はなかったのではないかと言われる、Perlの主開発者で言語学者のラリー・ウォールさんの講演。ここ数年取り組んでいるPerl 6の紹介。
11:10 LLで未来を発明する
Perl、Ruby、MinCaml、Ypsilon、Moshの作者による、100年後のプログラミング言語がどのようなものかという予想のパネルディスカッション。
14:10 サイコー!?フレームワーク
高度なソフトウェアを開発するために、今日では必要不可欠になりつつあるフレームワークについて、フレームワーク開発者の面々が意見を交わす。
15:20 LLでアート
ハードウェアの高速化、ソフトウェアの高機能化の結果、音声、映像、体験型デバイスなどをを組み合わせたメディアアート、インタラクティブアートの製作に、従来縁遠かったLLが用いられるようになってきた。
Rubyで書いたソースを基に、3Dオブジェクトのリアルタイム生成・動作を行う環境や、筋電センサや加速度センサ、音声センサからの入力を簡単に処理することが可能なライブラリやツール群の紹介など。
16:40 キミならどう書く?
与えられた主題を実現するプログラムを如何に短いストロークで実現するかを競う「プログラミングゴルフ」の普及のために、LLFuture開催告知期間中に行われていた「LL Golf」の優秀コードの表彰と、ゴルフで役立つ(通常のプログラミングではほとんど役に立たない)ノウハウ紹介。
17:50 古い言語、新しい言語
ハード、ソフトの進化により、従来「簡単だけど重い」と考えられてきたLLが、利便性、柔軟性と高速性を兼ね備えた存在へと変わりつつある。
主題の1は、様々な環境における共通基盤になる可能性のあるJavaScriptについて。
JavaScriptによる各種LLのインタプリタを作るという試みにより、CGIなどのバックエンドだけでなくフロントエンドで利用可能となる。
主題の2はLLVM(Low Level Virtual Machine)について。
JavaVMはJITコンパイラにより動作時に最適化を行うが、LLVMは静的/動的コンパイル時、リンク時、実行時などに最適化を行う。また様々な対象環境向けバイナリを生成するプラグインと組み合わせられる。
応用例として、Cで書かれていた「DOOM」のソースコードをGCC、LLVMで処理しABC(ActionScript Byte Code:Flashアプリのバイナリ)としたものが、問題ない速度で利用可能であることを示すデモを行っていた。
19:40 ライトニングトーク
5分/件で容赦なく切られる短時間プレゼンです。
・twitterで人工無能を作ろう!
・Client-side database storage 実際にアプリケーションを作って見えた未来
・私は以下にしてNarioをつくり、一面をクリアしたか
・Pitで救う世界
・UnBabel LLにLLを組み込んでみた
・Ruby on Railsで実現する自走式Webサーバー
・ちょっと草植えときますね型言語Grass
・Sclabで数値計算
・NewtonScriptに見るもうひとつのプロトタイプ試行
・超未来型言語Gallina
・未来の並列型プログラミング言語としてのHaskell
20:40 抽選会
20:50 閉会