関連サイト
本書の関連ページが用意されています。
内容紹介
複数のプログラミング言語とパラダイムを使いこなせれば、プログラマとしての幅が広がります。本書は、1週間で1つの新しい言語を学ぶ“Seven Languages in Seven Weeks”を、Rubyの作者まつもとゆきひろ氏の監訳で発行するものです。言語の特徴を映画の登場人物になぞらえて、Ruby、Io、Prolog、Scala、Erlang、Clojure、Haskellという個性的な7つの言語を紹介。各言語の特性とそこにあるプログラミングパラダイムを、体験を通してものにしましょう。
書誌情報
- 著者: Bruce A. Tate(著), まつもとゆきひろ(監訳), 田和勝(訳)
- 発行日: 2011-07-21 (紙書籍版発行日: 2011-07-16)
- 最終更新日: 2011-07-21
- バージョン: 1.0.0
- ページ数: 304ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: オーム社
対象読者
ソフトウェア開発者、プログラマ、学生
著者について
Bruce A. Tate
テキサス州オースティンに本拠地を置くRapidRed を経営する.RapidRed はRuby でライトウェイトな開発を行うコンサルティングファーム.過去にIBM でデータベースシステムプログラマやJava プログラマなどとして勤務.その後,ベンチャー企業数社でクライアントソリューション担当部長やCTO などを勤める.米国外での講演も多数.著書は10 冊を超え,From Java to Ruby,Deploying Rails Applications やベストセラーの“Bitter” シリーズ,Beyond Java、ジョルト賞を獲得したBetter、 Faster、 Lighter Java などがある。
まつもとゆきひろ
株式会社ネットワーク応用通信研究所フェロー。その他、肩書多数。Rubyの生みの親。三女一男の父であり、良き夫でもある。性格はふまじめだが、敬虔(?)なキリスト教徒である。温泉好き。鳥取県出身、島根県在住。牡牛座。O型。
田和勝
フリーランス翻訳者.IT 関連書籍.ドキュメントの翻訳を専門に行っている。主な訳書として、『Perl クックブック』『詳説正規表現第2 版』(いずれもオライリージャパン刊)、『プログラミングRuby 1.9 言語編』『同ライブラリ編』(オーム社刊)などがある。兵庫県神戸市出身。
目次
母に捧ぐ
謝辞
序文
第1章 はじめに
- 1.1 本書のねらい
- 1.2 この本で扱う言語
- 1.3 この本を買ってください
- 学ぶ姿勢を身につける
- 移行期のヒントとして
- 1.4 この本を買わないでください
- 単なるシンタックスの説明では終わらない
- インストールガイドではない
- リファレンスマニュアルではない
- 自分の限界に挑戦してみよう
- 1.5 終わりに
第2章 Ruby
- 2.1 簡単な歴史
- まつもとゆきひろ氏(Matz)へのインタビュー
- 2.2 1日目:乳母を探す
- クイックツアー
- 1日目で学んだこと
- セルフスタディ1日目
- 2.3 2日目:空からふわふわ舞い降りる
- 関数の定義
- 配列
- ハッシュ
- コードブロックとyield
- クラスの定義
- Mixinを書く
- モジュール,Enumerable,セット
- 2日目で学んだこと
- セルフスタディ2日目
- 2.4 3日目:真剣な変更
- オープンクラス
- method_missingを使う
- モジュール
- 3日目で学んだこと
- セルフスタディ3日目
- 2.5 Rubyのまとめ
- 長所
- 短所
- 終わりに
第3章 Io
- 3.1 Ioとは
- 3.2 1日目:学校をさぼって,気ままに過ごす
- 手始めに
- オブジェクト,プロトタイプ,継承
- メソッド
- リストとマップ
- true,false,nil,singleton
- Steve Dekorte氏へのインタビュー
- 1日目で学んだこと
- セルフスタディ1日目
- 3.3 2日目:ソーセージキング
- 条件とループ
- 演算子
- メッセージ
- リフレクション
- 2日目で学んだこと
- セルフスタディ2日目
- 3.4 3日目:パレードとその他の奇妙な場所
- ドメイン固有言語
- Ioのmethod_missing
- 並行性
- 3日目で学んだこと
- セルフスタディ3日目
- 3.5 Ioのまとめ
- 長所
- 短所
- 終わりに
第4章 Prolog
- 4.1 Prologについて
- 4.2 1日目:素晴らしいドライバー
- 基本事実
- 基本的な推論と変数
- 穴埋め問題
- ユニフィケーションその1
- Prologの実用例
- 1日目で学んだこと
- セルフスタディ1日目
- 4.3 2日目:Wapner判事まで15分
- 再帰
- リストとタプル
- リストと数値計算
- ルールを両方向に使う
- 2日目で学んだこと
- セルフスタディ2日目
- 4.4 3日目:ラスベガスをぶっとばせ
- 数独を解く
- 8クイーン問題
- 3日目で学んだこと
- セルフスタディ3日目
- 4.5 Prologのまとめ
- 長所
- 短所
- 終わりに
第5章 Scala
- 5.1 Scalaについて
- Javaとの親和性
- 盲目的に忠実というわけではない
- Scalaの開発者Martin Odersky氏へのインタビュー
- 関数型プログラミングと並行性
- 5.2 1日目:丘の上の城
- Scalaの型
- 式と条件
- ループ
- 範囲とタプル
- Scalaのクラス
- クラスの拡張
- 1日目で学んだこと
- セルフスタディ1日目
- 5.3 2日目:藪を刈り込む
- var対val
- コレクション
- コレクションと関数
- 2日目で学んだこと
- セルフスタディ2日目
- 5.4 3日目:快刀乱麻を断つ
- XML
- パターンマッチング
- 並行性
- 並行処理の実例
- 3日目で学んだこと
- セルフスタディ3日目
- 5.5 Scalaのまとめ
- 長所
- 短所
- 終わりに
第6章 Erlang
- 6.1 Erlangについて
- 言語レベルの並行性
- Joe Armstrong博士へのインタビュー
- 6.2 1日目:外見は普通
- はじめよう
- コメント,変数,式
- アトム,リスト,タプル
- パターンマッチング
- 関数
- 1日目で学んだこと
- セルフスタディ1日目
- 6.3 2日目:変身
- 制御構文
- 無名関数
- リストと高階関数
- 高度なリストの概念
- 2日目で学んだこと
- セルフスタディ2日目
- 6.4 3日目:赤い錠剤(The Red Pill)
- 並行性を実現する基本プリミティブ
- 同期メッセージ
- プロセスのリンクによる信頼性の実現
- 3日目で学んだこと
- セルフスタディ3日目
- 6.5 Erlangのまとめ
- 長所
- 短所
- 終わりに
第7章 Clojure
- 7.1 Clojureとは
- Lispについて
- JVM上で動作
- 並行処理に関する改良
- 7.2 1日目:ルークの修行
- 基本的な関数の呼び出し
- 文字列と文字
- ブール値と式
- リスト,マップ,セット,ベクタ
- 関数を定義する
- バインディング
- 無名関数
- Clojureの開発者Rich Hickey氏へのインタビュー
- 1日目で学んだこと
- セルフスタディ1日目
- 7.3 2日目:マスター・ヨーダとフォース
- 再帰:loopとrecur
- シーケンス
- 遅延評価
- defrecordとprotocol
- マクロ
- 2日目で学んだこと
- セルフスタディ2日目
- 7.4 3日目:悪を見逃すな
- 参照とトランザクションメモリ
- アトムを使う
- エージェントを使う
- フューチャ
- 説明しきれなかった点
- 3日目で学んだこと
- セルフスタディ3日目
- 7.5 Clojureのまとめ
- Lispパラドックス
- 長所
- 短所
- 終わりに
第8章 Haskell
- 8.1 Haskellとは
- 8.2 1日目:論理的
- 式とプリミティブ型
- 関数
- タプルとリスト
- リストを作り出す
- Philip Wadler氏へのインタビュー
- 1日目で学んだこと
- セルフスタディ1日目
- 8.3 2日目:スポックの大きな強み
- 高階関数
- 部分適用関数とカリー化
- 遅延評価
- Simon Peyton-Jones氏へのインタビュー
- 2日目で学んだこと
- セルフスタディ2日目
- 8.4 3日目:精神融合
- クラスと型
- モナド
- 3日目で学んだこと
- セルフスタディ3日目
- 8.5 Haskellのまとめ
- 長所
- 短所
- 終わりに
第9章 全体のまとめ
- 9.1 プログラミングモデル
- オブジェクト指向(Ruby,Scala)
- プロトタイプ・プログラミング(Io)
- 制約論理プログラミング(Prolog)
- 関数型プログラミング(Scala,Erlang,Clojure,Haskell)
- 変化するパラダイム
- 9.2 並行性
- 可変状態の管理
- Io,Erlang,Scalaのアクター
- フューチャ
- トランザクションメモリ
- 9.3 プログラムを構成する要素
- リスト内包表記
- モナド
- マッチング
- ユニフィケーション
- 9.4 自分なりの表現を見いだす