はじめに

本資料は、Scala初学者向けの学習テキストです。本資料を読み進めることで、

が主な目的です。

『Scalaスケーラブルプログラミング』は、Scalaの言語設計者であるOderskyさんらにより書かれた解説書で、Scalaの言語機能について詳細に書かれており、Scalaプログラマにとってはバイブルと言える本です。この本は決して読みにくい本ではないのですが、本の分量が多いのと、関数型など他の言語でのプログラミング経験がないとわかりにくい箇所があります。本テキストを通じてScalaに入門することによって、この『コップ本』も読みやすくなるでしょう。

『Scala関数型デザイン&プログラミング』は、Scalaz1コントリビューターであるPaul Chiusanoさん、Rúnar Bjarnasonさんらにより書かれた関数型プログラミングについての本です。あくまで関数型プログラミングの本なのでScalaやScalazについての解説はあまりありません。ただしScalaについての最低限の文法の説明は随時行われています。「本文中で一から自作」というスタンスが徹底されており、型クラスのみならず、List、Stream、Futureなど、Scala標準ライブラリに存在するものまで、一から自作しています。そのため「単にパターンを覚えて使う」のではなく、それぞれの関数型の色々な型クラスやパターンが「なぜそういう仕組になっているのか?」という根本的な考え方が分かるようになっています。細かいScala自体の言語仕様やテクニック、(標準ライブラリと外部のライブラリ含めた)既存の実在するライブラリの使い方は一切説明せず、とにかく「考え方や概念」のみを重点的に説明しているので、この本を読んで身につけた知識は古くなりにくいという点でおすすめできる一冊です。

読者層としては、

  • 大学の情報学部卒相当である
  • 小さなものでも、何かアプリケーションを作ったことがある
  • 趣味でプログラミングを行っている

を仮定しています。上記の指標はあくまで目安であり、大学の情報学部卒でなければ理解できないといったことはありません。ただし、本資料は1つ以上のプログラミング言語でアプリケーションを作れることを前提にしていますので、その点留意ください。

フォーマット

このテキストは下記のフォーマットで提供されています。

フィードバック

  • 誤字・脱字の指摘や修正、および明確な技術的誤りの指摘や修正:
  • それ以外の改善要望や感想:

よろしくお願いいたします。

ライセンス

本文書は、CC BY-NC-SA 3.0

CC-BY-NC-SA

の元で配布されています。ただし、直接の利益を得ることを目的としない研修などに利用することは可能とします。直接の利益というのは、研修自体を実費以上の金額で提供する行為を指します。社内でのScala研修などは一般的に直接の利益を得ることを目的としないので、断りなく使っていただいて構いません。

1. 関数型プログラミングを行うための純粋なデータ構造や、ファンクターやモナドといった型クラスとそのインスタンスを提供するライブラリのこと。

謝辞

本資料は、ドワンゴ社が作成した新卒エンジニア向けのScala研修資料が日本のScalaコミュニティに寄贈されたものです。

results matching ""

    No results matching ""