ハピタス登録で1,000円分になるURL
恋愛小説「高慢と偏見」Pride and Prejudice
プロジェクト・グーテンベルクのサイトからDLできる。
この恋愛小説の全単語を分析し、頻出単語上位25までを並べるだけのプログラムを、様々なコード文体(たとえばアセンブリ言語的な)で実装する試みをしているのがこの本。
言語はPythonを使うけど、文体(スタイル)が40手法(アセンブリ言語的なのとか)で試してて面白い。
p3(アセンブリ言語のスタイル)での書き出し。
実行。
やってることはつまりコレ
$ cat my40p0_PrideAndPrejudice.txt | mecab | grep 名詞 | awk '{print $1}' | sort | uniq -c | sort
いろいろ文体(スタイル)あって楽しめそう。しばらく書き殴る。
気になった点
P17 チャールズ・ムーアー(コンピュータ界の異端児)、印刷用スタックマシン言語PostScript
P23 配列プログラミング、線形代数、多次元配列、APL設計者ケネス・アイバーソン(1962年)『A Programming Language』、APLワンライナー、タートマスBASIC、1970年統計処理用プログラミングシステムS(Rの前身)、1980年代MATLAB(強力な配列演算サポート)、NumPy、Julia(ベクトル演算をサポート)
P29 循環的参照度(Cyclomatic complexity)、プログラムテキストの複雑さ(特に制御フロー経路の量を測定するための指標)
CC = E - N + 2P(E:エッジの数、N:ノード数、P:出口ノード数)
Flesch ReadingEaseテスト、Flesch-Kincaid grade level テスト(Microsoft Wordの文書校正機能)
P31 Dikstra,E.(1968)Go To statement considered harmful, Communications of the ACM 11(3):ダイクストラのgotoに対する怒りを表した古典的論文
Knuth, D.(1974)Structured programming with go to statements, ACM Computing Surveys. ダイクストラの怒りに対する、数ある反論の中で最も優れたもの
http://www.npl.co.uk/about/history/notable-individuals/turing/ace-proposal