Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回

1,340 views

Published on

2014/02/08(土) Scala関西ビギナーズ 第3回にて発表。

Scala関西ビギナーズWiki
https://github.com/SAMMY7th/scala_kb/wiki

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

No Downloads
Views
Total views
1,340
On SlideShare
0
From Embeds
0
Number of Embeds
188
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回

  1. 1. Scala再入門 by Abe Asami
  2. 2. 自己紹介 Abe Asami きの子 (フリーエンジニア) http://nocono.net/ Twitter: @aa7th 使用言語:Java、C#
  3. 3. 本セッションのテーマ • Scalaに関する、最初に知っておいた方 がよさそうな情報をまとめてみました • • 今回準備時間が少なかったので過去ス これまでの内容と被る部分もあります ライドを再利用(ry
  4. 4. Scalaとは • JVM上で動く言語 オブジェクト指向であり関数型 • • 静的型付け、型推論
  5. 5. 関数型言語(functional language)とは • 関数(function)を値(literal)として 扱う言語 • 「副作用」を極力避ける (Immutable) → 変数ではなく定数を使う
  6. 6. 関数型については こちらもどうぞ http://slidesha.re/1dwkDY0
  7. 7. メリットその1 コードが短い
  8. 8. 例(Sum関数) Java public class Sum { public static void main(String[] args) { int start = Integer.parseInt(args[0]); int end = Integer.parseInt(args[1]); int sum = 0; for (int num = start; num <= end; num++) sum += num; Scala object Sum { def main(args: Array[String]) { println((start to end).foldLeft(0)((x, y) => x + y)) } } System.out.println(sum); } } Javaの1/2〜1/3のコード量
  9. 9. メリットその2 Javaのライブラリ利用可能
  10. 10. メリットその3 並行処理に強い
  11. 11. アクターシステム • メッセージをやりとりする メールのようなイメージ • • Scala2.10でAkkaが統合された
  12. 12. デメリット • コンパイルが遅い エンジニアが少ない • • 関数型についての学習コストが高い
  13. 13. インストール • • Homebrew (brew install scala) svm (Scalaバージョン管理ツール) • https://github.com/yuroyoro/svm 公式サイトからダウンロード
  14. 14. 開発環境(IDEなど) • IntelliJ IDEA Scala IDE for Eclipse • • Sublime Text2 REPLで1行ずつ実行することも可能 •
  15. 15. フレームワーク • Play Framework2.x Scalatra • • Skinny Framework ...etc
  16. 16. DBライブラリ • • Slick ScalaActiveRecord • • Squeryl Salat • ScalikeJDBC ...etc
  17. 17. 勉強に役立つ本 • Scalaスケーラブルプログラミング (通称:コップ本) • Scala逆引きレシピ(翔泳社)

×