Recommend scala

Preview:

Citation preview

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

自己紹介

• 鈴木雄登

• @moc_yuto

• Python歴3年くらい

• Scala歴1年くらい

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

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

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

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

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

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

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

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

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

• 手続き型言語 → C

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

• 関数型言語 → CommonLisp, Haskell

中間の言語

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

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

中間の言語

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

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

Scalaって

• JVMで動く

• 静的型付け

• 型推論

• 関数型概念

Scalaのいいところ

• 実行速度は速い(JVM)

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

• 並行処理を楽に書ける

• LLっぽく書ける

Scalaのつらいところ

• コンパイルが遅い

• 学習難易度が高い

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

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

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

型推論

関数型概念

並行処理

Javaとの融合

フレームワーク

• PlayFramework:業界スタンダード

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

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

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

DBアクセスライブラリ

• Slick:関数型なORM

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

• Anorm:ほぼJDBC

• SkinnyORM:ActiveRecordライクなORM

勉強素材

• 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)

まとめ

みなさんもScala

やりましょう!!