長い間プログラミングをやってきて、しかもプログラミングの本をたくさん作ってくると、いろんな言葉が当たり前になってきます。でもよくよく考えると、これってどうなの?っていうのがありませんか?
今回は、そんなことを思いつきで。まずは「宣言」とか。
宣言。意味はこうです。
せん‐げん【宣言】
〘名・他サ変〙個人・団体などが意見・意思・方針などを外部に表明すること。また、そのことば。
「議長が開会を━する」「人権[安全]━」明鏡国語辞典 第二版 (C) Taishukan, 2011
外部に表明する、って箇所が重要なようです。
英語だとdeclaration。言っちゃえば、「○○を使うことを宣言する!」ということですね。○○は「変数」とか「配列」とか。こいつらもすごい言葉だな〜。
でも、この場合の相手は誰なんでしょう。「交際宣言」という言葉にわかるように、宣言というと特定あるいは不特定多数の人々に対して行われる、というイメージが強いです。
プログラミングの場合、宣言の相手はコンパイラかしら?と思ってしまいます。でも相手がコンパイラなら、「宣言」ではなく「通告(notice)」すればよいのではないか?と思うのです。何も多数に向けて「宣言」する必要はないと思うのです。
ですが!プログラムは自分だけが読んだり触ったりするものではないとなったときに、「宣言」には意味があると思うのです。「いいか、お前ら、俺はここで変数Xを使うことを宣言するぜ。」というわけです。そうです、相手はコンパイラだけではなく、多数のプログラマーなども含むのです。
と、そこまで読んで、「宣言」という文言の妥当性に行き着きました。「通告」というと、なんだか反発もしたくなる(俺はそんなの認めないぜ!)ものですが、「宣言」というと「おおお、ついに言ったか、俺は支持するぜ。」みたいなノリになるから不思議です。
「宣言」は「declaration」を訳して日本では使われるようになったのでしょうが、最初にdeclarationという言葉で変数などの使用を表した人は、やっぱりセンスが只者ではないと思うのです。いったい誰なのかは存じませんが、これからはそんな背景まで思い浮かべつつ、言葉を使っていきたいものです(マジ)。