Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Do you like scala

1,090 views

Published on

Scalaを毛嫌いする人に対して歩み寄るためのお話

Published in: Engineering
  • Be the first to comment

Do you like scala

  1. 1. DO YOU LIKE SCALA? CYBERZ INC. YUTO SUZUKI
  2. 2. 自己紹介 鈴木 雄登 @moc_yuto 技術戦略室
  3. 3. Scala好きですか?
  4. 4. Scala やってみたいですか?
  5. 5. Scalaを遠ざける理由って なんだろう・・・?
  6. 6. 聞いてみました。 Scalaを遠ざける理由 コンパイルが遅い そもそもコンパイル言語が嫌い?? 関数型に慣れない sbtがわからない
  7. 7. コンパイル遅い
  8. 8. コンパイル問題 確かにコンパイルは遅い。 スペックが高いMacで殴ってもなんだかんだかか る。 実測してみます。
  9. 9. 計測結果 調査マシン:MacBookPro Retina Mid2015 2.8GHz Corei7 API (570 Scala sources) WEBサーバ (269 file sources) どちらもフルビルドです。 差分コンパイルなら、 2~3s* * ファイル数にもよりますが。
  10. 10. APIは確かに遅い あるライブラリを使ってしまっているのが原因。
  11. 11. じゃあ小規模PJだと? another API (20 Scala soureces) まあ許容できる?
  12. 12. そもそもコンパイルが嫌 ? コンパイルは人類の資産!! こんなことは 無くなります! もちろん、PJの規模に依ります
  13. 13. 関数型怖い
  14. 14. 関数型ってそもそも? 副作用を起こさないようにプログラムする 副作用って? 副作用あり 副作用なし
  15. 15. イミュータブル 副作用を起こさせない仕組み その1 定義した変数を書き換えさせない イミュータブルな変数 これの結果は? 一見、副作用の 無さそうな関数 参照渡し、 破壊的メソッド による弊害
  16. 16. ループ式でイミュータブ ル 配列の値に3を足す関数を作ってください ループでは 変数を書き換えがち
  17. 17. Scalaで書くと
  18. 18. どうやって作る? エンジニアの人のIDを返したい
  19. 19. Scalaで書くと オブジェクトの 型の定義 エンジニアの人だけで絞込み IDだけに変換
  20. 20. しっかり分離する 書こうと思えば、こうも書けてしまう。
  21. 21. 実際のソースを比較 実プロダクトで比較してみよう!
  22. 22. ロジックに集中できる for文の制御を意識する必要がない
  23. 23. 話したいことは まだまだありますが・・。
  24. 24. まとめ コンパイルは重いライブラリを入れなければ、 許容範囲 コンパイルはエラーを検知してくれる 関数型のそもそもの意義を確認 ロジックに集中するための道具
  25. 25. Scala触ってみませんか?
  26. 26. We are hiring!

×