Lightweight Language Futureまとめ
昨日のエントリでも書きましたが、2008年8月30日開催のLL Futureに行ってきたので簡単にまとめておきます。
以前の、OSC2008 Kansaiの時のように個人的にメモをしたことをまとめているので、情報の不足などがありますがご了承下さい。
また、写真を掲載しているので不都合などありましたら削除します。
基調講演(Mr. Larry Wall)
Perlの作者の方。登場した瞬間に興奮。。
実は会場入りした時にご家族に遭遇しました。
講演を聞いた感じでは、すごくおちゃめな方といった印象。
普段Perlは使わないし、よくわからないけどとても興味深かった。
しかし、英語での講演だったため若干聞き取れないところがあり勉強不足を悔やんだ。
内容としては、Perl6について。
正規表現の事など。
正規表現の書き方の違い。
パーサーについても話していた。
そういえばUbuntu使ってた。
LLで未来を発明する(司会: 今泉貴史さん)
こちらも何と豪華なメンバー!
興奮続き!
セッションの内容は3つの質問に答えていくといった感じ。
- 100年後の言語はどうなっているか?
- これまで何をしてきたか?
- これから何をしていきたいか
- Mr. Larry Wall
1
-
- impossible to predict
- extensible but expressive
- self-defined
- precisely scoped
- paradigm neutral
- scalable
- optimizable
- paralleizable
- accessble
- techable
- transparent
- community-based
- -O楽
2
Perl!
3
他の開発者のコミュニティを見守っていきたい
CPANとか
1
人間とコンピュータのインタラクションはプログラムではなく、自然言語で行われるようになるのでは?
しかし、数学の延長線上に何かあるかも。
Q「数学的な気泡で好きなもの」
A「+ -」
2
Ruby
プログラム言語は楽しいということを普及。
言語だけで1000人も集まるのは日本だけ。
アメリカではこんなに推進力がない。
未来は明るい。
3
言語好きを増やす。
- 住井英二郎さん(MinCaml)
1
わからない
100年前の論文にλ
17〜20世紀Computer = 職業
100年後のプログラム言語は予想も、意図して発明も出来ない。
電子計算機を「自然言語+α」で操作できるかも。
2
色んな抽象化した言語の研究
数学的なモデルで言語を見ている。
3
100年後とかにも記録に残るように下支えをしていきたい
- 藤田善勝さん(Ypsilon)
1
メモリ管理
並列処理
プログラム
は労力を減らす
C++とかはなくなるかも
→CPUが低レベルな事をサポートするようになると、プログラムは抽象度の高い所へ。
実装と分離される
→実装にひきづられない
2
ゲーム開発で使う、DSLのツールのためにスキームで実装
多様な言語を作るのに適している
3
何か面白い言語仕様のものが出たら使ってみたい
実装出来なくても、仕様を発表して欲しい
- ひげぽんさん(Mosh)
1
言語統一理論発表!
言語はやっぱりLispだったんだ!!
PCを生まれた時からあって、存在を疑わない簡単に扱える
手足のように
ただ、完全に自然言語で扱うのではなく少し練習をする
2
SICPに感銘を受けた
スキームの素晴らしさを世に広めたい
S式でコマンド入力()保管機能
先ほどのメンバーでトーク
- かいつまんでます
- 違う視点からのディスカッションで大変興味深かった。
まつもとさん: 未来の自然言語でCPUに命令を出す時代でも、PCにLinuxを起動するように命令してgccでプログラミングをする。
Mr. Larry: Perl6は広く深くを目指す
藤田さん: エラーメッセージをわかりやすく(ユーザのレベルに応じたエラーの表示)
仕様ないし
まつもとさん: 考えていない。でも、大切なこと
住井さん: エラーに関する論文ない。評価も大変。
サイコー!?フレームワーク(司会: 佐々木健さん)
MobaSiFはO/Rマッパーは用意していないので、SQLを意識する必要がある。
Gihyoで連載中。
Gauche on Rails
RoRで出来ることはLispで出来るのは当然
フレームワークとはメタプログラミングとは
Gaucheはメタプログラミングのための言語
フレームワークの進化はいいことだけではない
→学習コストが高い
Seasarでは機能追加はしないで、より枯れた方向へ
→保守・サポートはする
フレームワークで便利になるけど、学習コストがあるので生産性が上がったかといえば?
RoRの暗黒面
- 進歩が速い
- 互換性よりもクールさを求める
- RoRは開発者を選ぶ
RoRにはまったらLispまであと一歩!
Railsの影響で設定より規約という流れ
LLはJavaが嫌い
会場では、安定性と進化どちらを求めるかという質問に回答は半々でした。
1001枚売れた!
762人しか来てない(15:25)
LLでアート(司会: 砂糖智昭さん)
- 増田一太郎さん(メタファー)
- 真鍋大度さん(ライゾマティクス)
LLでアートということで、LLでビジュアル表現といった内容でした。
大変興味深い内容で、とりあえずProcessingやりたくなりました。
海外ではDynamic Languageと言う
特にインド?
- Processing
- Java
- クロスプラットフォーム
- OSS 無償
Rubyでインタラクティブ
RubyCoCoa
Core Animation(レイヤーアニメーション)
Quartz Composer(動画処理)
action-coding
JRuby+Processing
書いたそばからCGが変化していて面白かった!
プログラムでインタラクティブなものを作る敷居は下がってきている。
Max/Msp
音響・映像のためのビジュアルプログラミング言語
Max/Msp/Jitter
良
Visual PG環境
Javascript使える
リアルタイム性(実行中に修正・チューニングが可能)
悪
プログラムが煩雑になりやすい
処理が遅い
フリーじゃない
巨大になるとデバッグが困難
キミならどう書く?(司会: 高野光弘さん)
- 松野徳大さん
- Yuguiさん
- 浜地慎一郎さん
- 西尾泰和さん
- LL Golf the future
- U-30
コードゴルフとはお題に対してどれだけ短いコードで書くかを競うもの。
- Perl Golf
- 世界初のゴルフ場
- Code Golf
- Anarchy Golf
- 日本初!50以上の言語が使えるゴルフ場
みんな大好きPHP?
アマチュアゴルフテクニック
道具の使い方
どれだけ短くするかを競うので言語の使用、しかもマニアックなものを知っているといいと思った。
しかし、日常生活で使うことはないかと思う。
いつもと違うコードの使い方が面白い
言語やライブラリの特色に注目
コードが短くなる過程を楽しむ
バイナリアンへのきっかけ
すげー・・・・。
少しメモ
$&は初期ではnil
正規表現にマッチするとその部分が入る
会場ではServer errorの特設ゴルフ場で行われたお題の添削と表彰式的なものをやっていた。
普段書かないような書き方や、プロの犯行・ネタなど様々な書き方が登場して目から鱗でした。
ぜひ参加したいです。
これは面白い!
古い言語、新しい言語(司会: 高野光弘さん)
- 岩槻俊宏さん
- 小林悠さん
- 森田創さん
- 新藤愛大さん
タイトルはつり(ry
- 古い言語
- 構文解析技術
- LL(1) -> SLR(1) -> LR(1) -> LALR(1)
- パス数
- 計算機の性能
PCにやさしい言語
コスト構造
人件費+管理台帳 <<<<<< 計算機資源(昔)
Lispとゴキブリの共通点: なつたん
- 新しい言語
- ECMAScript
- WEBのマシン語
- JSやAS
WEB3.14w
LLVM
low levelの世界
- LLVMの使いどころ
- 設定ファイルやオプションが多い環境
過去のC資産の再利用を重視
- なぜLLVMコードを生成する
- 関連Project
- Nested VM
- IKVM .Net
俺言語GCCフロントエンド向けに書いたコードがブラウザで動作するようになる
Tamarin・・・
自由なプログラミング言語開発環境
LT twitterで人工無能を作ろう! (showyouさん)
人工無能とは(Twitter: ha_ma)
簡単な応答を返す
IRCで最初は実装した
Twitterだとアイコン+テキストで識別するので人工無能と人間とを間違いやすい。
- 推論
- オウム返し
- 単語に反応
- 過去の発言に基づく(マルコフ連鎖など)
かわいいアイコンも大切
LLで簡単に作れる
LT Client-side database storageで実際にアプリケーションを作ってみた (藤井太洋さん)
HTML+JS
dashmark
クライアントPCへデータを保存
非同期
→処理にIDをふってスレッド処理のように
富豪的SQL
1人でDBを使うから
Safariを閉じると消える
- DBは保護されている
- ドメインが違えばアクセス出来ない
- PASSないのでファイルを開けば見れちゃう
LT 私は如何にしてNarioを作り、一面をクリアしたか (authorNariさん)
これは面白かった!
LTでゲームの1面をクリアしようとするのがすごい!
何回か失敗してハラハラした。会場からもがんばれの声が。
- Nario
- Rubyで作ったあのゲームに似た横スクロールゲーム
あのBダッシュの爽快感を再現
Narioのグレーなところを大幅削除、ソース中のMarioを削除
LT 「Pit」で救う世界 (庄司嘉織さん)
1年120Secが無駄
IDとパスワードを書き換えて
IDとパスワードを書き換えて
IDとパスワードを書き換えて
IDとパスワードを書き換えて
IDとパスワードを書き換えて
IDとパスワードを書き換えて
password dankogai kogaidan でググると480件ヒット
もろもろで500年無駄になってる。
Pit
account management tool
設定がないなら、$EDITORで
$HOME/.pit/配下に設定ファイル
プロファイル名.yaml
簡易DBとしても
失われそうな500年のためにもPitを作ろう
Pit Java
Coming soon
LT Babel21 (原悠さん)
島根は鳥取の左です
LL本書いてる
White Spaceも印刷されている
C in LL ←今ここ
LL in LL
Rubiskell
Haskellのインタプリタはしる
富豪的プログラミング
Ruby in Scheme in Rubyも出来る
Ruby1.8にRuby1.9
今後
Brainf*ckを入れたい
unbabel
LT Ruby on Railsで実現する自走式Webサーバ (佐藤伸吾さん)
これは会場が爆笑の渦に包まれた!
だって、Webサーバが走る!
拡張現実ライフ 跡地 (引越し先は http://akio0911.net/ )
ワイド画面タッチスクリーン搭載リモコン
Webサーバ
ラジコン
Webサーバ走った!
iPhone(Safari) -> RoR -> Delphi -> サーボコントローラ -> サーボ
LT ちょっと草植えておきますね型言語Grass (うえのかつひろさん)
草をはやす言語
w W vで記述
λ計算ベース
Webアプリケーションを作りたい
www ←親和性高い!
でも、これパースエラー
wWwで無限ループ