2010/11/16 webプログラマのためのscala入門勉強会@渋谷

49
Webプログラマのための Scala 入門勉強会 #2 http://atnd.org/events/9664 twitter: #wpscala, @wpscala

Upload: wpscala

Post on 20-Jun-2015

1.047 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

Webプログラマのための

Scala 入門勉強会 #2

http://atnd.org/events/9664twitter: #wpscala, @wpscala

Page 2: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

自己紹介

実は、私プログラマーではありません。

ちょっと司会を頼まれただけです。

おどおど。。

Page 3: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

自己紹介

• というのは嘘で、一応ちょっと書いてます言語は内緒。※facebookとかで使ってるやつ。

• 社内ベンチャーのような環境で働いてます仕事は全部自分で決めます!

• twitterカンファレンスに行ってきたよ!Scalaの講演見てきたよ

Page 4: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

自己紹介

やりたいこと: ネットワークプログラミング

定年退職後は、湖のほとりの静かなコテージ

で、どーせ誰も使わないNoSQL作って公開するお!でもJava勉強しなきゃ(Cはさらにご勘弁!)せっかく一から勉強するなら、やっぱりScala?

Page 5: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

自己紹介

それとも node.j...あ、いやなんでもないです。。

※ちょっと最近Nodeさんに火照りぎみ。誰か助けて!!

ツイッターは、@chikaram です。

なまえは、「三宅(みやけ)」です。

よろしくお願いします。

Page 6: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

せんせい紹介

• あさいさん: @hito_asa弊社のエースっす

• よしださん: @xuwei_kScalaといえばこの方!?※twitterで「scala」で検索してみてw

Page 7: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

会社紹介

GMOメディアといいます。

以上

Page 8: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

会社紹介

社長: @morimascaras「何? Scala? スイスの教授のアレでしょ?いやーオレそれ来ると思ってたんだよねー」

Page 9: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

会社紹介

っていうのは嘘で。。

「いや、三宅ぇ。ここだけの話し、

ぶっちゃけScalaってどーよ!?」

at 飲みの席

Page 10: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

本日のスケジュール

ソーシャルラーニング?21:00~ (60min)

自己紹介・先生紹介

20:00~ (10min)

Let’s drink up @庄や!!22:00~

休憩

20:50~ (10min)もにょもにょとイロイロお話

20:10~ (40min)

Page 11: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

参加者自己紹介Time!!

簡単にで構いません。

お一人様、10~30秒程度で、サックリめに!※声がマイクに拾われるかもなので、

本名・会社名はチョメチョメでおk。

Page 12: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

ありがとうございました。

Page 13: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

この勉強会の目的・スタイル

ここからちょっと

println("Hello World") 以前の話をします。

Page 14: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

この勉強会の目的・スタイル

さて、困っています。

Page 15: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

この勉強会の目的・スタイル

当社は、外部に公開された勉強会の

経験がありません。

さて、

勉強会ってどうやればいいんだろう。。

Page 16: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

この勉強会の目的・スタイル

とはいえ、だいたいの枠組みは決まっています。

簡単に説明しますので、ツッコミを下さい。

※この勉強会は「みんなで」作っていきます。

(その方が、主催者も楽できるのでw)

Page 17: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

目的

• Scalaの普及?• コミュニティの形成?• 会社の宣伝?• イザと言うときの人材確保w?

Page 18: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

目的

目的はまぁいいや。

楽しくやりましょう。

Page 19: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

コンセプト

ソーシャルラーニング。とか。

(先生がうろちょろしてる自習室)

会社は設備とキッカケの提供だけ。

みたいな。

Page 20: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

コンセプト

継続的にやります!

• 先生が「もうErlangやるお!」って言うまで• 先生が会社に飽きちゃって大工になるまで• Scalaが無くなるまで(まぁこれはないか)• 会社が無くなるまで• なんか全体的に飽きちゃうまで

Page 21: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

コンセプト

基本は初心者向け

常に、Hello Worldな人を受け入れます!!

