66. How to find blind spot?
Comparison
History
Experience
Abstraction
Communication
14年9月17日水曜日52
67. Comparison
• 例:複数言語を比較することで気づく
「あれ?Rubyでは0は真なのか?!
Pythonでは偽だよな?!」
「言語によって何が真か異なるのか?」
「他の言語ではどうなってるんだろう?」
「Pythonではどう定義されている?」
object.__nonzero__(self)
Called to implement truth value testing and the built-in operation bool();
14年9月17日水曜日53
68. History
• 例:歴史を追うことで盲点に気づく
「PythonってなんでNew-styleクラスとそうでな
いのの2つあるの?
→歴史を知る
→型とクラスを融合する目的のために
メソッドの名前解決の順序の決め方を
変える必要があったことに気づく
Unifying types and classes in Python 2.2 | Python.org
https://www.python.org/download/releases/2.2.3/descrintro
14年9月17日水曜日54
69. Experience
• 実際に使うことで盲点に気づく
「あれ?1/2は0.5になると思ったが
0になったぞ?」
PEP 238 -- Changing the Division Operator
http://legacy.python.org/dev/peps/pep-0238/
14年9月17日水曜日55