본문 바로가기

출판물/C# in Depth

존 스킷에 대한 사실들


이 포스트는 독자들을 위한 내용이니까 존대말로 갑니다.

얼마 전 C# in Depth 2판을 구입(했다고 주장)한 독자로부터 메일을 하나 받았습니다. ‘영어 못 하는 독자 무시하나연?’ … 이라고 말씀하진 않으셨구요;;; 어떤 내용이었냐면 존 스킷에 대한 사실들(jon skeet facts)에 대한 내용을 읽어보고 싶은데 자신이 영어가 짧아 안타깝다며, 간단하게도 번역해 줄 생각이 없느냐고 하시더라구요. 마침 할 일이 없… 었던 건 아니고 일하기 싫어서 버벅거리던 와중에 그래 이거나 좀 훑어보자 하고 독자 서비스 차원에서 막번역(…)한 내용을 올려 봅니다.

중간에 생략된 내용도 있는데, 별로 재미가 없거나 어떻게 해도 이걸 한국말로 재미있게 옮길 수가 없겠다(…) 싶은 것들입니다. 기본적으로 개그 코드가 한국의 개그 코드와는 약간 달라서 한 개도 안 웃길 수도 있겠습니다만, 뭐 감안하시고 읽어주세요 : )

 





C# in Depth 독자들을 위한 보너스 스테이지:

존 스킷에 대한 사실들

 

