言葉の由来や、その用語の持つ意味、あるいは語源や使われてきた理由などを知りたいです。
わたしは独学プログラミングなので言語や用語の深いところまで分かりません。
なぜこのような用語が使われているのかとか、業界用語的なものはまったくの無知です。
たまに以下のような用語や作法に出会う事があり、なぜこのように表現するのかとか、業界用語の由来的なものを知りたいと思っています。
もしお分かりになる方は、ぜひともご教示お願い致します。
こういう時によく使うとか、こうなんじゃないかなど推測でも構いません。
ぜひよろしくお願いします。
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.
●エンジニア と プログラマーの違い
語源からして職能が違うとは思いますが、エンジニアはプログラマーと同義と思っていますがどうでしょうか?
日本と世界とでは違いはありますか?たとえば地位的な差があったとして、どちらかで呼び間違えた場合、失礼になったりしますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答10件
0
ベストアンサー
1. ● hoge(ほげ)foo(ふー)
これらは「ちょっと動作を試すときに適当な名前の変数を付けるのに考える時間が無駄」という思想から、とりあえず使う「太郎」「次郎」「三郎」くらいのニュアンスのものです。日本では「hoge」「fuga」「piyo」、海外では「foo」「bar」「baz」と続くのが一般的です。piyoやbazより先は私は聞いたことないです。hogeが通じるのは日本だけでしょうきっと。
2. ● APIを「叩く(たたく)」
APIに限らず「コマンドを叩く」とか表現しますね。多分気合を入れてEnterキーを叩く様子ではないでしょうか。正しい由来は知りません。
カチャカチャカチャ…ッターン!
3. ●コミットする
エンジニア界隈ではコミットすると言うと「バージョン管理ツールに作業内容を突っ込む」こととほぼイコールです。SVNやgitについて調べるとわかると思います。別にダイエットすることではないです。
4. ●古い言語について「大文字」だけ、または「小文字と大文字の混在」
古い言語と指されているのが何かはわかりませんが、たしかにCOBOLとかBASICは基本大文字だった気がします。古い言語については詳しくないので、ここでは昨今での大文字オンリーの書き方、小文字大文字の混在について説明します。
全部大文字で書くのは「不変のもの」、小文字大文字混じりで書くのは「動的なもの」という、プログラマの中に伝わる暗黙のルールのような「コーディング規約」と呼ばれるものがあります。言語的に縛られているものではないですが、「見る人が区別しやすいように」そのようになっています。もちろんその限りでないこともありますが、たいていの場合このように使い分けられているものと思ってください。ちなみにhInstとかbRetというパターンは「プレフィクス」と呼ばれ、hやbは「変数の型」を表しています(hInstはインスタンスハンドル型、bRetはBoolean型)。
5. ●変数を「短く表現する」
これは主義主張が対立しているものですね。短く書くほうがタイプ量が少なくて済む!と主張する人と、長く書いたほうが意味が確実に相手に伝わる!と主張している人は長らく戦争状態です。私は長く書く派で、タイプ量なんて昨今のIDEを使っていれば数文字打てば補完してくれるのでそんなものは誤差であると思っています。
6. ●行間を開けない
これもまた主義主張が対立しているものです。私は基本行間を詰めて、「処理の意味的な区切り」で行間を1行空けるようにしています。ちなみに昔はプログラマは「書いた行数」でお給料が決まっていたのでむやみに行を空ける人がいたとかいないとか。
7. ●エンジニア と プログラマーの違い
その2つで比較した場合、エンジニアと呼ばれる人は「仕組みを作る人」、プログラマは「仕組みが機械で動くようにする人」だと思います。もちろんエンジニアがプログラミングできないかと言われればそうではないですし、プログラマが何も考えていないかと言うとそうでもないです。ですがどちらかと言うとクリエイティブな表現がエンジニア、事務的なほうがプログラマ、でしょうか。明確なルールはないかと思います。ちなみに「言われた仕様通りにプログラムする人」は「コーダー」と呼びます。一般的かどうかはわかりませんが、クリエイティブさで表現するならこんな感じでしょうか。
エンジニア >= プログラマ >>>> コーダー
投稿2017/11/02 08:19
編集2017/11/02 08:39総合スコア9210
0
- ● hoge(ほげ)foo(ふー)
メタ構文変数ですね。起源は不明ですが、foo/barは世界(英語圏)共通、hoge/hugaは国内のみです。
- ● APIを「叩く(たたく)」
- ●コミットする
叩く = 実行する/呼び出すといった感じでしょうか。
コミット = 狭義ではDBなどのトランザクションを確定させる意味がありますが、口に出して使ったことはありません。
他にもいろいろあります→不思議の国のSE用語
一般的な用語や動詞が業界内では特別な意味を持つことは他の業界でもよくありますね。面白いです。
動詞/不動産業界用語
「大文字」だけ
年齢は関係ありません。言語にもよりますが、型名や定数などは大文字のみで表記することが多いです。
あ、大文字小文字を区別しない言語を使い慣れた世代ならありえるかも。
hInst,bRet
ハンガリアン記法です。
- ●変数を「短く表現する」
好みの問題だと思います。
単純にタイプ量を減らす目的と、変数(関数)名が長いと目がチカチカするので短くすることがあります。
- ●行間を開けない
古いBASICなどインタプリタ系言語だとコードが短いほど速く実行されるので行間を詰めて書くのもありだったです。
読みづらいのでまともなプログラマで今実践している人はいないと思います。
- ●エンジニア と プログラマーの違い
エンジニア 機械、電気、建築なども含めた技術者 なのでプログラマも含めたより広い概念ですね。
投稿2017/11/02 08:45
総合スコア38352
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
こんにちは。
推測混じりですが回答してみます。
- ● hoge(ほげ)foo(ふー)
メタ構文変数なんて大げさな名前がついてますが、このWikipediaの記事は分かりやすいと思います。
- ● APIを「叩く(たたく)」
個人的には「モグラ叩きっぽい」のでなんとなくしっくりきます。
的確に叩かないと点数にならない。(言うことを聞かない。)
- ●コミットする
これはそのまんまでは? バージョン管理ソフトやデータベースのコマンドの名前です。「登録する」や「決定する」的なイメージで捉えてますが、もう少し違ったニュアンスも含んでいそうです。あまり深く考えたことは無いですが。
- ●古い言語について「大文字」だけ、または「小文字と大文字の混在」
マクロの名前は全部大文字にするという習慣は比較的普及している習慣と思います。絶対的と言うわけではないです。COBOLやFORTRANの世界ではまた別かも知れません。離れて久しいので現状は把握していません。
例に上げられた混在はハンガリアン記法です。最近であまり使われませんがが、識別子を見ただけで識別子の重要な特性を判別できるように使えばなかなか良い記法と私は思います。(ハンガリアン記法を使わない人の方が多いです。)
- ●変数を「短く表現する」
タイプが面倒とか、長すぎる識別子はよく無いとかでしょうか。
昔のFORTRANは識別子名は最大6文字でそれ以上付けても判別されない等の制約がありました。(流石に今のFORTRANにそんな制約はないと思いますが。)それを引きずっている人は、つい短くするかも。
- ●行間を開けない
たぶん書いた人の好みかと。
改行を節約するくらいならコメントをそもそも書かないだろうと思います。
- ●エンジニア と プログラマーの違い
個人的な理解ですが、数学に拒否感を持つ人をエンジニアと呼ぶことには違和感を感じます。でも、数学がからっきしの優秀な職人さんはいくらでもいると思いますし、そのようなプログラマーも少なくないと思います。
投稿2017/11/02 08:49
総合スコア23274
0
- foo/bar は欧米由来で共通、hoge は日本特有ですね。代名詞のようなものです。
何かしらの説明の際によく出てくる名前としては、暗号における「Alice」と「Bob」は定番ですね。
- キーボードに「Enter」キーがあります。これを「叩く」ことでコマンドが実行されます。ここから転じて、コマンドを実行することを「コマンドを叩く」という呼び方をするようになり、それが一般化して、コマンド以外でも使われるようになりました。
似たものとしては「(リクエストを)投げる」あたりでしょうか。本来の英語としては「送る」になるのですが、なぜか野球のボールのように投げる、受けるということがあります。
あと忘れてはいけない「殺す」もかな。異常動作をしているプロセスを止めることを「殺す」とはよく言います。まあ UNIX でのプロセス強制停止コマンド(実際にはもう少しいろんなことができますが)がそのものずばり「kill」なのですけれども。
-
もともとはDBの用語で、「一連の変更を確定する」という意味です。ここから転じて、「変更したものを確定させる」、すなわち「個人の作業結果を全員に展開する」という形で使われる場合があります。
-
古いシステムだとそもそも英小文字が使えなかったというのもあります。現在の言語ではそんなことはありませんが、例えば予約語は大文字で、そうでないものは小文字で、という使い分けをすることもあります(SQLとか)。これはソースコードを見たときに分かりやすくするためのテクニックの一つです。
-
これも古いシステムだと、変数名の長さに制限があったのです。例えばパソコン黎明期のBASICですと、変数名が2文字までというのもありました。現在では変数名の長さ制限はほとんどありませんが、これもコードを見たときにあまりに冗長な長さだとみにくい(加えてタイプミスの危険もある)ので、ある程度省略することが多いです。
-
昔の考え方で、プログラムの規模を「ステップ」や「ライン」という数え方をします。空行は無視しないといけないわけですが、それを嫌ってそもそも空行を入れない、という考え方になるわけです。
-
プログラマーはエンジニアの部分集合、ですね。ただプログラマーといったときに、実はコーダー(coder。単にコードに展開するだけの人)という場合もあるのですが。
投稿2017/11/02 09:09
総合スコア13707
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
投稿2017/11/02 08:22
総合スコア117696
0
以前こんな記事を読んだことがあります。
・不思議の国のSE用語
https://qiita.com/t_nakayama0714/items/478a8ed3a9ae143ad854
こんな記事もあったので貼っておきます。
・hoge, hogehogeの由来、foo,bar の語源
http://blog.dacelo.info/net/entry-662.html
個人的にもあまり長い名前は嫌いです。
でも短過ぎて意味が分からないのも嫌なので、短くて意味の分かる絶妙なところがいいですよね。
投稿2017/11/02 08:20
総合スコア928
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
昔の処理系だとメモリが貴重だったので、変数名は短く、改行は極力入れない(BASICでは:で区切ってマルチステートメント推奨とかw)なんて事が当たり前でした。
投稿2017/11/07 02:07
総合スコア199
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
面白かったのはこれ。
https://qiita.com/t_nakayama0714/items/478a8ed3a9ae143ad854
分かる範囲だと
1 ただの慣例。英語圏では違うらしい。
4 プログラミング言語によって文化圏があって・・とかの話になる。
https://qiita.com/yimajo/items/a3fac0026c07ec538fc2
5 定番のは短くするのはありだけど・・ IDEを使う、今時は、変に短くしなくてもいいような。
投稿2017/11/02 08:24
総合スコア1986
0
- ●行間を開けない
Windows以前の、例えばMS-DOSなどでは、画面が25行(多くて30行程度)しかなく、行間をあけると見通しが悪くなるということがありました。
行間を詰めるオッサンがいたら、その名残かも知れません。
投稿2017/11/07 01:52
総合スコア16733
0
- ●古い言語について「大文字」だけ、または「小文字と大文字の混在」
そもそも古い処理系では、大文字と小文字が区別できなかったのです。
その昔、ソースコードは「コーディングシート」と呼ばれる専用の用紙に記入し、
これをキーパンチャーに渡して「紙カード」に穴をパンチしてもらっていました。
「紙カード」1枚は、コーディングシートの1行に相当し、0〜9、A〜Z、記号類を示す穴を開けるのです。
この「紙カード」をカードリーダにセットして、一気に読み込ませることによって、ソースファイルに変換されていました。
こういう仕組なので、文字の種類に制限があったのです。
それで、大文字と小文字を区別できない時代がありました。
カーニハンとプローガーの古典「ソフトウェア作法」という本があります。
http://www.kyoritsu-pub.co.jp/bookdetail/9784320021426
この本の中で、ソースコードを小文字で印字すると読みやすいことがわかったので、そうすることにする、という話題が出てきます。
そして、この時代にはスクリーンエディタが登場していたのだと思いますが、小文字で書いたRatfor (Ratinal FORTRAN)のコードをFORTRANのコードに変換する、という話題が出てきます。
投稿2017/11/07 00:00
総合スコア973
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/02 09:55
退会済みユーザー
2017/11/06 23:06
2017/11/07 00:04
退会済みユーザー
2017/11/07 02:30 編集
2017/11/07 06:39
2017/11/07 08:36
2017/11/08 14:43