読者です 読者をやめる 読者になる 読者になる

LL魂 感想

LLSpirit event

基調講演

  • 講演者がHHKの開発者でもある和田先生ということもあり、司会の方が「HHKを使っている人は拍手!」というと場内から割れんばかりの拍手が。HHK使いどんだけいんだよw
  • hardware hackでは、レオナルド・ダヴィンチの楕円コンパスとか、潮汐解析を機械でおこなうものとか紹介。
  • Hackerにとって大切なことは、Playful:遊び心。
  • Hackerになりたいとか、思うのではなくて、自分の好きなことを追求している内に、他人から認められた人がHackerになる。
  • Hackとは、多人数で開発をしているときにおこなうようなものではなくて、1人で黙々と開発しているときに出てくるもの。VM魂で、この話が少しでてくる。
  • Hackとは、個人要素がにじみ出てくるようなプログラムを書くこと。
  • 「PostScriptを使ってプレゼン資料を作ったり、機械でsin,cosを実現したり、使いにくいものを無理矢理使うのがHacker?」という質問。それに対して、「使っている本人からすると、使いにくくはない。好きだから使っている。」いいね、そういうの。

Language Update

Python
  • 「みんなのPython」の柴田さん。
  • CGや数値演算、GUIアプリ、Webアプリなどオールレンジに使える。
  • 後方互換性を重視している。リリース計画もしっかりしている。10年使えるプログラミング言語
  • プレゼンがキレイだった。
  • Pythonの特徴は、一つのことは一つの方法でしかできないような言語仕様。PerlのThere's More Than One Way To Do It.(やり方は 一つではない)とは対極的。
Lua
  • SGIのUIに似せて作ったというマウスでくるくる回すダイアル風のUIがオシャレ。観客席からもオーという声が。
  • プログラミング言語は、ただの命令コードの集まりではなく、思想空間をシミュレートするものだ」というのが印象的だった。
Ruby
  • Matzさんからのクリスマスプレゼント。Ruby2.0をクリスマスにリリース。テストをしっかりとおこなって仕様を明確にする、Lazy Collectionの実装、エラー検出をして修正候補を表示してくれる「もしかして機能」とかも実装。
  • おぉ、すげー。とか思ってたら、ささださんから釣りですた宣言。思いっきり釣られた・・・orz

オレ様言語の作りかた

なでしこ
  • みんなの質問が集中した。一番人気。
  • 日本語で書かれているから可読性が高い。会場からは笑いが起きてたけど、可読性って大事だよね。
  • FizzBuzzの中で以下のような記述があった。

回数を15で割った余りが0と等しい?
もし、そうならば
  「FizzBuzz」と表示して続ける。

  • このプログラムの「もし、そうならば」の「そう」がPerlの特殊変数$_と同じだという。日本語の良さを取り入れてて面白い。
Xtal
  • 独特な発表スタイル。よしっ!
  • モダンな機能(高階関数、Fiber、イテレータなど)をたくさん取り入れている。
  • 実行効率は高い。Lua並。
  • キーワード引数は、なかなか便利そうな機能。
  • Boost.Pythonみたいな感じで、C++とも簡単に連携できるとか。
Sukuna
  • Forth系プログラミング言語
  • FizzBuzzは、何書いているのかさっぱり分らなかった。
  • オレ様言語って、いわゆる車輪の再発明なんだけど、それは無駄ではなく、とても良い勉強になるということを何度も強調していた。
crowbar,Diksam
  • Java謎+落とし穴徹底解明」、「センス・オブ・プログラミング!」の人。
  • 言語的には、C言語と似たもの。
  • シンプルで規模も小さいので、プログラミング言語の実装をするときに参考になる。

昼休み

  • ちょっと短かった。昼食はがらがらの牛丼屋で速やかにすませる。
  • 休憩時間中は周りから、「IronRubyダウンロードした?」とか、「Meadow入れたんだけど・・・」とか、「F#が・・・」とか、そういう会話をしている声が聞こえてくる。聞きにきている人たちも技術が好きな人たちばかりなんだなぁ。

VM魂

Jython
  • IronPythonのJim Huguninを引き抜いたMicrosoftは見る目がある。IronPythonのほうがオススメ。という冗談で始まる。
  • 3分間クッキングメソッド。プレゼンでデモするときは、こういう工夫が必要ですね。
  • フィボナッチ数列を音化する。
JRuby
  • 横に流れるプレゼンカコイイ。
  • プレゼンの絵がきれいだったな。どんなドローソフト使ってるんだろ?CorelDrawとかかな。
  • 3つのVM(JVM, YARV, Rubinius)で動くJRuby最強。
IronPython & IronRuby
  • IronPythonの経緯
    • Jim Huguninが個人でIronPython開発
    • JimがMSに入社。MSがIronPythonプロジェクトを支援。
    • JimがDLRを提唱。
    • .NETにDLRを含めることに。←今ココ。
  • JavaScriptからPythonGUIモジュールをロードし、イベントの部分はJavaScriptで書いて実行するというデモ。
  • C#VBでは、実行モジュールでしか、コードを共有することができない。DLRを使うとコードをそのまま共有できる。
  • IronRubyのライセンスはMicrosoft Permissive License。OSIと遜色はない。
  • 2007年9月19日のREMIX07 TOKYOで、RubyPythonなどLL系のセッションが3つあるらしい。(SilverlightでつくられてるREMIXのサイトカコイイ。)
