successor には「継承者、相続人、後任者」な意味しかないんであろうか

辞書調べてもそれしか載ってないみたいだよね。

あくまでも「辞書による和訳」的な解読をするならば、「success」の意味が「1. 〔望んだことの〕達成、成功、2. 〔富や名声を得る〕立身、出世、3. 上首尾のもの、大当たり、4. 成功者、名声を得た人」+ 「-or」なので、「後に続いて成功した人」という派生での「継承者」という意味になったんであろうと言うことはわかるはわかる。

無論技術文書にもほんとに頻繁に登場する語でもあるし、かなりの日常語であって、「宝石の国」アニメ第9話の英訳にも出てきたりもした(「アンタークチサイトの後任にあたったのは」のとこ)。ので、もちろん意味がわからない、とかって話ではなくて。

こういうシチュエーションでちょっとあれれと思ったわけなのよ:

javascript だよ
 1 function my_bogus_ajax_get(success_callback) {
 2     jQuery.ajax({
 3         url: url,
 4         success: function (data) {
 5             success_callback(data); // ん…これの例外を捕まえたいのだが…
 6         },
 7         error: function (xhr, textStatus, errorThrown) {
 8             // ...
 9         },
10     });
11 }

ワタシが作ってるヤツの単純化したヤツね。success_callback 言うておるけれどこの「success」はあくまでも「HTTP GET でデータを持ってこれた」という意味での成功でしかなくて、success_callback はそれで持ってきたデータを「解析」する、というわけなんだけれど、当然こやつがかなり複雑な処理をするもんで、結構いろんな理由で失敗しやがる。アタシの単純なミス起因も多いけれど、相手が「ただの html」なおかつ「構造化が不十分な全然美しくない扱いにくい扱いにくい html」で、しかも「ときどきほんとに「html として不正」」なんてのもある、という厄介な相手。(具体的には二重引用符を閉じ忘れてるアトリビュートとか。)

ゆえ…:

 1 function my_bogus_ajax_get(success_callback) {
 2     jQuery.ajax({
 3         url: url,
 4         success: function (data) {
 5             try {
 6                 success_callback(data);
 7             } catch (err) {
 8                 // 「成功が失敗したら」…。。。。。。。。
 9             }
10         },
11         error: function (xhr, textStatus, errorThrown) {
12             // ...
13         },
14     });
15 }

何言いたいかわかってきた? そう、この「成功したヤツに対して処理をしたら失敗しちゃったぜ」の名前の話。むむ…。

というわけで「successor ってそういえば「成功時の処理」みたいな意味を包含してたりしないかしら」と思った、って話。そして「そんなことはなかった」という話。

まぁだいたい英語の言い回しに困っているときというのは必ず「日本語ですら既に困っている」のであって、今回のもまさにそう。「成功が失敗」という時点でもう日本語として破綻している。つまり…「日本語の言い回しの方をちゃんと考えれば」たいがいのことは解決する…。

今の場合は単に「成功ハンドラの失敗」なのであった。ゆえ、ワタシのケースの場合は、「success_handler_error」。まぁこれでも今ひとつシックリは来ないんだけれど、「ハンドラ」を挟むだけで随分考えるのはラクにはなった。この規則って結構いつでも成立したりするんだよね。二つの語を結合するだけだと意味不明になるようなものを、間に何か挟むだけで「ちゃんと日本語」「ちゃんと英語」になることって。