27
おすすめしたいScala 鈴木 雄登

Recommend scala

Embed Size (px)

Citation preview

Page 1: Recommend scala

おすすめしたいScala鈴木雄登

Page 2: Recommend scala

自己紹介

• 鈴木雄登

• @moc_yuto

• Python歴3年くらい

• Scala歴1年くらい

Page 3: Recommend scala

みなさん何の言語を使っていますか?

Page 4: Recommend scala

みなさん何の言語を使っていますか?

Page 5: Recommend scala

みなさん何の言語を使っていますか?

Page 6: Recommend scala

みなさん何の言語を使っていますか?

Page 7: Recommend scala

みなさん何の言語を使っていますか?

Page 8: Recommend scala

みなさん何の言語を使っていますか?

Page 9: Recommend scala

みなさん何の言語を使っていますか?

Page 10: Recommend scala

みなさん何の言語を使っていますか?

Page 11: Recommend scala

プログラミングパラダイム

• 手続き型言語 → C

• オブジェクト指向 → Smalltalk, Java

• 関数型言語 → CommonLisp, Haskell

Page 12: Recommend scala

中間の言語

• 手続きとオブジェクト指向→C++

• オブジェクト指向+関数型→Scala

Page 13: Recommend scala

中間の言語

• 手続きとオブジェクト指向→C++

• オブジェクト指向+関数型→Scala

Page 14: Recommend scala
Page 15: Recommend scala

Scalaって

• JVMで動く

• 静的型付け

• 型推論

• 関数型概念

Page 16: Recommend scala

Scalaのいいところ

• 実行速度は速い(JVM)

• 型安全なのでドラスティックにリファクタ可能

• 並行処理を楽に書ける

• LLっぽく書ける

Page 17: Recommend scala

Scalaのつらいところ

• コンパイルが遅い

• 学習難易度が高い

Page 18: Recommend scala

マジで重いので高スペックマシンで殴りましょ

レベルを上げて物理で殴れ!

Page 19: Recommend scala

Scalaってどんな感じか雰囲気を知ってみましょう

Page 20: Recommend scala

型推論

Page 21: Recommend scala

関数型概念

Page 22: Recommend scala

並行処理

Page 23: Recommend scala

Javaとの融合

Page 24: Recommend scala

フレームワーク

• PlayFramework:業界スタンダード

• Spray(akka http):API用の薄いフレームワーク

• skinny framework:Rails風の瀬良さんのフレームワーク

• finagle:Twitter社が作ったフレームワーク

Page 25: Recommend scala

DBアクセスライブラリ

• Slick:関数型なORM

• quill:Slickの同期型クエリビルダ

• Anorm:ほぼJDBC

• SkinnyORM:ActiveRecordライクなORM

Page 26: Recommend scala

勉強素材

• Hishidama(http://www.ne.jp/asahi/hishidama/home/tech/scala/)

• ドワンゴ(https://github.com/dwango/scala_text)

• はてな(https://github.com/hatena/Hatena-

Textbook/blob/master/foundation-of-programming-scala.md)

Page 27: Recommend scala

まとめ

みなさんもScala

やりましょう!!