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

まめ畑

ゆるゆると書いていきます

LL Tigerに行ってきた

LL Tiger Event

今年もLLイベントのLL Tigerが開催されたので行って来ました。
内容の私的メモ。途中で書いた内容が一部消えてしまったので、抜けがあります。。。

Language Update

  • Perl
  • Perl6
    • FizzBuzz時間かかるけど動く
    • Rakudo * <-簡単にPerl6を試せる
    • subルーチンの中にsubルーチンがある
    • Exception (try catch/オブジェクト内のプロパティ)
    • Smart Match
    • Multi Dispatch
    • (Hyper)Operator <-自分で演算しを定義出来る(Rakudo *は Hyperが動かない)
    • OO
  • Python
    • Python2.7がPython2系最後
    • Pyhon3の機能の取り込み
    • Python3.2では言語の修正なし 他の実装が追いつくのをまつ ライブラリの実装やブラッシュアップ
    • New GIR
    • Python3はPython2から連続するバージョンアップ
    • Unladen Swalllow
      • LLVMを使ったJITエンジン
      • Python3.3への搭載を目指している
    • PyPy
      • JITエンジンを搭載
      • CPythonとのAPIの互換製
      • 高速!
    • Linuxの基板になってきている
    • Webアプリ開発としてのPython
    • long pollingに対応(Tornade/Twisted/Stackkless/genet...)
    • 実行効率が求められる時代
    • Python3への移行期に突入
    • WebにもPython
  • Clojure
    • new Lisp dialect
    • JVM上で動く
    • 空前のClojureブームもありました...
    • Javaと親和性が高い
    • JavaAPIが使える
    • Clojureのデータは不変
    • immutableなので共通部分はメモリを共有
    • 並行プログラミングの為に協力なAPIが提供されている(トランザクション)
    • Software Transaction Memory
    • ACID属性のうちACIを提供
    • STM
    • デッドロックやスレッドアンセーフなバグを心配する必要がない
    • プログラム自体がデータ構造
    • DSLを作るのも簡単
    • GAEやAndroid上で動く
  • HTML5
    • DOM APIで語彙を定義
    • HTMLやXHTMLは単なる「表記方法」
    • HTML is not SGML
    • 要素が増えた
      • セマンティクスが追加された
      • 文章に意味を与える
    • APIが増えた
  • Scala
  • Ruby
    • Ruby1.9.2
      • Ruby1.9安定板
      • 安心して使える1.9
      • Rails3ターゲット
    • YARV
      • Yet Another Ruby VM
    • M17N
      • いくつものエンコーディングを同時に使える
      • UCS vs CSI
      • 世界唯一のCSI言語(変換をなるべくしない)
    • 沢山の拡張(1.8.7にバックポート)
    • Ruby標準規格
      • IPA
      • JIS -> ISO
    • HPC Ruby
    • 軽量Ruby
    • マルチタスクにクラウドにHPCにRuby
    • MRI/JRuby/Rubinius/MAC Ruby/Iron Ruby/MagLev
    • Ruby2.0
      • 1.9.2リリース後始動
      • 永遠のvaporware返上...?
      • 1.9と2.0の差分はそんなに多くならないかも
  • PHP
    • LLTigerで発表しました -Language Update編- - muddy brown thang
    • 5.3.0
      • ネームスペースやクロージャの導入
    • 目立った事件なし
    • PHP6ブランチ破棄事件
      • output-bufferのバグ
      • パッチはtrunkにある
      • 勝手にブランチをrenameして、新生trunk(5.4)誕生
    • Traitパッチ(Mixinのようなもの)
    • 名前空間中のクラス名と同じ名前のメソッドはコンストラクタにならなくなった
      • 理由は嫌だから

開発ライセンスとプログラマーの自由

  • http://www.slideshare.net/koyhoge/iphone-lisence
  • プラットフォームベンダーが開発ライセンスを契約で縛っていいのか
    • AdobeAppleの確執
    • Appleの内部的な集まりでジョブスがAdobeに対して不満をいったという話も
    • AppleStoreの審査基準が厳格化された
    • AppleがHTCを特許侵害で提訴
    • iOS4のライセンス変更点に問題があるんじゃないか
      • アプリケーションは Objective-C/C/C++/Javascriptで書かれていなければならない
      • 中間的な変換、互換レイヤー、ツールを用いてリンクするアプリケーションは禁止する
      • 明確なPackager for iPhoneつぶし
      • 巻き添えをくらうソフトも多数
    • AdMobつぶしと見られるライセンス変更もみられる
    • Appleに対して独占禁止法に関連した調査を始めた in アメリカ
    • 6月にiOS SDKの一部ライセンスが変更された

