SlideShare a Scribd company logo
1 of 27
おすすめしたい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
やりましょう!!

More Related Content

Similar to Recommend scala

ナイーブベイズによる言語判定
ナイーブベイズによる言語判定ナイーブベイズによる言語判定
ナイーブベイズによる言語判定
Shuyo Nakatani
 
グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入
Hisao Soyama
 
Goで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろうGoで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろう
Esehara Shigeo
 
PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)
nishikawa_makoto7
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
Shuyo Nakatani
 
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
Michihito Shigemura
 

Similar to Recommend scala (20)

Wacode5thでのpython講義資料
Wacode5thでのpython講義資料Wacode5thでのpython講義資料
Wacode5thでのpython講義資料
 
“Septeni×Scala”勉強会#1資料_20150219_寺坂
“Septeni×Scala”勉強会#1資料_20150219_寺坂“Septeni×Scala”勉強会#1資料_20150219_寺坂
“Septeni×Scala”勉強会#1資料_20150219_寺坂
 
ナイーブベイズによる言語判定
ナイーブベイズによる言語判定ナイーブベイズによる言語判定
ナイーブベイズによる言語判定
 
Swift Scriptingのすゝめ
Swift ScriptingのすゝめSwift Scriptingのすゝめ
Swift Scriptingのすゝめ
 
音ゲーを作っていたと思ったらいつのまにか言語を作っていた
音ゲーを作っていたと思ったらいつのまにか言語を作っていた音ゲーを作っていたと思ったらいつのまにか言語を作っていた
音ゲーを作っていたと思ったらいつのまにか言語を作っていた
 
こわくないScala
こわくないScalaこわくないScala
こわくないScala
 
Scala is-unscared
Scala is-unscaredScala is-unscared
Scala is-unscared
 
グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入
 
Goで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろうGoで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろう
 
20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか
 
20140822 Swift 勉強会 vol.3 - はぢめての Swift
20140822 Swift 勉強会 vol.3 - はぢめての Swift20140822 Swift 勉強会 vol.3 - はぢめての Swift
20140822 Swift 勉強会 vol.3 - はぢめての Swift
 
PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)
 
簡単!Groovy入門
簡単!Groovy入門簡単!Groovy入門
簡単!Groovy入門
 
iOSエンジニアのためのScala入門
iOSエンジニアのためのScala入門iOSエンジニアのためのScala入門
iOSエンジニアのためのScala入門
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
 
頑張りすぎないScala
頑張りすぎないScala頑張りすぎないScala
頑張りすぎないScala
 
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
 
iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理
 
HiroshimaR5_Intro
HiroshimaR5_IntroHiroshimaR5_Intro
HiroshimaR5_Intro
 

More from Yuto Suzuki

More from Yuto Suzuki (20)

5xx解消への道のり
5xx解消への道のり5xx解消への道のり
5xx解消への道のり
 
MySQLのインデックス入門
MySQLのインデックス入門MySQLのインデックス入門
MySQLのインデックス入門
 
Ad vol.2
Ad vol.2Ad vol.2
Ad vol.2
 
広告勉強会
広告勉強会広告勉強会
広告勉強会
 
Mastering Bitcoin ~network~
Mastering Bitcoin ~network~ Mastering Bitcoin ~network~
Mastering Bitcoin ~network~
 
Aerospike基本のき
Aerospike基本のきAerospike基本のき
Aerospike基本のき
 
いまさらAkkaStream
いまさらAkkaStreamいまさらAkkaStream
いまさらAkkaStream
 
Introduction of View Through Tracking
Introduction of View Through TrackingIntroduction of View Through Tracking
Introduction of View Through Tracking
 
エンジニアのためのマーケティング
エンジニアのためのマーケティングエンジニアのためのマーケティング
エンジニアのためのマーケティング
 
How to Build a Team
How to Build a TeamHow to Build a Team
How to Build a Team
 
プロダクトにおけるScala
プロダクトにおけるScalaプロダクトにおけるScala
プロダクトにおけるScala
 
Do you like scala
Do you like scalaDo you like scala
Do you like scala
 
Re invent
Re inventRe invent
Re invent
 
Slackから始めるChatOps
Slackから始めるChatOpsSlackから始めるChatOps
Slackから始めるChatOps
 
大学の時の研究の話
大学の時の研究の話大学の時の研究の話
大学の時の研究の話
 
F.O.Xを支える技術
F.O.Xを支える技術F.O.Xを支える技術
F.O.Xを支える技術
 
Scala戦士を増やせ
Scala戦士を増やせScala戦士を増やせ
Scala戦士を増やせ
 
スクラムに学ぶ開発の回し方
スクラムに学ぶ開発の回し方スクラムに学ぶ開発の回し方
スクラムに学ぶ開発の回し方
 
Breezeで始めるデータ分析
Breezeで始めるデータ分析Breezeで始めるデータ分析
Breezeで始めるデータ分析
 
進撃のSbt
進撃のSbt進撃のSbt
進撃のSbt
 

Recommend scala