読者です 読者をやめる 読者になる 読者になる

kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

『オープンソース徹底活用 Scala実践プログラミング』が6/16(木)に出版されます

先日、@yuroyoroさんや私がTwitterで宣伝していたので、知っておられる方も居られるかもしれませんが、6/16(木)に秀和システムさんから『オープンソース徹底活用 Scala実践プログラミング』という本が出版されます。

著者は、

の5名です。この本のウリは何と言っても、他のScala入門本ではあまりかかれていない話題を多数取り扱っている事です。本書で取り扱っているトピックには、たとえば、

  • Scalaのチュートリアル(+よく使われる機能の紹介)
  • 実プロジェクトにおけるScalaの導入事例の紹介(!)
    • プロジェクトの規模
    • コーディング規約
    • 利用したツール

    など
  • Lift、Playの2大?Scala Web Application Frameworkの導入方法
  • sbt,Maven,ScalaTestなどの、よく使うツールの使い方
  • Scalaにおけるデザインパターン
    • Loanパターン
    • Cakeパターン
    • Generalized Type Constraints
    • Phantom Types
    • 型安全なBuilderパターン
    など
  • Java <-> Scalaの連携
    • ScalaからJavaのクラスを利用するときの注意点
    • JavaからScalaのクラス/トレイトを利用するときの注意点
    • Scalaのメソッド名のname mangling規則
    • Java <-> Scalaのコレクションの相互変換
  • など
  • Scalaと他言語の比較
  • JavaからScalaのクラス/トレイトを利用するときの注意点
    • Scalaのメソッド名のname mangling規則
    • Java <-> Scalaのコレクションの相互変換
    など
  • 関数型プログラミングの基本
    • 副作用と別名付けによる弊害
    • 再帰の基本
    • 高階関数の基本
    • 副作用は本当に悪なのか?
    など
  • 限定継続(!)
    • JavaCo(仮)(!= Javaco)で学ぶファーストクラスの継続
    • Scalaの限定継続(shift/reset)の基本
    • Scalaの限定継続を応用したライブラリ
    • Scalaの限定継続の型システム

などがあります。なお、上記のタイトルは、あくまで自分が勝手に内容を要約しただけで、実際の書籍におけるタイトルとは違いますので、ご了承ください。

この本のまえがきにも書きましたが、正直に言って、この書籍はあまり初心者向きではありません。しかし、Scalaを実用で使うことを検討している人、あるいは、Scalaラブな人にとっては魅力的な本に仕上がったと思います。

ちなみに、限定継続については、半分私がねじこんだようなものですが、Scalaの限定継続の型システムを調べるのはなかなか骨が折れました。というのも、Scalaの限定継続の使い方についての話はいくつもあれど、型システムについて書かれた文献が論文以外に皆無に近い状態だったのです。というわけで、Scalaの限定継続についての論文を参照しながら書いたりしていました。

他にも色々書きたいことがあるのですが、とりあえず今日はこの辺りで。