Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

JJUG ナイト・セミナー 「Inside Lambda」 に行ってきました

昨日(2013/7/23)にOracleで行われたJJUGナイト・セミナー「Inside Lambda」に参加させて頂きました。

最近のナイト・セミナーは案内と同時にすごい勢いで申し込みが埋まってしまいますね。
申し込む側は情報のキャッチを如何に速くできるか、という辺りで中々大変だったりもするので、素早く情報を得たい方はTwitterで@JJUGをフォローしておくのがよさそうです(^^;個人的には@megascusさんが一番速い気がしますが…

今回参加したJJUGの「Inside Lambda」案内ページ
http://www.java-users.jp/?p=579

発表はお二人で

  • Project Lambdaの基礎(櫻庭祐一さん)
  • ラムダと invokedynamic の蜜月(宮川拓さん)

でした。既に資料も公開されてました!

こういうブログ書いてていつも思うのですが、別に自分が発表したわけじゃないのにSlideshareの画面付きリンク貼るのって発表者の方からして迷惑だったりしない…?のでしょうか(^^;
勝手に貼らないでーってあったら突っ込んで下さい;

Lambdaあれこれ

Java Lambda」とかでググると既に色々な情報が出てくるので、色々探して読むのが一番良いと思うのですが、過去に参加したJava関連イベントで何度か「学生でOpenJDKのProject Lambdaに関わってる方がいる」という話を聞いて驚いた記憶があります。その方の書かれている解説が丁寧なのでリンク(^^;(勝手にすみません…)

こういう記事を書かれる大学生がいる、と考えると社会人で仕事でプログラム書いてる自分のレベルに危機感を感じますね(-_-;

Project Lambdaの基礎

櫻庭さんの発表を拝見するのは今回で3,4回目くらいだと思いますが、毎回、JavaFXで作成されているプレゼン資料の凝ったつくりに感動(^^)
そして発表の内容以外にも、ストーリーの流れや雰囲気作り、話し方等々…勉強になります。

前の席のほうに座ってたのでスクリーンが良く見えたのですが、巻物のスライドになっていてスライドが変わるときに上へくるくると上がっていうと同時に下の巻いてる部分もくるくるまわってました(^^;

言葉だとわかりにくいので絵だとこんな感じ

f:id:kikutaro777:20130723214534j:plain

FXでどんな風に実装してるか…はわからないです(^^;

発表内容はスライドをみてもらうほうがいいので…個人的に「知らんかった」ことを羅列

アロンゾ・チャーチ

大学でLispの授業ちょっとやったときに最初のほうで出てきた記憶がうっすら…でも全然詳しく人物を知らない(^^;

書籍とかは海外のほうが多そうですね。読めないだろうな自分は…。

関数型インタフェース

英語では「Functional Interface」。
SAM Typeの解説と合わせて最初に書いたリンクの解説がわかりやすいかと思います。

ボイラープレート

Lambda関係ないですが、この単語知らなかったです(^^;
カタカナでググると色々出てくる…ので英語で「Boilerplate code」で検索するほうがいいかも、ですね。

英語ですがWikipediaには以下解説がありました。
https://en.wikipedia.org/wiki/Boilerplate_code

最近、新人さんにプログラムの基礎を教える立場にあるのですが、自分が新人のときだったら絶対わからなかったなぁ、というのは以下辺りかなと(今も怪しい部分あるけど…)

無名クラス

匿名クラスとも呼ばれたり。英語だとAnonymous Classes(理由はわからないですが、classではなくclassesと複数形で使われてるのが多いっぽいです)
この辺を知らないとLambdaいうても、って感じっぽいですね;

クロージャ

勉強会などでは普通に知ってる前提で使われますが、少なくとも自分のいる所ではコーディングしてる人でもびみょーんじゃないかなぁとか勝手に思ったり…。

個人的にも怪しいですが、自分なりに理解したときは以下サイトが役に立ちました。
猿でもわかるクロージャ超入門 まとめ
JavaScriptだとブラウザで簡単に触りながら理解を進められるのでいいなぁと。

シンタックスシュガー

糖衣構文とも。用語なので、まあこの辺はさすがに…って所でしょうか。
http://ja.wikipedia.org/wiki/%E7%B3%96%E8%A1%A3%E6%A7%8B%E6%96%87

ファーストクラスオブジェクト

第一級オブジェクトとも。英語ではFirst Class Object。
自分、この辺りは甚だ怪しい…(-_-;

http://ja.wikipedia.org/wiki/%E7%AC%AC%E4%B8%80%E7%B4%9A%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88

ラムダと invokedynamic の蜜月

後半はLambdaがどのような仕組みで動いているか、というとても深いお話でした。

invokedynamic

Javaをやり始めてから、単語として何回か聞いたことあったけれど、何者かは全然理解してませんでした…。発表の中でおさらい、的な解説があってよかったです(^^)

聞いてて、そもそもJRubyとかがなぜ生まれたのか?がすごい気になったので後で調べたいなと。

ブートストラップメソッド

この辺りの単語が出てきてからの解説辺りから自分は orz という感じになってしまいました。精進せねば…。

JSR 335

Project Lambdaの仕様はJCPのJSR 335とのこと。
この辺の呼び方は去年Javaを始めたころはさっぱりでしたね;

JCPとかJSRとか、なんじゃい、ってのは、この辺の記事がわかりやすい感じですかね。
http://news.mynavi.jp/column/jsr/001/index.html

Brian Goetz

話の中で人物名がでるのも1年前は「???」とさっぱりでしたが、1年経って少し慣れました(^^;慣れたのは名前が出ることであって、人物がわかるわけではないです;
ただ、スペックリードだったり、有名な関係者だったり、する方の名前なんだろうな、って雰囲気で感じれるようになりました。

PDFへの直リンクで微妙ですが以下JavaMagazineの記事でLambdaとの関係もわかりそうです。
http://www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-SO12-QandA-Goetz.pdf

JVMLangSummit

JVMを中心にしたサミットがあるみたいです(^^; 個人的にはついていけないですが…
http://openjdk.java.net/projects/mlvm/jvmlangsummit/

まあこんな感じでJavaやり始めてもうすぐ1年になるのですが、まだまだヨチヨチ歩きもままならない感じ(^^;なんともすごい世界だなぁと改めて思ったり。

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ Javaへ
にほんブログ村