2017년 4월 24일 월요일

일본의 샘플 코드에 자주 보이는 Hoge 의 의미. (메타구문변수명)

일본쪽 개발서나 개발 블로그를 참고하는 경우가 많은데,
이쪽 분들은 일본어를 로마자로 적어서 변수명 따위에 사용하는 경우가 많다.

대표적인 것이 name 이라는 변수가 있으면 namae 로 적는다던가.
(오타가 아닌 것... 일본어 名前 = 이름 = name 이다)

대부분 알아보는데 크게 문제는 없는데,
대충 무슨 뜻인지는 알겠는데, 사전에도 없는 이상한(?)게 있어서 오늘은 큰맘 먹고 알아보았다.

바로 "HOGE" 넌 뭐냐..

일단 일본어 사전을 검색해봤다.
비슷한게 안 나오네...
이외나 의외 아니면 그 외 아무거나 이런 뜻인줄 알았는데...

근처 일본인에게 도움을 청했다.

HOGE 가 뭡니까?!
대충 이런 느낌으로 쓰고 있는데요. 라며 샘플 코드 전달.

void Hoge()
{
    StartCoroutine(HogeProcess());
}

난 프로그래머가 아니라 잘 모르지만 알아볼게~ 라시던 분이 의외로 금방 답변을 해주셨다.

--------------------

「ほげほげ」の由来は、「hogehoge」というメタ構文変数です。メタ構文変数とは、サンプルプログラムなどで意味のない名前が必要な場合に利用される、「意味のない名前」のことです。

入力する文字列は何でもいいのだけれど、入力しなければエラーになっていまう…という場合に用いられたのが「hoge」もしくは「hogehoge」です。

"ほげほげ"의 유래는 "hogehoge"라는 메타 구문 변수입니다. 메타 구문 변수는 샘플 프로그램 등으로 의미가없는 이름이 필요한 경우에 사용되는 "의미없는 이름"입니다.

입력 문자열은 무엇이든 좋은 것이지만, 입력하지 않으면 에러가 되어버리는... 경우에 사용 된 것이 "hoge"또는 "hogehoge"입니다.

---------------------

흠흠 그렇군.
이제 뭔지 알았으니 조금 더 찾아봤다.

---------------------

プログラミング言語では識別子(変数関数などの名前のこと)を自由に定義できるが、サンプルプログラムなどでまったく意味の無い変数に適当な名前がなく困ってしまうことがある。しかしどんな名前でも構わないからといって「wikipe」などとつけると、そのプログラムを見た他の人はその変数に何の意味があるのかと悩むことになる。そのようなときに、「abcd」や「hoge」(ほげ)をはじめとするメタ構文変数を利用する。メタ構文変数はプログラマの間でサンプル用の意味が無い変数名であることが認知されているので無用な混乱が避けられるほか、書く側も苦労して名前をひねりだす必要がなくなる。

프로그래밍 언어에서 식별자 (변수 나 함수 등의 이름에 대한 것)을 자유롭게 정의 할 수 있지만, 샘플 프로그램 등에서 전혀 의미없는 변수에 적당한 이름이 없어서 곤란 해 버릴 수있다. 그러나 어떤 이름이라도 상관 없다해서 "wikipe"라고 쓰면 그 프로그램을 본 다른 사람은 그 변수에 무슨 의미가 있는지 고민하게된다. 그런 때, "abcd" 또는 "hoge"(호게)를 비롯한 메타 구문 변수를 이용한다. 메타 구문 변수는 프로그래머 사이에서 샘플에 대한 의미가없는 변수 이름 인 것으로 알려져 있기 때문에 불필요한 혼란을 피할 수 있으며, 쓰는 사람도 고생해서 이름을 쥐어짤 필요가 없어진다.

출처  위키피디아

------------------

역시 별거는 아니었는데, 알고나니 묵은 체증이 풀린 느낌이라 좋다. :D

근데 좀 배신감(?)이 드는 것은...
오히려 Hoge 가 무슨 의미인가 고민하게 되었던 내 입장에선 조금 억울하네... (하하하)

댓글 없음:

댓글 쓰기