レーモン・クノーの『文体練習』から着想を得て執筆された本書は、1つの課題を異なるプログラミングスタイルで実装し、さまざまなスタイルの特性やスタイルが生まれた歴史的経緯などを解説します。本家の『文体練習』は、「バスの中で起きた諍いと、その張本人を後で目撃した」という内容を、公的文書風、宣伝風、業界用語風など、99の異なる文体で表現したものですが、本書は、「単語の出現頻度をカウントして多いものから出力する」という課題を、40のスタイルで実装しています。リソース制約が大きかった時代の方法から、オブジェクト指向、純粋関数型、リフレクション、並行処理、ニューラルネットワークまで幅広いスタイルを扱い、マルチパラダイム言語Pythonの威力と魅力を感じられる構成となっています。
プログラミング文体練習
―Pythonで学ぶ40のプログラミングスタイル
Cristina Videira Lopes 著、菊池 彰 訳
- TOPICS
- Programming , Python
- 発行年月日
- 2023年06月
- PRINT LENGTH
- 316
- ISBN
- 978-4-8144-0022-5
- 原書
- Exercises in Programming Style, 2nd Edition
- FORMAT
- Print PDF EPUB
目次
訳者まえがき 第2版 まえがき 第1版 まえがき 序章 第Ⅰ部 歴史的スタイル 1章 古き良き時代:アセンブリ言語 2章 Forthで行こう:スタックマシン 3章 配列プログラミング:ベクトル演算 第Ⅱ部 基本スタイル 4章 一枚岩:モノリス 5章 クックブック:構造化プログラミング 6章 パイプライン:関数型プログラミング 7章 コードゴルフ:ワンライナー 第Ⅲ部 関数合成 8章 合わせ鏡:再帰 9章 継続:継続渡し 10章 単子:モナド 第Ⅳ部 オブジェクトとオブジェクトの相互作用 11章 モノのプログラム:オブジェクト 12章 レターボックス:メッセージパッシング 13章 閉写像:プロトタイプ 14章 抽象的なモノ:抽象データ型 15章 ハリウッド:制御の反転 16章 掲示板:pub/sub 第Ⅴ部 リフレクションとメタプログラミング 17章 内省性:イントロスペクション 18章 自己反映性:リフレクション 19章 横断的関心:アスペクト指向 20章 プラグイン:依存性注入 第Ⅵ部 異常事態 21章 構成主義:防御的プログラミング 22章 癇癪持ち:契約による設計 23章 受動的攻撃:例外 24章 意図の宣言:型注釈 25章 検疫:純粋関数と不純関数 第Ⅶ部 データ中心 26章 データベース:SQL 27章 スプレッドシート:リアクティブプログラミング 28章 データストリーム:ジェネレータ 第Ⅷ部 並行性 29章 アクター:スレッド 30章 データ空間:並列処理 31章 マップリデュース:MapReduce 32章 二重マップリデュース:Hadoop 第Ⅸ部 対話性 33章 三位一体:MVC 34章 レストフル:ステートレス 第Ⅹ部 ニューラルネットワーク 35章 浅いDense層のプログラム:ニューラルネットワーク 36章 学習する浅いDense層:学習 37章 蝶ネクタイ:多層ネットワーク 38章 ニューロモノリス:シーケンス 39章 スライディングウィンドウ:畳み込み 40章 リカレント:回帰型ニューラルネットワーク 索引