ここで三項演算子の話題が出ていて(PHPがなぜ本物のプログラマに嫌われるのかその一旦を理解した)、いつも感じることを思い出したのだが、なぜnull置換の二項条件演算子ってないんだろうか。
RDB系だとOracleのNVLとかSQL ServerのISNULLなどがあるが、C系の言語にはないので、
(a != null) ? a : "default";
などと書かなければならない。JavaScriptなどLL系なら、
a || "default";
と書けるからそんな二項演算子はいらないというのはわからなくはない。むしろJavaの||演算子がObject型をとれないことが問題なのかも。