勉強せねば

id:m-hiyamaさんの「常識」というよりは「理解の基盤」と「説明の方法」というエントリで、プログラマの「常識」として4題ほどの例題が出されていました(ホントはその解をどう説明/表現/説明するかというメタな話題ですけど)。

で、1と4は説明できるような気がするんですが、2と3はどう言えばいいかまったく分からないわけです。2なんかは、よろしくない例という文脈で出てきているのでよくないんだろうなぁ、とは感じつつもピンと来ません。Javaの時もRubyの時も普通にローカル変数をreturnして(た|る)のでなおさら(JavaRuby*1もオブジェクトへの*参照*なのでこの例とは違う、という結論だったらいいんですが)。
そういった「常識」を知っておくべきだというのはすごく同意するだけに、どうやって勉強すればよいのかもどかしい限りです。

ということでプログラマの「常識、理解、説明」の中間報告(になってない)の行く末に注目しつつ、まだまだ勉強をしなきゃなぁと思った次第です。

*1:そういえばRubyでは"=="(の中で呼ばれるString#eql?)で文字列の内容比較String#equal?でオブジェクトへの参照それ自体の比較になりますね