短い ≠ 分かりやすい
なんか誤解している人もいるけど、「短く書ける=わかりやすい」とか「記述が長い=わかりにくい」と言ってるわけじゃないよ。本質的じゃない記述を長々と書いてるのがアホだということと、本質的じゃない記述が長々と書いてあることに何の疑問も持たないのがアホだということだよ。Code golf の話なんか誰もしてないから。入力の手間の話でもないから。>IDE使えばいいよ派
たとえば Java では変数や戻り値の型を指定する必要があるけど、これを省略しろボケなんてこといってないから。これは本質的に必要な記述であって、省略しちゃいけない部分でしょ。たとえばハッシュテーブル使うのに import java.util.Map; import java.util.HashMap; と書かなきゃいけないことは DIS ってないでしょ? これも必要な記述なんだから、別にあっておかしくない。まあ import java.util.{Map,HashMap}; と書ければいいかなとはチラッと思うけど、そこまで要求してないから。
そうじゃなくて、アクセッサの定義がずらずら並んでいることがおかしいんじゃないかってこと。デフォルト引数が指定できないせいで似たようなメソッド定義を何個も書かなきゃいけないことに疑問を持つべきなんじゃないかってこと。たかがファイルの内容を読むだけなのに複数のクラスを使いこなさなきゃいけないことがおかしいんじゃないかってこと。FileReaderに文字コードを指定できないことに誰も言及してないんだけど、それってやっぱり誰も疑問に思ってないってことだよね? 指定できるとなんか問題でもあるの? きっと自分の頭じゃ及びもつかない理由があるんだろうけど、よく知らんから誰か教えてください。
ちなみに、短くしすぎてわかりにくくなっている例は、Ruby 1.9 で導入される Symbol#to_proc の例を見るといい。あるいは、Ruby on Rails の to_param() とかね。「link_to 'Show', :action=>'show', :id=>@item.id」が「link_to 'Show', :action=>'show', :id=>@item」と書けて 3 文字短くなったからって、うれしいか? 最初見たとき、何のことかさっぱりわからんかった。今はさらに「link_to 'Show', @item」と書けるみたいだから、ますます分かりにくくなった。まあ link_to は超頻出するから短くしたい気もわからなくはないけど、分かりやすさという点から見れば失敗だよな。