なんで Java も JavaScript も String に UTF-16 使うん?

UTF-8 がメジャーだけど、
やっぱりバイト長ころころ変わるのは使いにくいのかな

String#length の現在の仕様でもサロゲートペアの扱いとか使い勝手悪いけど、
そのまま UTF-8 で実装したらさらにカオスか
文字数取得だけでも面倒なアルゴリズムになりそうね