質問: プログラムを独学で勉強している初心者です(2ヶ月くらい) ちょっとした疑問があり、質問させていただきます。 プログラムのサイトなどには、変数などの名称には英語を使うべきと書かれています。 これはなぜなのでしょうか? はっきり言って、この風習があるために勉強で困っています。 勉強のためにサンプルコードなどを見ていても、英単語が並んでいると、 どれがプログラム特有の命令で、どれがプログラム記述者が自由につけた変数名なのかが わかりにくいのです。 変数は変数であることがはっきりわかったほうが便利だと思うのです。 プログラムに慣れている人にはそんな必要ないのでしょうが... 自分でコードを書く時には、あとから自分でわからなくならないように 変数名には必ず「h_」をつけるようにしています。 h_speed とか h_count とか。 英語にするべき理由と、初心者のうちだけでも変数がわかりやすくするような オススメの記述法などあったら教えていただけると嬉しいです。
回答: 私はもちろん「英語での命名を徹底すべき」と思っているのですが、質問文を読んでいてむしろ「なるほど⋯」と思ってしまいました。 特にここ。 > > どれがプログラム特有の命令で、どれがプログラム記述者が自由につけた変数名なのかがわかりにくいのです。 > > > ここに、価値観の分かれ道があるんだろうと感じました。 多分私は(私を含め、多くの英単語命名者は)、クラスを作ったり関数を作ったりするのは「プログラムを作る」ことであると同時に「言語を拡張している」と考えています。 標準でたくさん便利なクラスが用意されているわけですが、自分がクラスを作ればそれも利用可能なクラスの一つになってより便利なわけですよ。言語環境を拡張していると言えます。 (私が最初に入った言語がBASICだったからというのもあるかもしれません。この言語ではプログラマが新しい命令を関数を作ることは(ごく限定的にしか)できませんでした。その後C言語を知って、標準ライブラリと同列に扱える関数をプログラマが書けると理解したときの感動と言ったら。無限に拡張できる言語じゃないか! と。) プログラミングには、自分のプログラムを作っているという側面と言語環境自体を拡張している側面とがあり、特に後者のことを意識するともとの言語環境と同じような使い勝手、つまり命名規則をできるだけ守りたいという意識が働きます。 それで、英単語での命名に自然となるのです。