Guide to Scala -Scalaプログラミング入門
を読みました。
http://www.atmarkit.co.jp/fjava/index/index_scala.html
で公開されているもののKindle版の方です。
実行環境としては
OS X 10.9.4 Scala code runner version 2.11.0 -- Copyright 2002-2013, LAMP/EPFL IntelliJ 13.1.3
でやりました。
brew install scala
で2.11が落ちてきましたが、IntelliJのScalaプラグインが想定する構成ではないとかでちょっとハマりましが、 いつものようにstackoverflowに助けてもらいました。感謝。
1-1.本書の対象読者で
Scalaを知っている必要はありませんが、プログラミングおよびオブジェクト指向について、 ある程度の知識があることを前提としています。
とありますがそこまで深い理解はなくても問題はないと思います。 Javaのソースちょっと読めるくらいでも大丈夫なんではないでしょうか。
また、Javaとの大きな違いが出る5章以降はじっくりいったほうがよさそうです。 というかあまり自分の中でも整理しきれていない感じ。
型パラメータの制約で
class Base class Ex1 extends Base class Another class Y[A] { def exec(implicit t:A<:<Base):Unit = println("exec") } val y = new Y[Ex1] y.exec //newだけでは型パラメータの制約はクリアしているのでここまでならエラーではない val y2 = new Y[Another] //制約を満たせない事をやろうとするとコンパイルエラー y2.exec
とか理解甘いうちはScala怖いになってしまう。 implicitもなんかもなんかすごい。 ヤバイ。 Scalaヤバイ。 油断していると型にコロコロされてしまう。
ただこれでScalaのソースはなんとなく雰囲気をつかめる気がします。 なんて軽い気持ちでググってちょっと見たものにボコボコにされました。 Scalaヤバイ。
内容としては丁寧に書かれておりスイスイ読み進められました。 これからScala触ってみたいんだけどいきなり分厚い本相手だと挫けそうなんて人にはいいかもしれません。 Web版なら無料ですし、Kindle版だって100円です。 ただやっぱり深く学んでいくならば相応のモノにアタックする必要はあるでしょう。
そんなわけで欲しいものリストにまた何冊か増えましたとさ。