こわくないScala

3,831 views
3,761 views

Published on

Scalaはこわくない(たぶん)

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,831
On SlideShare
0
From Embeds
0
Number of Embeds
953
Actions
Shares
0
Downloads
17
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

こわくないScala

  1. 1. こわくないScala  for  Java  programmers     水島 宏太   日本Scalaユーザーズグループ   株式会社ユビレジ  
  2. 2. 自己紹介  •  水島 宏太     –  Twi3er:  @kmizu   –  Github:  h3ps://github.com/kmizu/    •  Scala  Days皆勤賞(2010,  2011,  2012)  -­‐>  どうでもいい  •  好きなもの   •  (プログラミング|形式)言語   •  静的な型システム   •  メタプログラミング   •  Scala  
  3. 3. Scalaは怖い?  •  よくわからないけど怖そうな機能   –  Implicit  conversion(暗黙の型変換)   –  Implicit  parameter  (型クラス)  •  関数型言語とのハイブリッド  •  Scalaz  •  Scalaの人たちが怖い    Scala怖い!  
  4. 4. ちょっと待って  Scalaは怖くない  
  5. 5. Scalaへの誤解  •  関数型の概念を理解する必要がある  •  implicitなんとかを使いこなす必要がある  •  関数型なコードを書かないと叩かれる  •  Scalazという謎のライブラリを普通に使う  
  6. 6. 誤解(1)  関数型の概念を理解す る必要がある  •  もちろん理解した方がいい  •  最初から全て理解する必要はない   –  「タイプ数が少ないJava」になる事を恐れない  •  少しずつ考え方を変えよう   –   第一級の関数の活用   –   ループから再帰、再帰から高階関数へ   –   Scalaの関数型プログラミングのサポートは          Javaプログラマには理解しやすい  
  7. 7. 誤解1についての補足   (第一級の関数を例として)  •  第一級の関数 =  無名クラスのインスタンス   val  f  =  (n:  Int)  =>  n  +  1   f(3)  //  4       val  f:  FuncQon1[Int,  Int]  =  new  FuncQon1[Int,  Int]  {      def  apply(n:  Int):  Int  =  n  +  1   }   f.apply(3)  //  4                      
  8. 8. 誤解1についての補足2  •   val  f:  FuncQon1[Int,  Int]  =  new  FuncQon1[Int,  Int]  {        def  apply(n:  Int):  Int  =  n  +  1   }   f.apply(3)  //  4     FuncQon1<Integer,  Integer>  f  =            new  FuncQon1<Integer,  Integer>()  {          Integer  apply(Integer  n)  {  return  n  +  1;  }       };   f.apply(3);  //4  
  9. 9. 簡単!  
  10. 10. 誤解2  implicitなんとかを使いこ なす必要がある  •  スクラッチから書くときには必要ない   –  もちろん、使いこなせると便利  •  Scalaのコードを読む時は知っていると良い   –  読むときになってから勉強すればいい   –  最初から全てを知ろうとしない  
  11. 11. 誤解3  関数型なコードを書かな いと叩かれる  •  一部にそういう人は居ます  •  多くの人は普通に教えてくれます   –  「教えたがり」な人は意外に多い  •  言葉遣いが端的な人は(普通)怒っていません   –  どうか怯えないで  
  12. 12. 誤解4  Scalazという   難しいライブラリを普通に使う  •  そんなことはありません(キリッ    •  コアなライブラリ作者が使っていたりする   –  使いこなせると便利なので    •  普通のScalaプログラマには必要ありません   –  ここ重要(テストに出ます)  
  13. 13. お勧め書籍  •  Scalaスケーラブルプログラミング第2版     –  通称コップ本(Scala作者たちが著者)   –  Scalaの入門本&関数型プログラミングの入門本   –  分厚いけど、丁寧な解説  •  Scala逆引きレシピ   –  Scalaでしたい事をするときに必要なライブラリ やツールを逆引き形式で知ることができる   –  コップ本とセットでお勧め  
  14. 14. まとめ    Scalaはたぶん怖くない  
  15. 15. 宣伝:  Scala  Conference  in  Japan   2013  •  2013年3月2日(土)    10:00〜18:30    •  会場:東工大 大岡山キャンパス  •  目玉   –   Typesafe社から4名の招待講演者  •  定員:200名  (完売)  •  懇親会はまだ参加可能  •  URL:  h3p://scalaconf.jp/  
  16. 16. 海外からの招待講演者  •  Jonas  Boner     –  Akka作者、Typesafe共同創業者)  •  Joshua  Suereth  (Scalaチーム)   –  『Scala  in  Depth』著者  •  James  Roper  (Play  2コアチーム)  •  Jamie  Allen  (コンサルタント)  

×