Pnuts
  • JVMで動くLLの元祖?
  • 速度なら負けない。もちろんJRubyよりも速い。
  • ソフトウェアスタック全体で価値が決まるという話が印象的。
なぜ、ネイティブLLではなく、VM上のLLなのか。
  • Javaの資産を活かしたい。
  • Javaが苦手なところはLLでサクッとつくる。
  • JavaC#などでつくったプログラムをLLで簡単にテストできる。
  • Javaは固い。Javaプログラマにも、LLの手軽さを知って欲しい。
その他
  • コンパイルしないところに価値がある。.NETはすごいけど、コンパイルの残骸が残ってしまう。
  • JRubyRuby on Railsが動く。2年後くらいには実用化可能。
  • IronPython,IronRubyは、荒井さんの予想によると、今後MS公式の言語になるだろうとのこと。VS2008のプラグイン?
  • プログラミング言語も分業が必要。大規模システムではJava、ちょっとしたものならLLで。
  • 基調講演の話を引き合いに出して、「大規模システムで、LLやHackってありえるのだろうか?」
    • プラットフォームなど、コアの部分はJavaなどの固い言語で開発して、細かな機能は、小さなチームでLLを使ってすばやく開発していくのが良いのでは。
    • 象と斥候の関係。大規模システムは足の遅い象みたいなもの。LLのような身軽な言語で先を見渡し、象を誘導してあげる。
    • 昔は、SmallTalkがそういうプロトタイプ開発用の言語だった。
    • Rubyでプロトタイプ作るんなら、そのままRubyで突っ走ればいいんじゃないの?という話も。
  • Chad Fowler(My Job Went To Indiaの著者)もJRubyを触っているらしい。
    • Javaの開発は中国やインドで、Rubyでの開発を日本で、とかになったら嫌だねー。
  • IronPythonがC Pythonよりも速いって本当?(この辺の話ですね→http://www.python.jp/Zope/workshop/200604/files/IronPython.pdf)
    • 一応、本当。
    • IronPythonはC Pythonのライブラリの10%くらいしかカバーしていない。全部カバーすると性能はほとんど同じはず。
    • Jimが動的言語を実装するときのパフォーマンスチューニング手法を良く知っていたということも影響している。
    • IronPythonの開発から、.NET Frameworkにフィードバックをかけたりもしている。
  • VMは、JythonJRubyからフィードバックしたりしないの?
    • いろんなところに使われているから、そう簡単に変えられない。
    • JRubyは、まだオーバーヘッドが大きい。最適化の可能性はまだまだある。
  • John Lam氏のblog(http://www.iunknown.com/)で、IronRubyRuby on Railsが動くようにすると宣言したとか。
  • IronRubyはまだPre Alpha。まだまだこれから。
  • 最近にわかに活性化してきた。Railsの影響か?
  • JRubyNetBeansを動かすというプロジェクトもあるらしい。
  • MS社員がオープンソースのプログラムコードを見たら首になるかどうかの話。
  • Rubyは仕様がないのに、どうやってIronRubyを開発するのかという話。

キミならどう書く 〜プレゼンソフトを作る〜

JavaScript
  • id:amachangさんの発表。
  • すごくかっこいいプレゼン。
  • 特にインデックス機能とかCool!会場からもどよめきが。
  • アクションはJSONで書いている。
XUL
  • 高橋メソッドなプレゼンツール in XUL リターンズ
  • プレゼンのデータが、テキストにWiki記法で書けるっていうのが手軽で( ・∀・)イイ!
  • フォントの大きさは自動的に決めてくれる。高橋メソッドではこれ重要。
  • XULの対極技術はSVG?
  • 編集モード、ペンモード、エヴァモードなど。完成度は高い。
  • 機会があれば、社内のプレゼンでも使ってみたいな。(さすがにお客さん向けには使えないけど。)
Gauche
  • 逸般人向け。
  • スライドの作成機能は他のソフトに任せ、表示・操作機能に特化。
  • Lispを動作させる機能がある。
    • telnetでログインして、動的にプログラムを書き換えるとか。変態w
  • LL魂のチャットを表示させる機能がついてる。
    • ニコニコ動画的な楽しさ。
    • チャットの書き込みが気になって、質疑応答を聞き逃した。
    • 新たなプレゼンスタイルの可能性を見た。プレゼンを聞きながら、聴衆がどんどん意見を言えるってすごいことかも。聴衆の意見によって、プレゼンの内容をどんどん変えていくとかもできそうだし。双方向性?変なこと言って弾幕になったりすると恐ろしいが。
    • I came from VIP.にワロタ。自重しろwww

Lightning Talk

  • JavaFXscript「LL魂スルー力絶望した!
  • ドキュメントはソースと同じところに書くのに、なぜテストは同じところに書かないの?ナンセンス。確かに。
  • こう書く機動隊w。
  • IronPython/WPFとかJavaFXscriptでプレゼン作ってる。

雑感

  • 僕の周りにはあまりいないような技術志向な人たちがたくさんいて、すごい刺激になった。
  • 会社の同僚と話をすると、プロジェクト管理、情報共有、コーチングの話なんかが多くて、技術の話はあまりしない。だけど、やっぱり僕はもっと技術を極めたいんだという思いが強くなった。(ヘッポコプログラマさんも、d:id:heppokoprogram:20070804で同じようなことを書かれておられますね。)
  • 講演してた人たちは、hatenaでblog書いてる人が多いなー。
  • 来年も行きたい!