耳にすることも多くなったプログラミング言語Scalaについての入門書。もともとWeb媒体での連載だったものをKDPで出版している。Scalaの一通りの文法と、その特徴について読むことができる。記述はやさしいが、Scala自体がJavaを引き継ぐ形で発展しているものなので、Javaの知識が必要とされる。
Scalaの特徴としては、Javaのように変数の型宣言が特に必要なく型推論をしてくれること。関数をファーストオブジェクトとして取ることができ、カリー化や部分適用、遅延評価もあり関数型プログラミングの特徴を一部備えていること。Javaのインターフェイスを強化して実装そのものも持たせられるトレイトという仕組みを持っている(そこまでやるなら、クラスの多重継承を実現しないのはなぜだろう。インスタンスとそれが所属するクラスという集合論的描像を堅持する必要はなかろう。Javaに基づいていることの限界か。)。型のパラメータ化により、継承やトレイトの設定にかなり細かい条件を設けられること。暗黙の型変換により、かなり柔軟なコーディングができること。
総じて、Javaでコーディングするときにいつもお決まりのように書かなければならない自明事項を、書かなくて済むようにしたように思える(型宣言の不要やトレイト、暗黙の型変換など)。それは逆に、可読性を犠牲にしているように見える。最後に出てくる並列処理で、メッセージのやりとりによる並列処理の仕組みを標準ライブラリで持っているのは面白そうだ。
この本では、なぜScalaで書きたくなるのか、利点はどこにあるのかはあまり分からない。Scalaはスケーラブルな言語だとも言われるが、その点については何も解説はなかった。全体をざっと概観する本。
スポンサーサイト
- https://exphenomenologist.blog.fc2.com/tb.php/596-4ca81d00
トラックバック
コメントの投稿