3. 프로그래머가 이름에 대해 가지는 잘못된 믿음들 (번역)

김모씨의 페북에서 가져온 기사의 적절(하다고 주장하는)한 번역
일본어 중역을 약간 포함했습니다.

출처 : http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/

———————————————————————-

오늘 John Graham-Cumming은 그의 성에 잘못된 문자가 있다고 하는 컴퓨터 시스템에 대해 불평하는 기사를 썼다. 물론 그의 이름에는 ‘잘못된’ 곳 따위는 없다. 어떤 사람이 제공한 이름이라는 것은, 정의대로라면 그것으로 적절히 자신을 식별하라고 준 것일 것이다. 당연하게도 존은 이 사태에 대해 불평을 쏟아냈고 그러는 것도 당연하다. 사실상 정의대로라면, 이름은 인간의 정체성의 가장 중요한 부분이기 때문이다.

나는 개발자로써 일본에서 수년을 일했었고, 그곳에서 이름에 특정한 형식만을 받는 시스템을 시연삼아 몇번이나 크래시 시켜보았다.  (대부분의 사람들이 나를 Patrick McKenzie라고 부르지만, 나는 내가 인식하고 있는 6개의 “풀네임”이 있고, 내가 이용한 어떠한 시스템도 내 이름을 적절하게 처리하지 못했다.) 마찬가지로, 나는 무지막지한 초거대기업이 글로벌 비즈니스를 진행하기 위해 만드는, 이론적으로 온갖 이름을 처리할 수 있는 시스템도 개발해 보았지만, 나는 단 한번도 이름을 적절하게 처리하는 컴퓨터 시스템을 본 적이 없다. 존재 자체가 의심스러울 정도다.

어쨌든 공공의 이익을 위해, 당신이 이름을 다룰 때 사용했던 가정들을 몇 가지 나열해보았다. 이 모든 가정들은 잘못되었다. 다음부터는 이런 가정들을 최대한 배제하도록 노력해보자.
1. 정식 풀네임은 오로지 하나이다.
2. 통용되는 풀네임은 오로지 하나이다.
3. 현 시점에서의 정식 풀네임은 오로지 하나이다.
4. 현 시점에서의 통용되는 풀네임은 오로지 하나이다.
5. 임의의 n에 대해, 사람은 정확히 n개의 이름을 가지고 있다.
6. 이름은 일정한 길이의 공간 안에 전부 쓸 수 있다.
7. 이름은 변하지 않는다.
8. 이름이 변하는 기회는 한정되어 있다.
9. 이름은 ASCII로 다 쓸 수 있다.
10. 이름은 특정한 문자 셋 하나로 다 쓸 수 있다.
11. 이름은 유니코드 코드포인트로 전부 매핑 가능하다.
12. 이름은 대소문자를 구별한다.
13. 이름은 대소문자를 구별하지 않는다.
14. 이름에 붙는 접두사나 접미사는 깔끔하게 무시해도 된다.
15. 이름에는 숫자가 들어가지 않는다.
16. 이름은 전부 대문자로 쓰여지지 않는다.
17. 이름은 전부 소문자로 쓰여지지 않는다.
18. 이름은 특정한 순서대로 배열될 수 있다. 동일한 배열 방법은 어떤 시스템에서든 동일한 결과를 낸다.
19. 성과 이름은 반드시 다르다.
20. last name, family name 등, 가족 관계를 나타내는 공유되는 요소가 존재한다.
21. 이름을 식별자로 사용할 수 있다.
22. 이름을 ‘대략적인’ 식별자로 사용할 수 있다.
23. ㅇㅇ 알았으니까 어쨌든 대충 백만명 정도면 이름으로 구별할 수 있다고 하자.
24. 내 시스템은 중국인 이름을 다루지 않는다.
25. 일본인도
26. 한국인도
27. 아일랜드인, 영국인, 미국인, 스페인, 멕시코, 브라질, 페루, 러시아, 스웨덴, 보츠와나, 남아프리카, 트리니다드, 아이티, 프랑스, 클링온 제국 같은 ‘이상한’ 알파벳을 쓰는곳도
28. 클링온 제국은 농담이다.
29. 문화상대주의 같은 개소리는 집어치워! 적어도 ‘내가 사는 곳’에는 이름을 쓰는 상식적인 룰이라는게 있다고!
30. 이름을 변환하고 복원하는 손실없는 알고리즘이 존재한다. (ㅇㅇ 걍 입력 받은걸 그대로 돌려주면 됨. 나 존나 머리 좋은듯)
31. 비속어를 이름으로 쓰는 사람따윈 없다.
32. 사람의 이름은 태어날 때 정해진다.
33. 어… 대충 태어나고 얼마 안돼서 정도?
34. 알겠으니까 1년 정도로 퉁치자.
35. 5년?
36. 우웅… 지금 저 놀리는거죠?
37. 한 사람은 2개의 다른 시스템에서 같은 이름을 쓴다.
38. 시스템이 잘 짜여져 있다면, 서로 다른 시스템 안의 이름 입력을 담당하는 부분은 한 사람의 이름에 대해 정확히 같은 문자열을 받는다.
39. 내 시스템을 망가트릴 정도의 희한한 이름을 가진 사람은 거의 없다. 그런 사람은 적절히 변환된 이름을 넣을 것이다. अशोक라던지. (원문은 田中太郎(다나카 타로))
40. 인간은 이름이 존재한다.

이 리스트가 모든 오류를 나열한 것은 아니다. 혹시 위 가정이 틀렸음을 나타내는 현실의 예를 알고 싶다면, 기꺼이 몇몇 예를 알려줄 수 있다. 리스트에 추가하고 싶은 예가 있다면 자유롭게 댓글로 달아주시라. (주: 원문의 댓글) 그리고 만약 어떤 사람이 last_name 컬럼과 first_name 컬럼을 사용하는 천재적인 데이터베이스 테이블을 제안했을 때, 이 포스트를 한 번 보여주시라.

———————————————–

적절한 예시

11. http://ja.wikipedia.org/wiki/満田かずほ – 이 사람(미츠다 카즈호)의 이름은 유니코드에 있는 한자로 쓰지 못합니다.

15. 안녕하세요에 나온 ‘이0’씨 라던지…

18. CP949와 EUC-KR과 UTF-8로 쓰여진 한국어 이름을 사전순으로 배열해봅시다. (심지어 EUC-KR에선 설믜라는 이름을 가진 사람은 존재하지 않는다고 합니다.)

20. 아이슬란드에선 아버지의 이름이 A면 아들의 성은 A+sson, 딸의 성은 A+dottir가 됩니다. (부모자녀의 성이 전부 다릅니다.)

28. 클링온은 스타트렉에 나오는 외계 종족입니다. 스타트렉 덕후들 중엔 해외 모임에서 영어가 안통해서 클링온어로 대화한적도 있다는 전설이 있다고 합니다.

29. DQN네임

30. 혐오스런 마츠코의 일생의 감독인 中島哲也(나카시마 테츠야)의 성은 일반적으로 나카’지’마 라고 읽습니다. 희귀한것 같아도 의외로 흔합니다.

35. 스웨덴에는 법이 마음에 안든다고 5살까지 이름을 안 붙이다가 Brfxxccxxmnpcccclllmmnprxvclmnckssqlbb11116라는(…) 이름을 붙인 부모가 있습니다.

36. 일본어로 읽어야 맛깔납니다.

 

Read More