2012年8月5日日曜日

Django×Python

http://www.amazon.co.jp/Django%C3%97Python-LL%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AFBOOKS-%E9%9C%B2%E6%9C%A8-%E8%AA%A0/dp/477413760X/(Amazon.co.jp)

こりゃ、きっついわ。という感想。

実際に動作するコードを改良しながらDjangoの様々な機能に触れていく、というコンセプトで書かれていると思った。目次の3章~5章がそれぞれ「Djangoを使ってみる」「Djangoをきちんと使う」「Djangoを使いこなす」だし。


でも、実際に読み進めながら、コードをぽちぽち写経していくと、動かないところが出てくる。

写し間違えかと思って、出版社のサイトからサンプルコードをダウンロードし、自分が写したものと差分を取ってみる。すると、写し間違えではなく、説明されていないコードが大量に出てくる。

確かに「すべてのコードについては説明できません。サンプルコードをダウンロードして読み進めてください」と書いてあった。なるほど、ソースをすべて書籍に掲載するというのは無茶かもしれない。

それではと、すべてサンプルコードにすげ替えて動かしてみたら、それでもエラーが出る。ソースファイルが足りてないとか、そういう類のエラーが。


本文の説明と、サンプルコードが整合していないのだ。それだけでなく、サンプルコードも単体で動かないのだ。

著者が実際にコードを書きすすめていった過程と、本文で説明されている過程が異なっているのではないかと思う。サンプルコードを読んでみると、完成したソースを途中経過の説明に合わせて後からダウングレードさせているかのようなチグハグさがある。構成管理に失敗しているか、あるいは構成管理していないのではないかと思えた。

加えて気になったのが、スタッフの少なさ。著者1名に、編集者1名、あとはデザイン系のスタッフだ。著者の環境とは別にテスト環境を組んでサンプルソースを動かしてみるとか、説明とそれを理解するための前提が前後していないかのチェックとか、そういうことができてそうな雰囲気ではない。


全体が300頁ほどの中で、概要とPythonの説明が50頁。実際にDjangoに取り組むのが100頁。付録のリファレンスが150頁(!)。割と早めに出て来た本だから、あれもこれも詰め込みたくなるのは仕方がないだろうけど…。


あと、著者の説明は平易で文章として読みやすい。一読するとすごくとっつきやすい本に思え、新人ホイホイになっている。潰したい新人に与えたい一冊である。