以前、いっしょに仕事をしていた技術者から聞いて驚いたことがあります。Javaでは、ビット操作を行うときにはいったん文字列を介して行うというのです。私はJava界隈の事情には明るくないのですが、本当にそうなんでしょうか?

その技術者いわく、いったん文字列に変換してから操作して、再び整数に戻す方が「わかりやすい」といいます。また、そのようにしないと現場のリーダーから「𠮟られる」ともいうのです。

私には未知の感覚でしたので、実際に文字列を介したビット操作をいうのを試してみました。

正直、書いている途中でバカバカしくなってきました。本当は算術右シフトも作ろうと思っていたのですが、やる気がなくなったので作っていません。

なぜ、1~2文字の演算子を書くだけで済むものを、こんな面倒なコードで置き換えないといけないのかまったくの謎です。確かに、私はJavaはへたくそですから、もっと効率のよいコードを書けるかもしれません。しかし、どんなに頑張ってチューニングできたとしても、演算子を素直に使う方法にかなうはずがありませんよね。

こんな馬鹿なことをしないといけないのは、その技術者がこれまでたまたま関わってきた職場特有のことなのでしょうか? それとも、Javaを使った開発現場全般にいえることなのでしょうか? もしかして、いわゆる「業務系」の開発現場はこんな感じなのでしょうか?

これは私の想像ですが、もしかするとJava以外のプログラミング言語、たとえば、JavaScriptやPython、Ruby、PHPなんかでも同じようなことがあるのでしょうか?

ちなみにその技術者は、ビット演算やシフト演算を使ったコードのことを「C」と呼んでいました。