『プログラミング文体練習』
https://gyazo.com/2c9a70734654f9a7dc25a405f3bacc3f
2023/6/14
レーモン・クノーの『文体練習』から着想を得て執筆された本書は、1つの課題を異なるプログラミングスタイルで実装し、さまざまなスタイルの特性やスタイルが生まれた歴史的経緯などを解説します。本家の『文体練習』は、「バスの中で起きた諍いと、その張本人を後で目撃した」という内容を、公的文書風、宣伝風、業界用語風など、99の異なる文体で表現したものですが、 本書は、「単語の出現頻度をカウントして多いものから出力する」という課題を、40のスタイルで実装しています。リソース制約が大きかった時代の方法から、オブジェクト指向、純粋関数型、リフレクション、並行処理、ニューラルネットワークまで幅広いスタイルを扱い、マルチパラダイム言語Pythonの威力と魅力を感じられる構成となっています。
たぶん読まんけどコンセプトは好きmrsekut.icon
訳者まえがき
第2版 まえがき
第1版 まえがき
序章
第Ⅰ部 歴史的スタイル
1章 古き良き時代:アセンブリ言語
2章 Forthで行こう:スタックマシン
3章 配列プログラミング:ベクトル演算
第Ⅱ部 基本スタイル
4章 一枚岩:モノリス
5章 クックブック:構造化プログラミング
6章 パイプライン:関数型プログラミング
7章 コードゴルフ:ワンライナー
第Ⅲ部 関数合成
8章 合わせ鏡:再帰
9章 継続:継続渡し
10章 単子:モナド
第Ⅳ部 オブジェクトとオブジェクトの相互作用
11章 モノのプログラム:オブジェクト
12章 レターボックス:メッセージパッシング
13章 閉写像:プロトタイプ
14章 抽象的なモノ:抽象データ型
15章 ハリウッド:制御の反転
16章 掲示板:pub/sub
第Ⅴ部 リフレクションとメタプログラミング
17章 内省性:イントロスペクション
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章 リカレント:回帰型ニューラルネットワーク
索引