浮気と本気
ざっと本に目を通した時点での感想。
おそらくこれに尽きる。
ちょっと試してみるかー、程度の心構えでScalaに手を出しても使いこなせないと思う。もちろん簡単な物は簡単に作れそうなんだけども、同等の物を他の言語(例えばGolang)だったらもっと簡単に書けそうな気がする。大規模開発とかになると話は違ってくるだろうけども。
独学でやる以上、誰にも教えてもらう事は出来ないので、やはり勉強コストというのはとても気になる。現時点の認識だと、Scalaをやるにはある程度のJavaの経験が必須だと思うし、GUIアプリとなるとそれプラスGUIツールキットの勉強も必要になる。であれば、Golangを勉強したほうがいいと思う。Golangの方が覚えることが圧倒的に少なくて済む。
ただ、Scalaみたいにオブジェクト指向型+関数型言語のハイブリッドという構成は魅力的に思える。Haskellでモナドを駆使してプログラムを書くよりはScalaの方が生産性で勝ると思うし、今後同様の言語形態の別言語が出てくるかもしれない。いや、もうあるのかもしれない。知らないだけで。
そんな訳で、軽く浮気程度の意気込みで手を出す言語じゃないので、Scalaに手を出すのは保留する事にした。Java勉強してScala勉強してSwing勉強するよりは、Golang勉強してqtとかgtk勉強したほうが効率が良さそう。もちろんそれはそれで勉強コストが高いのだけども、恐らくGolangの方は書いてて楽しそうなので、そこまで苦にならない気がする。
でも、何もやること無くなったら本気で手を出してみるのもいいかもなぁ。今は他にやることあるのでそっち優先って事で。