天領倉敷Scala第0回勉強会に行ってきた
第10回オープンラボ岡山に参加したときに、自己紹介でおすすめの本を紹介する時間があったのだけど、ここで何人かの人がScala関連の本を紹介されていた。Scalaは前職の同僚がScalaいいよーってよく言っていたので、そういうプログラミング言語があることは知っていたのだが、自分で勉強するまでにはいかなかった。その時点では、洋書しかなかったので英語がさっぱりな自分にはハードルが高かったのです。。。
で、それから1年ちょいの間で日本語の書籍もいくつか出版されて徐々に各地で勉強会なんかが開催されていたので、そろそろ自分も触ってみたいなと思っていたところ岡山でもScalaを勉強されている人がいることを知り、興味が高まってきたところに倉敷でScalaの勉強会を立ち上げる方からお誘いがあったので、さっそく参加してきましたー。
以下、ところどころメモったので。
日時:2010/8/28(土) 13:00−16:30
場所:株式会社アイネットScala入門 -西本さん
自己紹介
・Scala+Web Fravorで某所に納品した(瀬戸内国際芸術祭2010豊島)告知
・第1回Scala座 2010/9/4(土) 名古屋
背景
・Javaは仮想マシンで動くプラットフォーム
・近年はjava意外でも利用が可能
・LL(Lightweight Language) -> 動的言語
・Javaに不自由を感じるならJavaと親和性の高い言語を作ればいい
・Groovy(独自)
・JRuby(Ruby互換)
・Scala(独自)
概要
・スイス連邦工科大学が中心に開発
・2003年に登場
・Javaのオブジェクト指向を継承しつつ
・関数型プログラミングの要素を取り入れた
・マルチパラダイム機能・文法
・便利な記法
・メソッド引数のカッコの省略
・リテラル(XMLなど)
・豊富な型宣言
・traitを使ったmixin, Generics
・型の拡張(Implicit Conversions)
・便利な標準ライブラリ
・豊富なコレクション
・関数型プログラミング文化由来
・クロージャAPI
・scala コアライブラリ
・scala.actors Actor(並行処理)
・scala.collection コレクション
・scala.concurrenct コンカレント
・scala.runtime 基本型拡張など
・scala.util 正規表現、Parser Combinator
・scala.xml XML操作設計方針
・パフォーマンス
・Javaとほぼ同じ
・同じくらいの性能、同じくらいのクラスサイズ
・文法
・豊富な文法
・ただし導入は慎重に
・副作用
・変数の値の代入など
・一般的に副作用があるコードにはバグが発生しやすい
・副作用が起きないよう配慮
・文法
・最大入深の変数宣言 val
・再帰呼び出し
・API
・immutableなコレクション
・Streamなど副作用を隠蔽する仕組み
・副作用を書くことも可能
・varを使う
・一般的に副作用を書くコードのほうがハードルが低い
・副作用を伴わないコードのほうが見通しや可読性がいいこともある
・まとめ
・基本はかえない
・Javaの型や記述など
・許容する
・副作用等
・簡素に
・アクセス修飾子のデフォルトはpublic
便利な文法
・代入と型推論
・Tupleリテラル
・Tupleは22個までok
・XMLリテラル
・for式
・1文で書くことができる
・for文ではなくfor式
・パターンマッチング
・C言語でいうSwitch Case文
・クロージャ
・Scalaでは重要
・カリー化動向
・最近2.8がリリース
・デフォルト引数、名前付き引数
・Package object
・break文
・継続(限定的)
・copyメソッド
・コレクションの改良
・scalacの高速化
・ライブラリ・ツール
・事例
・バックエンドをScalaで描いている
・Foursquare
オススメ本
・Scalaスケーラブルプログラミング
講演の資料は、アップしてくださるようなので興味のある方は天領倉敷ScalaのサイトかGoogle groupをチェックしておくといいよー。
勉強会で使用する本はScalaプログラミング入門に決まった。個人的にはScalaスケーラブルプログラミングに決まって欲しかったけど、しょうがないか。
Scalaプログラミング入門、買わなきゃ。。。
で、次回(10/2)までに各自、Scalaプログラミング入門を読み進めて第1回勉強会では2章から進めていくことになる。
勉強会で使用する本
Scalaプログラミング入門 | |
デイビッド・ポラック 大塚庸史 おすすめ平均 評価が分かれるのではないかと… Scalaでアプリケーション/ライブラリ開発を考えている方は是非どうぞ Amazonで詳しく見る by G-Tools |
僕が購入した本
Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala) | |
Martin Odersky Lex Spoon、Bill Venners 羽生田 栄一 おすすめ平均 初心者の入門書としては高度すぎる ポストJavaを求める人向けです Scalaのバイブルたる本です。 すべて道がscalaに通じていた Amazonで詳しく見る by G-Tools |