毎日が第2回(#2)くらいの雰囲気。

以前、某Cass○ndra勉強会第N回に参加したら完全アウェーだった。どの回からでも参加できるし、どの回から抜けても

いいようにしたい。月1とか、3ヶ月ぶりでもOKとか。

Page 22: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

想定される参加者

• JavaやPHPでWebアプリもう飽きたおって人• Ruby自由すぎてついていけないお[型]い人• 関数型・並列こんぴゅーちんぐハァハァな人• 仕事でやらされるから助けて!!って人• まっすぐ家に帰りたくない人• だれかと酒呑みたいだけの人

Page 23: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

参加すればどーなる?

• if文と変数でおみくじスクリプトが書ける!• イカしたMessage Queueサーバーを書いてtwitterに入社できる!

• ここの講師になれる! (無給)

つまりはその人次第。

でも一緒になんか作れたらうれしいね。

Page 24: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

1日をどんな感じでやるの?

• 班に分かれる• 気の合う仲間で群れてもいいかも(Javaの人、

PHPの人、Perl、Ruby、その他ギーク/ニートの人)• 2時間を30分・90分に分ける• 30分: 前回の質問の回答・ちょっとした発表・共有したい疑問・初参加者の自己紹介等

• 90分: ひたすらコーディング・読書・おしゃべり・質問等

Page 25: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

シリーズで分ける?

• 1シリーズ6回・3ヶ月(1四半期)とか?• それともシリーズ区切りなしでイテレート?

どうしましょう?

どちらにしろ、アーカイブを作って、どの回か

らでも自由に参加できるようにしておきます。

Page 26: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

さて、前回の宿題

みんなScalaで何をしたいの?

なぜScalaなの? 何を期待しているの?

を話そう!!

Page 27: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

さて、前回の宿題

貴重なご意見ありがとうございます。

Page 28: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

Scalaの話する?

もし時間があれば。

Page 29: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

Scalaのいいところ• オブジェクト指向: Java, C#, Python• 関数型: Haskell, F#, Ocaml• 統一オブジェクトモデル: Smalltalk, Ruby• 普遍ネスティング: Algol, Simula• 統一アクセス: Eiffel• アクター: Erlang• スケーラビリティ: Lisp, C++いろんな言語のいいどこ取りっぽい。言語オタ万歳!!※『ボクらのScala』より

Page 30: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

Scalaの悪いところ

ゆえに文法が膨大!!

コーディングスタイルの文化や、

ベストプラクティス的なもの、

Convention over Configuration的なものが形成される必要がある?

チーム内で規約が必要

Page 31: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

Scalaのいいところ

JVM言語なのでJavaの資産をそのまま使える。

• Javaのライブラリー使ったり• Androidアプリ作ったり• GAE上で動かしたり• 既存のJavaプロジェクトのとあるクラスをこっそりScala化したり

Page 32: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

Scalaの悪いところ

JVM。なんか面倒。。

Scalaのソフトウェア使うのに、Javaが要るの? Javaって何ぁに?

JDKのインストール。Sunのページ開いて、次へクリックして。。URLをコピって、

んで環境変数設定して。。

Page 33: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

Scalaのいいところちょっぱや

http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php

Page 34: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

時間あまったかな?ちょっとだけ、別の言語の話していいですか?

Page 35: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

node.jsEvented I/O for V8 JavaScript

Page 36: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

これは来ます。

というかもう来てます。

Page 37: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

黒船かも?

Page 38: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

そこのPHPの人「コンパイルいらないし楽なんだよねー」

なんて言ってられません。

そこのJavaの人「スクリプト言語とちがって速ぇーんだよ」

なんて言ってられません。

Page 39: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

JavaScriptでしかも速いんです。

http.createServer(function (req, res) {~~~;

}).listen(80);※Webサーバーだって数行で書けちゃうの図

JBoss NettyもApache Minaもjava.util.concurrentとかそういういかめしいものは要りません。

Page 40: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

「全部コールバックやねん!!」※某lispエンジニアより

rows = database.fetch(category = 'news')

database.fetch(category = 'news', callback)

Page 41: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

問題点

(お前が言うな)

Page 42: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

非同期スパゲッティ

Page 43: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

そこでScala!?

Scalaでは(SmallTalk, Rubyのように)全てがオブジェクト。Actorを利用すれば、オブジェクト指向の考え方、チーム体制、開発手法、

テスト手法のままで並行プログラミングがで

きる!!

できる!? 多分。。

Page 44: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

node.jsでネットワークプログラミングの味をしめたプログラマーが、もっと「何か」を求

めて、Scalaに流れてくる可能性があるかも!?

Page 45: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

以上、適当なことを申し上げてしまいました。

Page 46: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

休憩Time!!

トイレはこちら

Page 47: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

自習Time!!• ほんとうにはじめての人はLet’s get Scalaed!• 先生に質問もOK!• もっと詳しい自己紹介やダベりもOK!!• 読書会をやってもいいお• 黙々とコーディングするのもオシャレ• 分からないことは隣の人に聞いちゃえ!

みたいなユルユルな感じでいいのかな?まぁ、#wpscalaでつぶやいてみて!!

Page 48: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

終了!!

ご参加ありがとうございました。

次回も参加したり、しなかったり、

誰か誘ったり、誘わなかったりしてください!!

まぁ、楽しくやりましょう。

Page 49: 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

懇親会Time!!

Let’s 庄や?