タグ

programmingと言語設計に関するsupermomongaのブックマーク (1)

  • len が関数になっている理由 - methaneのブログ

    http://d.hatena.ne.jp/pashango_p/20090702/1246550203 len()がリストのメソッドでないのも同じ理由です。 オブジェクト指向的に考えれば、リストのメソッドであるべきなのに、わざわざビルトイン関数にしたんです。 「オブジェクト指向的に考えれば、リストのメソッドであるべき」って感じで、オブジェクト信者はそれが正義みたいに考えちゃうんだろうね・・・ Pythonは合理主義。「オブジェクト指向的に○○」よりも、一貫した少なくて明確なルールを重視する。 len() が .length() メソッドだったらどうなるか。あるコンテナは .length() の代わりに、 .len() や .size() という名前を使ってしまうかもしれない。「サイズを取るメソッドは.length()」という 暗黙のルールができてしまい、そのルールが頭に入っていない人が一

    len が関数になっている理由 - methaneのブログ
  • 1