(원문: http://meta.stackoverflow.com/questions/9134/jon-skeet-facts)


 

아직 '척 노리스에 대한 사실'을 모르시는 분은 이것을 먼저 읽도록 합니다:
http://uncyclopedia.kr/wiki/%EC%B2%99_%EB%85%B8%EB%A6%AC%EC%8A%A4#.EC.B2.99_.EB.85.B8.EB.A6.AC.EC.8A.A4.EC.97.90_.EB.8C.80.ED.95.9C_.EC.82.AC.EC.8B.A4

그런 다음 stackoverflow의 사용자 평가 1위이며, C# in Depth와 같은 걸출한 책을 쓰고, Microsoft MVP이면서, 구글(...어?)에서 일하고 있는 그의 프로필을 확인해 봅니다:
http://stackoverflow.com/users/22656/jon-skeet

 

그럼 시작해 볼까요.

 

다음과 같은 사실은 글의 원래 형식을 해치지 않기 위해 3인칭 형태로 기록되었다. 하지만 우리 모두가 알고 있듯이, 존 스킷에게는 1==3이기 때문에 1인칭이든 3인칭이든 차이가 없다:

* 존 스킷은 불변(immutable)이다. 변하는 것은 우주일 뿐이다.
* 존 스킷의 더하기 연산자는 연산에 필요한 위치로 이동하지 않는다. 존 스킷의 연산자는 필요한 곳으로 알아서 이동한다.
* 모든 익명 메서드와 익명 타입은 사실 존 스킷을 호출한다. 다만 외부에 그 사실을 알리고 싶어하지 않을 뿐이다.
* 존 스킷의 코드는 코딩 규약을 따르지 않는다. 존 스킷의 코드가 곧 코딩 규약이다.
* 존 스킷에게는 성능상 병목 현상이 없다. 존 스킷은 단지 우주를 잠시 멈출 뿐이다.
* SO(stackoverflow)에서 존 스킷보다 높은 순위가 될 수 있는 사용자는 존 스킷 뿐이다. 
(실제 일어났던 사건임. 다름 링크 참고: http://meta.stackoverflow.com/questions/99502/jon-skeet-now-2-in-reputation-leagues)

* SO의 사용자는 존 스킷의 답변에 대해 '채택되었음(accepted)'이라고 체크하지 않는다. 다만 우주 전체가 진실과 정의를 위해 존 스킷의 답변을 채택할 뿐이다.

- 존 스킷(*역주: 위 내용을 존 스킷이 스스로 작성했다는 의미임-_-;;)

 

ㄴ 척 노리스는 자신에 대한 사실을 직접 기록하지 않지만, 존 스킷은 그렇게 한다!

- utku_karatas

 

존 스킷은 자기 자신을 3인칭으로 지칭하지 않는다. 누가 존 스킷에 대해 이야기하든지에 관계없이 존 스킷은 언제나 1인칭이다.

- Dan Dyer

 

* 존 스킷은 내가 질문을 하기 42초 전에 답변한 적이 있다. 나는 그가 슈퍼 컴퓨터와 무한 불가능 확률 추진기(*역주: '은하수를 여행하는 히치하이커를 위한 안내서' 참조)를 갖고 있기 때문이라고 믿고 있다.
* 존 스킷이 null을 가리키면(*역주: 포인터 참조!), null은 공포에 떤다.
* 도널드 크누스(donald knuth)는 '존 스킷은 내 고향친구요'라는 티셔츠를 입고 파티에 등장한 적이 있다.
* 존 스킷은 순회하는 영업사원(*역주: 컴퓨터 알고리즘에서, 영업사원이 최적 경로를 찾는 알고리즘 문제에 대한 이야기임)이다. 오직 그만이 최적 경로를 알고 있다.
* 존 스킷은 12 파섹보다 짧은 거리로 Kessel Run을 할 수 있다. (*역주: 스타워즈 드립. 뭔소린지 모르겠네요)
* 존 스킷은 빨간 약과 파란 약을 다 먹었기 때문에, 매트릭스의 안과 밖으로 마음대로 상전이(phase-shift) 할 수 있다.
* 존 스킷은 당신 시스템의 루트 권한을 갖고 있다.
* 식사하는 철학자들(*역주: 역시 컴퓨터 알고리즘의 그것)은 존 스킷이 먹을 때까지 기다린다.
* 존 스킷은 제비(unladen swallow)의 비행속력을 알고 있다. 아프리카산과 유럽산 모두. (*역주: 몬티 파이선에 나오는 개그 말장난. 넘어갑시다)
* 존 스킷은 당신이 갖고 있는 모든 뱃지(*역주: SO에서는 뱃지를 통해 특별한 평가가 더해지기도 함)보다 더 많은 "Nice Answer" 뱃지를 갖고 있다.
* 존 스킷은 공주를 이미 구했다.

- Bill the Lizard

 

* 존 스킷은 0으로 나눌 수 있다.
* 존 스킷의 SO 평점은 정수 오버플로우 때문에 적당하게 유지되고 있다. (SQL 서버의 데이터 타입은 그렇게 큰 수를 다룰 수 없다)
* 존 스킷은 탑 100에 오른 SO 사용자들 중 유일한 인간이다. 나머지는 그가 답변을 하지 않을 때 시간을 때우기 위해 만든 봇들이다.
* 존 스킷은 최근 프로젝트를 윈도우의 그림판으로 코딩했다. 도전 삼아서.
* 존 스킷은 프로그래밍을 할 때 예외(exception)를 사용하지 않는다. 그의 코드는 모두 예외적이기 때문이다.
* 존 스킷의 코드가 컴파일에 실패하면 컴파일러가 사과한다. 
* 존 스킷은 변경 내역 관리 소프트웨어를 사용하지 않는다. 그의 코드는 변경이 필요 없다.
* 구글에서 "구루"를 검색하면 "존 스킷을 찾으셨나요?"라는 결과가 표시된다.
* 세상에는 두 부류의 프로그래머가 존재한다: 훌륭한 프로그래머, 그리고 존 스킷이 아닌 프로그래머.

- anon

 

* 만약 당신이 SO에서 10,000 포인트를 얻었고, 존 스킷이 10,000 포인트를 갖고 있다면, 존 스킷의 평판이 더 좋은 것이다.
* 존 스킷의 컴퓨터에는 컨트롤 버튼이 없다. 존 스킷은 항상 모든 것을 컨트롤하고 있기 때문이다.
* 존 스킷이 틀렸을 때는 그가 스스로 실수했다고 생각했을 때 뿐이다.
* 존 스킷은 존 스킷이 올린 질문에 대한 구루 뱃지를 갖고 있다.
(사실임. 존 스킷은 자신이 올린 질문에 스스로 답변하여 최소한 40번 이상 좋은 평가를 얻었다. SO라는 사이트의 성격을 생각해보면 재미있는 일)
* SO의 블로그 포스트에 올라왔던 글의 제목인 "Stack Overflow Is You"는 사실 존 스킷을 가리키는 것이다.
(이 블로그 포스트에 존 스킷은 "이미 알고 있었어요(I knew that already)"라는 코멘트를 남겼다)
* 존 스킷은 프로그램을 실행하지 않는다. 단지 프로그램에게 "실행되는 게 좋을 걸"이라고 속삭일 뿐이다. 그럼 프로그램은 실행된다.
* 존 스킷의 코드는 모두 final sealed 메서드 뿐이다. 존 스킷의 코드는 오버라이드할 필요가 없다.
* 존 스킷은 LINQ로 세상의 모든 것을 쿼리할 수 있다.
* 존 스킷은 "중지, 재실행, 무시" 화면을 만나지 않는다. 결코.
* 존 스킷은 그 자신이 BSOD이다: Best Stack Overflow Definition (*역주: BSOD는 원래 Blue Screen Of Death. 즉 윈도우가 뻗었을 때 뜨는 블루 스크린을 말한다)
* 존 스킷은 NP 문제를 풀 수 있다.
* 존 스킷은 그 자체로 인텔리센스이다:
   SO에서 답변을 얻으려면 'Jon Skeet'을 입력하고 Ctrl+Space를 누르자. 답변이 즉시 나타날 것이다.
   질문도 마찬가지다. "궁금한 게 있어요 Jon Skeet"을 입력하고 Ctrl+Space를 누르자. 당신이 질문하려 했던 내용이 즉시 표시될 것이다.

- VonC

 

* null 참조 예외는 잠들기 전에 침대 밑에 존 스킷이 있지 않나 찾아본다. 
* 존 스킷의 스레드는 잠들지 않는다. 다만 기다릴 뿐이다.
* 존 스킷은 대리자(delegate)가 필요하지 않다. 그는 스스로 모든 것을 처리한다.
* 존 스킷은 백그라운드 스레드를 호출하지 않는다. 백그라운드 스레드가 존 스킷을 호출한다.
* 존 스킷은 책을 쓰지 않는다. 다만 단어들이 겁에 질려 스스로 모일 뿐이다.
* 존 스킷은 순회하는 영업사원 문제를 O(1)으로 풀 수 있다.
* 존 스킷이 예외를 던지면, 어떤 것도 예외를 붙잡을(catch) 수 없다.

- Winston Smith

 

* 존 스킷은 평판(reputation)에 신경 쓰지 않는다. 평판이 존 스킷을 신경 쓸 뿐이다.
* 존 스킷은 자기 자신과 짝 프로그래밍(pair programming)을 할 수 있다.

- JacobE

 

* 구글은 프록시 뒤에 있는 존 스킷이다.

- Gishu

 

Q: 존 스킷이 자신이 알지 못하는 문제에 대해 질문할 수도 있나요?
A: 그럼요. 그리고 존 스킷은 그 질문에 답변할 수도 있죠.

- Bill the Lizard

 

* 존 스킷은 Perl 코드를 Java처럼 보이게 작성할 수 있다.
* 존 스킷은 생각만으로 무한 루프를 멈출 수 있다.
* 존 스킷은 디버거가 필요 없다. 코드가 스스로 실토할 때까지 버그를 지그시 바라보기만 하면 된다.
* 존 스킷은 잠들기 전에 배터리가 없는 Treo(*역주: Palm 계열 스마트폰)로 운영 체제를 작성한 적이 있다.

- Steven A. Lowe

 

존 스킷은 이미 C# 5.0에 관한 책을 썼다. 현재 그 책은 봉인되어 있다. Anders Hejlsberg(역주: C#의 아버지로 알려진 소프트웨어 엔지니어)가 3년 후 C# 디자인 팀이 일을 제대로 했는지 확인하기 위해 이 책을 다시 꺼내볼 예정이다. (역주: 개인적으로 가장 많이 웃었던 드립)

- Jeffrey L Whitledge

 

존 스킷은 파이(원주율)를 암송할 수 있다. 거꾸로.

- Oliver Hallam

 

존 스킷이 중복된 질문을 SO에 올리면, 원래 있었던 질문이 중복된 질문으로 표시되어 비활성화된다. (역주: SO에서는 중복된 질문이 올라오면, 해당 질문을 파악한 관리자/사용자가 해당 질문을 중복 질문으로 표시해서 다른 사용자가 해당 질문에 답변을 못 달게 만듭니다)

- splattne

 

SO에는 JonSkeetAskedAQuestionException 예외가 있다. 이 예외는 발생한 적이 없다.

– Lucas

 

* 존 스킷이 메서드에 인자를 넘겨주면(*역주: 원문은 gives a method an argument. '메서드와 논쟁을 하면'으로 해석될 수도 있음) 메서드가 진다.
* 존 스킷이 스택에 값을 푸시하면, 푸시된 값이 유지된다.
* 런타임은 존 스킷의 콜백 메서드를 호출할 때 "부디(please)"를 덧붙인다.
* 드라이버는 존 스킷의 코드를 감히 인터럽트 하기 전에 두 번 생각한다.

- Marc Gravell

 

* 존 스킷의 키보드에는 F1 키가 없다. 컴퓨터가 그에게 도움을 요청하기 때문이다.
* 존 스킷이 Ctrl+Alt+Del을 누르면 전 세계의 컴퓨터가 초기화된다.
* 존 스킷은 CD를 굽는데 비주얼 스튜디오를 쓴다.
* 존 스킷은 완벽함과는 거리가 있다. 완벽함이 존 스킷에게 다가가려 할 뿐이다.
* 사실 신은 6일만에 세상을 창조하지 않았다. 존 스킷이 하루로 최적화했기 때문이다.
* 존 스킷의 뇌는 이진수로 생각한다.
* 존 스킷은 0과 1로 꿈을 꾼다.
* 존 스킷의 심장 박동 수는 5Ghz이다.
* 존 스킷이 작성한 AIDSTest 1.1 XML 응용 프로그램에 감사하자. 모바일 폰 사용자는 이제 익명으로, SMS을 통해 HIV에 감염됐는지를 확인할 수 있다!
* 제 7 데이터베이스 정규형(NF)은 존 스킷이다.
* 누구도 감히 <JonSkeet> 태그를 닫을 수 없다.
* 존 스킷이 수식을 풀면 변수가 상수가 된다.
* C 언어에서 delete JonSkeet;이란 코드를 작성하면, 종말이 찾아올 것이다.
* 존 스킷이 라이브러리(도서관)에 갔을 때, 라이브러리는 동적으로 링크되었다.
* 존 스킷은 오픈 소스의 열쇠를 갖고 있다. 존 스킷이 오픈 소스를 닫지(open/close) 않을 뿐이다.
* 존 스킷의 사전에 호환성이라는 단어는 없다. 존 스킷은 맥에 리눅스를 설치하고 마이크로소프트 오피스로 일을 할 수 있다.
* 존 스킷이 프로그램을 작성하면 가비지 수집기는 그냥 쉰다. 객체들이 스스로 삭제되어야 할 때를 알고 있기 때문이다.
* 존 스킷의 스타일은 CSS 파일에 연결되어 있다.
* 인터넷이 웹(거미줄)이라면, 존 스킷은 거미다.
* 존 스킷이 다이어트를 하면서 패스트푸드를 끊자, 모든 하드디스크가 FAT에서 NTFS로 바뀌었다. (*역주: ...fat이 뭔지 아시죠?)
* 존 스킷은 최고의 프로그래밍 언어를 만들었다. 이 언어로 작성한 소스 코드는 한 가지 명령밖에 없다: void JonSkeet();
* 존 스킷은 #include를 사용하지 않는다. 존 스킷은 #include가 반칙이라고 생각한다.

- anon

 

'스킷'은 동사다. 
스킷되다(to be skeeted): 존 스킷이 내가 달 수 있는 답변보다 훌륭한 답변을 이미 달았는지, 오직 그 여부를 확인하기 위해 SO 질문에 답변을 달려고 시도하는 행위.

- dp.

 

존 스킷이 far JMP(jump) 명령을 내리면, 어셈블러가 다음과 같이 묻는다: "얼마나 멀리요?"

- gbarry

 

마지막으로 보너스 하나 갑니다:

내 생각엔 SO의 새로운 로고가 이 모든 사태를 설명해 줄 수 있을 것 같아요:

- anon

 

ㄴ 이건 나를 칭찬하는 건지 까는 건지 알 수가 없군요.

- Jon Skeet(*역주: ㅋㅋㅋㅋㅋ)



SKEET! SKEET! SKEET!