質問: 言葉の由来や、その用語の持つ意味、あるいは語源や使われてきた理由などを知りたいです。 わたしは独学プログラミングなので言語や用語の深いところまで分かりません。 なぜこのような用語が使われているのかとか、業界用語的なものはまったくの無知です。 たまに以下のような用語や作法に出会う事があり、なぜこのように表現するのかとか、業界用語の由来的なものを知りたいと思っています。 もしお分かりになる方は、ぜひともご教示お願い致します。 こういう時によく使うとか、こうなんじゃないかなど推測でも構いません。 ぜひよろしくお願いします。 --- **1. ● hoge(ほげ)foo(ふー)** なぜ 「hoge」 や 「foo」 を使うのでしょうか?これは世界共通で使いますか?もし由来なども分かると嬉しいです --- **2. ● APIを「叩く(たたく)」** 「たたく」とはどういう意味ですか?なぜ「たたく」と表現するのでしょうか? --- **3. ●コミットする** 「コミットする」とは、プログラマーがこの言葉を使う時は、どんな時でしょうか? --- **4. ●古い言語について「大文字」だけ、または「小文字と大文字の混在」** プログラマーの年齢!?によって書き方が違うように思えます。例えば「VALUE、INT、BOOL」など、大文字で書く人、 あるいは「hInst、bRet」など、変数の頭に小文字を使うのはなぜですか? --- **5. ●変数を「短く表現する」** 「Number」→「Num」、「return、result」→「ret」、「function」→「func」 --- **6. ●行間を開けない** たまに古いタイプの言語でコメントとコードの行間をぴったり詰めて書いているのを見かけます。これはなぜですか? 単純に見ずらいとは思うのですが、もしかすると昔はコードが多く詰めて書かざるを得なかったなどがあるのか??知りたいです。 (例) //コメントコメントコメントコメントコメントコメント BOOL InitInstance(HINSTANCE hInst, int nCmdShow) //コメントコメントコメントコメントコメントコメントコメント LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); --- **7. ●エンジニア と プログラマーの違い** 語源からして職能が違うとは思いますが、エンジニアはプログラマーと同義と思っていますがどうでしょうか? 日本と世界とでは違いはありますか?たとえば地位的な差があったとして、どちらかで呼び間違えた場合、失礼になったりしますか? ---
回答: こんにちは。 推測混じりですが回答してみます。 > > 1. ● hoge(ほげ)foo(ふー) > > > メタ構文変数なんて大げさな名前がついてますが、このWikipediaの記事は分かりやすいと思います。 > > 2. ● APIを「叩く(たたく)」 > > > 個人的には「モグラ叩きっぽい」のでなんとなくしっくりきます。 的確に叩かないと点数にならない。(言うことを聞かない。) > > 3. ●コミットする > > > これはそのまんまでは? バージョン管理ソフトやデータベースのコマンドの名前です。「登録する」や「決定する」的なイメージで捉えてますが、もう少し違ったニュアンスも含んでいそうです。あまり深く考えたことは無いですが。 > > 4. ●古い言語について「大文字」だけ、または「小文字と大文字の混在」 > > > マクロの名前は全部大文字にするという習慣は比較的普及している習慣と思います。絶対的と言うわけではないです。COBOLやFORTRANの世界ではまた別かも知れません。離れて久しいので現状は把握していません。 例に上げられた混在はハンガリアン記法です。最近であまり使われませんがが、識別子を見ただけで識別子の重要な特性を判別できるように使えばなかなか良い記法と私は思います。(ハンガリアン記法を使わない人の方が多いです。) > > 5. ●変数を「短く表現する」 > > > タイプが面倒とか、長すぎる識別子はよく無いとかでしょうか。 昔のFORTRANは識別子名は最大6文字でそれ以上付けても判別されない等の制約がありました。(流石に今のFORTRANにそんな制約はないと思いますが。)それを引きずっている人は、つい短くするかも。 > > 6. ●行間を開けない > > > たぶん書いた人の好みかと。 改行を節約するくらいならコメントをそもそも書かないだろうと思います。 > > 7. ●エンジニア と プログラマーの違い > > > 個人的な理解ですが、数学に拒否感を持つ人をエンジニアと呼ぶことには違和感を感じます。でも、数学がからっきしの優秀な職人さんはいくらでもいると思いますし、そのようなプログラマーも少なくないと思います。