IT翻訳者の疑問

この業界に入って約20年。私の疑問は相変わらず解決しません。

MSDNライブラリ「プロシージャのオーバーロードに関する注意事項」への突っ込み(4回目)

4月8日の日記の続きですが、オーバーロードに関係する案件はもう終わってしまったので、どうでもよくなってきました。
http://msdn2.microsoft.com/ja-JP/library/e18yd02w.aspxを眺めていて思ったのですが、これを翻訳した人は、自分でプログラミングをしたことがないのではないでしょうか。
オーバーロードされたバージョンを使用する場合」という項に

呼び出し元のコードが省略可能な引数を使用するかどうかによって、プロシージャ コード内のロジックが大きく異なる

という記述がありますが、「呼び出し元のコードが省略可能な引数を使用する」とはどういうことか、今ひとつよくわかりません。英語では、

The logic in the procedure code is significantly different depending on whether the calling code supplies an optional argument or not.

となっています。supply an optional argumentとは、「省略可能な引数の値を指定する」ということではないでしょうか。call proc_name()という形式で呼び出された場合とcall proc_name(arg1)という形式で呼び出された場合の処理が大きく異なるのであればオーバーロードされたバージョンを使う、ということです。プログラミングの経験者なら、この場合のsupplyを「使用する」などと訳すことはないと思います。私なら、

省略可能な引数の値が呼び出し元のコードから渡されるかどうかによって、プロシージャ コード内のロジックが大きく異なる

とでも変更します。
IT分野での実務経験がないからIT分野の英日翻訳ができないということはありませんが、こういう、“コンピュータ用語辞典”には載っていない普通の動詞の訳し方で経験の有無が現れてくるような気がします。そういう私も、前職では主にCOBOLerでして、C++などのプログラムは全然組んだことがないので、わかったふりをするのが大変です。

その次の

プロシージャのコードが、呼び出し元のコードが省略可能な引数を使っているかどうかを確認する有効な手段がないこれは、呼び出し元のコードからの提供が期待できない引数に、既定値として使用できる値がない場合などです。

も意味不明ですね…。句点が抜けてしまっているのは校正担当者(いるとすれば)の見落としですが、それはともかくとして2番目の文章は「This is the case, for example, if there is no possible candidate for a default value that the calling code could not be expected to supply.」ですので、「既定値として使用可能な、呼び出し元のコードで絶対に指定しないと思われる値が存在しない」といった意味だと思います。その次の「省略可能なパラメータを使用する場合」の項の箇条書きのところもさらに意味不明ですが、面倒になってきたので突っ込むのはやめます。