개발자에 대한 농담

인터넷에서 자주 보이는 개발자에 대한 흔한 농담이 있습니다. 잊을만 하면 한 번씩 다시 등장하네요.

어느 아내가 프로그래머 남편에게

아내: 우유 하나 사와, 달걀 있으면 6개 사와

남편은 우유를 6개 사왔다.

아내는 물었다.

아내: 왜 우유를 6개나 사왔어!

남편: 달걀이 있길래 6개 사왔지

에펨코리아

아마도 아내는 달걀이 있으면 달걀을 6개 사오라고 했겠지만 개발자는 마치 개발 로직에서 if else 문을 사용하는 것처럼 if 달걀이 존재하면: 우유를 6개 사 else: 우유를 1개 사 라는 것으로 이해했을 수도 있습니다. 그리고 실제로 많은 경우에 개발자들은 6개를 사와야 하는 것으로 이해를 했습니다. 재밌는 사실은, 개발자가 아니더라도 같은 의견인 경우가 많았습니다.

진지한 분석

문득 농담을 보다가 대체 이런 농담은 어디서 나온 것인지 궁금해졌습니다. 한글로 보면 뭔가 좀 이상하기도 해서 외국발 농담인 것은 짐작하고 있었고, 볼 때마다 갯수나 물건이 바뀌고 있어서 제일 처음에 어떤 문장으로 나왔는지가 궁금해졌습니다.

구글링을 시작하니 여러 결과들이 나오는데, 대체로 Reddit을 통해서 유행한 것 같습니다. 주기적으로 인기가 많은 포스트로 올라온 것 같습니다.

  • Reddit, 2017년 1월 30일 [링크]
  • Reddit, 2012년 12월 30일 [링크]
  • StackExchange, 2011년 9월 1일 [링크]

StackExchange에 올라온 질문에서 최초의 게시글에 대한 힌트를 얻었습니다. 링크는 비록 깨졌지만 A Programmer’s Life라는 다른 페이지에서 가져온 것으로 보입니다. 해당 글의 답변에는 흥미로운 점이 있습니다. 이 농담에서 왜 대부분의 사람들이 엉뚱한 물건을 구매하는지에 대한 언어학적인 분석이 곁들여져 있다는 것입니다.

줄임표 해결이라는 언어학적인 현상으로 첫 번째 문장에서는 명사를 명시했으나 두 번째 문장에서는 명사를 생략했고, 그에 따라서 첫 번째 문장의 명사를 그대로 따라간다는 것입니다. 특히, 두 번째 문장을 다음과 같이 바꾸면 이러한 현상은 명확하게 일어난다고 설명하고 있습니다.

우유 하나 사와, 배가 고프면 6개 사와

배가 고플때 6개를 사오는 대상은 명확하게 우유밖에 없습니다. 그러나 배가 고프면의 자리에 달걀이 있으면이라는 말이 들어오면 혼동되기는 하지만 기본적으로 같은 원리에 의해서 우유를 사는 것이 맞다는 뜻입니다. (왕진지 )

최초의 농담

잃어버린 링크를 찾아서 구글링끝에 찾은 만화가 바로 이것입니다. [링크]

심지어 이건 영어 번역본입니다?!

그리고 이 만화의 영어 번역본에서는 포르투갈어 원문을 언급하고 있습니다. 그 원본은 무려 2011년 3월 22일에 올라왔습니다! [링크]

Minha esposa me pediu para ir ao mercado e disse: “Traga 6 ovos. Se tiver batatas, traga 9.”

vidadeprogramador, 포르투갈어 원문

이 개발자 농담의 최초 버전은 4컷 만화였네요. 그리고 본래 문장도 달걀을 사오라고 시켰고, 감자가 있으면 그걸(뭘?) 9개 사오라는 것이었습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *