見出し画像

Binding, Assignment & Substitution

はじめに

「英語の語源で身につく技術用語」で最初に A から始まる用語を取り上げましたが、B から始まる用語同士で紛らわしものが思いつかなかったので、B で始まる用語として binding を取り上げ、それに関連する用語として assignment と substitution と比較しながら考察していきたいと思います。


Binding

「束縛」と訳されることが定番ですが、イメージとしては変数を特定の値に結び付けることになろうかと思います。

古英語 (Old English, OE)

Binding の元となった動詞 bind は、古英語の bindan (to fasten = 留めること・結び付けること・閉めることなど) に由来しています。形も比較的保たれていますね。そしてドイツ語の binden ともそっくりですね。学生時代に習ったことはほどんど忘れてしまいましたが、なぜか binden - band - gebunden はいまだに覚えています。それだけ記憶にも「結び付く」単語なのでしょう(汗)。
ちなみに古英語の活用は bindan (inf.) - band (pret.) - bundon (pret. pl.) - bunden (p.p.) とやはりドイツ語と似ていますね。こういうのを見ていると、古英語とドイツ語とを並行して学びたいと思えてきます(学ぶとは言っていない)。

ゲルマン祖語 (Germanic, Gmc)

古英語がドイツ語とそっくりだったことでも推察されたように、bindan はゲルマン祖語の *bendan に遡ります。再建された形もそんなに違いがありませんね。
話はそれますが、bendan を見ると中国語の 笨蛋 (バカ) に見えてしまって、関係ないものを「結び付け」てしまうバカになってしまいます(しつこい)。

印欧祖語 (Indo-European, IE)

そして、ゲルマン祖語からさらに印欧祖語に遡ると *bhendh- が再建されているようですが、意味は to bind とのことで、ずっと変わっていないようですね。ということで、binding のイメージも結び付けでブレることはなさそうです。

Assignment

変数への「代入」として訳される用語ですが、binding が変数と値とが固定的に紐づけられているに対して、assignment は値を持っていない変数に対して値を「割り当てる」イメージでしょうか。

中英語 (Middle English, ME)

Assignment の元となった動詞 assign は、中英語の assigne(n), as(s)ine(n) に由来しています。Bind 同様、こちらも形は比較的保たれていますね。

アングロフランス語 (Anglo-French, AF) - 古フランス語 (Old French, OF)

Author でも出て来た AF ですが、ここにも出て来ました。KDEE では AF & OF とあるので、どちらとも取れるようですが、as(s)igner, assener に由来するとのこと。

ラテン語 (Latin, L)

さらにラテン語の assignāre に遡ることができるようで、意味は to mark out, appoint to とありますので、区切る・(境界を)決める・選定/選任する・備え付けることなどになるようです。どの変数にどの値を入れるかを選んで決めるイメージでしょうか。

Substitution

こちらも「代入」と訳されることもあって、assignment と混同しそうですが、「置換」と訳されることもあり、このほうが assignment との違いが浮かび上がりそうです。さて、語源で違いをうまく説明できるでしょうか。

中英語 (Middle English, ME)

Substitution の動詞形 substitute は、substitute(n) に由来しますが、見た目はほとんど変わっていませんね。ただ、ここで bind や assign のように「元となった動詞」と言わなかったのは、実は substitue が substitution からの逆成であるという説もあるからです。ややこしい。
この先はいったん substitue の語源を遡ってみます。

ラテン語 (Latin, L)

Substitute(n) は substitūtus (p.p.) に由来し、これは substituere (to put in place of) が元になっています。この substituere もさらに sub- + statuere (to set up) に分解できます。Etymonline によると statuere は印欧祖語の語根 *sta- (to stand, make or be firm) に由来するようですが、KDEE では言及されていませんでした。そこまで遡ってしまうと反って語義がボケそうですが、ラテン語の語義からすると、単に代入するというよりは、すでにあるものを置き換えるイメージのほうが強そうです。

まとめ

以上から、以下のようにイメージするとわかりやすいのではないかと思いました:

  • binding: 変数に値を結び付ける(そして、その結び付きは強く、その後変更できない)

  • assignment: 未設定の変数に値を設定する(ただし、initialization = 初期化 とは必ずしも同義ではないという点はどこかで触れたほうがよいかも;変数宣言時点では初期化せずに、その後の代入で値を設定することができるため)

  • substitution: 設定済の変数の値を置き換える

この記事における参考文献・サイト

#英語 #English #フランス語 #French #ラテン語 #Latin #ギリシア語 #Greek #語源 #Etymology #技術用語 #TechnicalTerm #英語史 #HistoryOfEnglish #hel #hel活 #綴字変化


この記事が参加している募集

新生活をたのしく

この記事が気に入ったらサポートをしてみませんか?