Q. 保守性を担保する為開発言語を顧客がしばることはよくある
A. Appleは顧客ではない
Q. 質の悪い中間レイヤーはプラットフォーム自体を悪くする
A. 標準APIを使ったアプリでも不安定で質の低いものはある。逆もまた然り。
Q. Appleは自社が提供するアプリでもを縛る権利がある
A. その通り。ただ、すべての会社が開発言語を指定する世界を望むのか?

LTの虎一回戦

  • Shibuya.js
  • co1row
    • canvasは夢の広がる技術
    • canvasで弾幕ゲーム
    • 力技でも60fpsほど出てて滑らか
  • USP友の会
  • エレファントカシマシ
    • Perl6
    • 非手続き型言語はPL/Perl6で出来るよ!
    • PL/Perl6使うとハイブリッド
  • 破滅幼稚園荒川組
    • Chaos Proxy
    • 生活そのものを作品にした
    • 透過Proxyを使って会場からのインターネットアクセスのURLをぶっこぬき
    • 画像へのアクセスを監視
  • Project :-D
    • 色んな言語でこんにちは
    • 最強のLL使いは
    • Perl ppencode
    • Ruby rrencode
    • JS jjencode
    • Pyton pypyencode
  • 殺伐Python
  • クロネッカーズデルタ
    • Luaでゲーム開発
    • crysusエンジンのdemo版は無料で入手可能
    • sandboxエディターも無料で入手可能
    • Luaスクリプトでエンティティを定義出来る

LLと電子出版

  • ワークフロー
    • 電子出版をする際に紙の印刷所が関わってくるのか
    • DTPによって印刷所と出版社の繋がりが少なくなった
    • 文芸系の出版社は極力PCを使用したくないので、DTPを印刷所に任せているところも多い
      • 出版社が最終版のデータを持っておらず印刷所がデータを持っているので、電子書籍を出そうとすると印刷所が出てくる事になる
    • EWB (オープンソースで公開中 http://ascii.asciimw.jp/ascii/EWB/gay/index.html)
      • 現在、EPUB出力可能にするため改良中
    • IdeoType: A Book Compiler http://ideotype.sourceforge.net
  • フォーマット
    • オライリーは特にこだわっていない。その時に適したものを使用する
    • 複数のフォーマットがある。1つのフォーマットを買うと他のフォーマット版も買える様にするのか(ライセンス)
  • 電子出版にしたからといって、コストが安くなって出版社が儲かるようになるわけではない
    • 電子書籍自体の流通量が少ない
    • 値段自体が安くなった場合、手数料によって利益が少なくなる
  • 電子書籍が出版業界に与える影響
    • 今まで出版業界が作ってきたビジネスモデルを破壊する様な物は出版と呼ばない
    • Webが普及した今、新たなビジネスモデルを作る時がきたという時に、iPadkindleが出てきた
    • しかし、それは今までのWebの劣化版であり、今までの古いビジネスモデルが使える物である
    • 来年まで電子出版市場がどうなっているか楽しみ
  • 5,10年後、電子出版がどうなっているか
    • 自分で考えたものが実現出来るような世界になっていて欲しい
    • 小さいながら市場を獲得しているのではないか。デバイスが普及していけば広まっていきそうだが、でかい出版社がそれだけで生き残れるようにはなっていない
    • 執筆体験や読書体験が変わって行っている。一緒に書いて一緒に読むような新しい体験
    • 今は、読みたい本がない。それを改善するようなものが来て欲しい。Webでは情報が古かったりする。

LLでフィジカルコンピューティング

  • マイコンを使わないかんたんフィジカルコンピューティング
    • らぼかへ
      • コーヒーメーカーの残量をWebやFx Extensionで監視
    • ヘブンズドア
      • トイレの個室の空き状況を監視してFx ExtensionやCactiなどで監視
      • 人感センサーを使ってたけど、トイレにPCをもちこむとか必死すぎなので、ワイヤレスマウスを使用する事にした(クリックイベントを取得する、PCはトイレの外に)
  • フィジカルコンピューティングをはじめよう。

LTの虎準決勝

LL Tiger高速化虎の巻

  • 近未来並列LL
  • http://www.slideshare.net/mootoh/ll-4880207
    • メッセージパッシングに慣れておく
    • 並列LL
    • HPCにどんなチップを使うのか
      • GPU
      • 多くのスレッドが立てられる
    • Paraiso
      • 数式処理システム
      • 開発コミュニティ立ち上げた
      • Made in Haskell

LTの虎 決勝戦

最終結果: Shibuya.js