Rubyに鞍替えすればいいじゃん?!という話なんだけど、Pythonのスタイルとかツールとかを気に入っちゃってるし、Rubyを使ってみてもいまいち好きになれなかったので、鞍替えはしない。
Rubyの書籍って、方法論とか実践系の書籍があるからいいよね。
例えば、Rubyには、リファクタリングに焦点を併せた書籍がある。リファクタリングの概念もわかるし、Pythonの書き方もわかる。だけど、いざ、自分のコードのリファクタリングをしようっていうときに、どこをどう直して良いかわからないのだよね・・・。こういうの、Pythonにも欲しいよね。Rubyって羨ましいよなぁ。
ピアソン桐原
売り上げランキング: 253,729
Rubyには、デザインパターンに焦点を当てた書籍もある。デザインパターンといえばGoF(wikipedia:ギャング・オブ・フォー_(情報工学))が有名だけれども、あれってC++とかJavaを使っている前提のデザインパターンだから、言語によってはそんなデザインパターンいらねぇよという話になる場合がある。なので、言語に特化したデザインパターンの書籍ってあると便利。Pythonにもこういうのが欲しいよね。Rubyって羨ましいよなぁ。
Rubyって羨ましいよなぁと、そんなときに思う。
更新1
- Singletonパターン
- Adapterパターン
- Proxyパターン
- Facadeパターン
- Observerパターン
- Visitorパターン
- Templateパターン
著者曰く、
Pythonにおいて特に有益なパターンや、話題として興味深いパターンをいくつか取り上げます。
らしいです。
逆に言えば、他はあんまり有益じゃない、興味深くないということになりましょうかね。
デザインパターンは、
一部のデザインパターンは、プログラミング言語(例: Java, C++)の機能の欠損の印であると主張されることがある。計算機科学者のピーター・ノーヴィグは、GoFによるデザインパターン本の23パターンのうち16パターンは、言語によるサポートによって単純化または除去できることをLispやDylanを用いて実演した。
などと批判されることもある。Pythonでは不要なデザインパターンももちろんあるだろう。
Pythonのクックブックや、プラクティスや、実アプリのソースコードを見て、演繹的にデザインパターン*1にするにもいいけど、JavaとかRubyで出ているようなデザインパターンの書籍みたいなものが、Pythonにも欲しいですねぇ。
なんで、Pythonにはそういう書籍が無いの?その理由は、
- コミュニティの規模が小さい
- デザインパターンをそれほど重要視していない
- 書籍のニーズが少ない
などいろいろ考えられる。
id:doloopwhileさんの、
http://d.hatena.ne.jp/doloopwhile/20110207/1297068455
は大いに参考になりました。
*1:上手い書き方程度にしかならないかも。