예전 자유 게시판

컴퓨터 프로그래밍의 예술 버그

남수진 2006-10-03 13:10

1)
26쪽: 알고리즘 E. 설명에 대해서 원서를 찾아보면 다음과 같습니다.

E1. [Find remainder.] ....
...
E3. [Reduce.] ...

위의 번역을 [나머지를 구한다.] [맞줄임.] 이렇게 번역을 하셨는데,
원문은 평서문이 아니라 명령문(imperative) 인것 같습니다. 따라서
[나머지를 구하라.] [맞줄여라.] 식으로 되어야 할 것 같습니다.
만약에 평서문이었다면 [Finds remainder.]라고 했을 것입니다.

관련하여 커누스가 저술한 Mathematical Writing이라는 책에 다음과 같은 문장이 있습니다.

Students used descriptors and imperatives for the names of their modules;
Don said he favours the latter, as in <Store the word in the dictionary>, which
works much better than <Stores the word in the dictionary>.

책 전반에 걸쳐서 알고리즘의 설명에 대한 번역을 위와 같이 하신 것 같습니다.
책을 읽고, 이해하는데는 전혀 무리가 없으나, 원저자의 뜻이 정확히 반영된 것 같아
보이지 않아서 말씀드립니다.


2)
수식 표현에 있어서 몇가지 오류가 눈에 띄입니다.
가장 일반적인 것은, 33쪽의 중간부분에 \theta_j, \phi_j 가 나오는데 여기서
콤마가 잘못 붙어있습니다. 콤마는 아랫첨자(subscript) j에 붙는 것이 아닌데,
수식 조판에 실수가 있는 듯합니다. 38쪽 피보나치 수열을 나열하는데도 같은
오류가 있습니다. 이처럼 아랫첨자가 있는 것들을 나열한 수식의
대부분이 이와 같은 오류를 가지고 있습니다.

3)
28쪽 중간에 "예를 들어 n개의 양 v1, v2, ..., vn" 이라는 것이 있는데,
여기서 1, 2, n은 원서를 보면, v의 아랫첨자로 쓰였습니다.

4)
51쪽 수식 (19)에서 윗첨자로 쓰인 수식의 오른쪽 괄호가 잘못되어 있습니다.

5)
58쪽 수식 (14)의 우변 왼쪽 괄호와 오른쪽 괄호의 크기가 서로 다릅니다.

6)
67쪽 각주에도 iif가 보입니다.

7)
80쪽 두번째 각주에 206년이라고 되어있습니다. 2006년


류광 2006-10-03 18:10


그리고 1)번 항목은 좀 더 논의해 볼만한 사항인 것 같습니다... 어감과 관련해서 그렇게 한 것인데요(특히 알고리즘 단계 이름들은 순서도에서도 그대로 쓰이기도 하구요). 2권, 3권에서도 그렇게 할 생각이고요. 좀 있다가 2권에 대한 TaocpHelp를 시작할 예정인데, 그쪽에서 논의를 하면 좋을 것 같습니다.