���문 : http://www.norvig.com/21-days.html (Peter Norvig 는 AI ����������� ������ ���명��� ���람. LISP ����������머���� ���명)
���본��� - http://www1.neweb.ne.jp/wa/yamdas/column/technique/21-daysj.html
��������는 번������ �����.
문맥��� 따른 ������ ������.
��������는 번������ �����.

Contents
[-]1. Teach Yourself Programming in Ten Years ¶
Peter Norvig (E-mail: peter@norvig.com)
������ ������: 2001�� 07��� 02���, ������ ���������: 2002�� 03��� 29���
������ ������: 2001�� 07��� 02���, ������ ���������: 2002�� 03��� 29���
1.1. ��������� 모��� ��������� ������르는 ������? ¶
���느 ���방��� �������� ��������,「7����������� 배���는 Java(Teach Yourself Java in 7 Days)」������ ���는 방�������� 보��� ������������, ��� ������는 Visual Basic �� Windows �� ���������등��� 대������, ��������� 몇�������� ������������ 배��� ��� ������면(���) ���는 ������, 무������ 바리�������������� ��란��������� ������.Amazon.com ���리��� ��������� �������������������� 보���는데,
{{|
{{|
pubdate: after 1992 and title: days and
|}}(title: learn or title: teach yourself)
(������������ 「��」���������, 「배������」������ 「독���」��������� ���는 ������를 ���������,1992�� ��������� �������� ���)
248������ ��������� ���������.��� ��� �����부��� 78������ ��������� ��������� ���������������(79번���는「30������ 배���는 벵������」).「��」���「������」��� ������놓��� 보���는데, 매��� ��� ������ ������를 ������ ��� ���������.253������ ������ ���, �����부��� 77������ ��������� ��������� �����������, 78번���는「24��������� 배���는 문����� 문���」������.������ 200��� ������데,96%��� ��������� ������ ���������������.
�������������는, ���������� ������������ 대��� 배���는데 �����������, ������면 ������������는 ������, ���른 ���떤 ���보���, 배���는 ������ ������ �� ���문������ 믿��� ��� ������ ����� ��������� ���는 ������ �����.���냐���면 몇�������� ������������ 배���는 �����벤��������, 료��� 물리�����, ������ ������������ ���는 ������ ���무������.
「3������ 배���는 Pascal」������ ���는 ������������ ���미���는 ���(���)��� �������� 보면:
배������:3������������는, ���미��� ���는 ��������램��� ���마����� �������� ��� ��������������� ����������� ��������부��� 배���는 ������ 등 ������ ������.��������� ������ ����������머��� ������ ��������� ���������, ���러��� ������������������ ��������� ���떤 ���������를 ���������는 ���마 ����� ������.��른 ���������, 대������ ������ 배��� ��������� ��������� ���는 ���������.따������ ���러��� ���������, ������만 ���������는 ������ 대������ 말��� 뿐�����, ������ ���������는 ����������� ���는���.���������더������ 말��� ������럼, ������른 ������� ��������� ���������.
Pascal:3�����������, Pascal ��� 문����� 배���는 ������ ���능�������� 모르는(��������� ������를 ���미 ������ ������면)���, ��� 문����� ��������������는 ��������는 배��� ��� ������.���, ���를 들면 ��������� Basic ����������머��������� ������, Basic ����������� Pascal ��� 문����� ��������� ��������램��� ���는 ����� 배��� ��� ����������� 모르���만, Pascal ��� ��������� ���, 무������ ��������� ���������(��������� ���������)를 배��� ��� ������.���런데 ������������ ���������는 무���������? Alan Perlis(������1) ��� ���������, 「����������밍��� 대��� ��������� ��������� ������ ���는 ��� ������ ������는, ���는 ������는 ������」������ 말������.��������� ��������는 ���������는, ��������� Pascal(������보��� ���느 ��������������� 말���면 Visual Basic �� JavaScript 등��� (��)������ ���������는 많��� ���������)를 ������ ������ 배������ ������면 ��� �������� ���면(���), ��������� ��������� ���무를 ������������ ���������(���문���), ��������� ������ ��������� ��������� ������ ���문��� ���������.���러��, ���러면 ����������밍��� 배���는 ��������는 ����� ���는���.��� ���무��� 방������ 배������ ������ 뿐������.
3������:���������럽���만, �����������는 ����������� ������.������ 방�������� ������������.
Pascal:3�����������, Pascal ��� 문����� 배���는 ������ ���능�������� 모르는(��������� ������를 ���미 ������ ������면)���, ��� 문����� ��������������는 ��������는 배��� ��� ������.���, ���를 들면 ��������� Basic ����������머��������� ������, Basic ����������� Pascal ��� 문����� ��������� ��������램��� ���는 ����� 배��� ��� ����������� 모르���만, Pascal ��� ��������� ���, 무������ ��������� ���������(��������� ���������)를 배��� ��� ������.���런데 ������������ ���������는 무���������? Alan Perlis(������1) ��� ���������, 「����������밍��� 대��� ��������� ��������� ������ ���는 ��� ������ ������는, ���는 ������는 ������」������ 말������.��������� ��������는 ���������는, ��������� Pascal(������보��� ���느 ��������������� 말���면 Visual Basic �� JavaScript 등��� (��)������ ���������는 많��� ���������)를 ������ ������ 배������ ������면 ��� �������� ���면(���), ��������� ��������� ���무를 ������������ ���������(���문���), ��������� ������ ��������� ��������� ������ ���문��� ���������.���러��, ���러면 ����������밍��� 배���는 ��������는 ����� ���는���.��� ���무��� 방������ 배������ ������ 뿐������.
3������:���������럽���만, �����������는 ����������� ������.������ 방�������� ������������.
1.2. ����������밍��� 독���������면 10�� ���린��� ¶
��������� (Hayes, Bloom)��� ������면, ������, ������, �����, ������노 ������, ������, ���������, ���리��� ������ ���리�������� ������ ������������ ������를 ���������, ���범������ �������� 머������������ 대��������, ���문 ��������� 몸��� ���������면 대략 10�� ���린������ ������.�������� 등 ������������ ���는 ��� ������.4����� ��� ��������� ���동�������� 모���르���������, ������������ ��������� 만들��� 내��������� 13�� ��������� ��������� �������� ����� ���������.���뮤�����������(������2)는, 「���떤 �������� ��������, ��������� ������는 노��� ������ 뛰����� ������는 ������ ��� ������.������보��� ��� 대�������� ������ ������ ��� ���는 ���������」������, ���������는 10�� ������ ���린������ ������������.
��������� ����������밍����� ������������ ������, ��������� ���������를 ���������면(���):
����������밍��� ���미를 ������, ��������� ������������ ���������(���문���) ��� ���.��������� �������� ��������� ������ ������면 , 10���������� ��������� ������������������.
���른 ����������머��� ���������를 ���, ��������� ��������램��� ���는 ���.��������� �������� ����������� ��������������������보��� ��������� ���������.
��������램��� ���는 ���.���������는 ��������� 방�����,��������� ������ ������������.보��� �������������� ������������면, 「������ ��������� ������ ��������� ���대������ ������먼���를 ��������는 ������, ��������� ������는 ��������� ������면 ���동�������� �������������� ���는 ������ ���������, 매��� ��������� ������ ���람��������, ��������������� ���는 ��������� 노������ ������ ���문���, ������먼���는 ������� ��� ������」(p. 366) ������며, 「������ ������������ ��������� ��������� ������, ��� ��������� ������������ ������ ��������� ���������, ��������� �����백��� ������, ��������� ��복�������� ���못��� �������������� ��� ��������� ���는, 명������ ������������」(p. 20-21)������(������3).Cambridge University Press ��부��� ����� ���는 J. Lave ���「Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life」(������4)������ ���는 ������, ��� ��������� 대��� ���미����� ������ 문���������.
만��� ���러��� ������ ���������면, 4����� 대���������(������ 대��������� ���, 더���) 배���는 ���.���러면 ������ ���명���를 �������� ���는 ������리��� ������������, ��� �������� ��������보��� ������ ������를 ������ �����.������만, ������를 ������ ��� ��������� ������면, (��������� ������면) ������ ���는 ������������ ������ ��������� ������ ��� ������.���느 �����������, ������ ������ ������만�����는 ����������� ������.「�������������������������� ����������� ��������를 �������� ����������머�� ��������� ���는 ������, 브러����� ���림�������� 대��� 배������ ��� �������� �������� ���는 ��� ������ ����� ���������」������ The New Hacker's Dictionary(������5) ��� ��������� Eric Raymond 는 말������.내��� ������������ ��������� ��������� ��������� ����������머��� ��� 명(������6)���, ���등������������ 밖��� �������� ���������.���������만, ���는 많������륭������������������를 만들���, ��������� ���������뉴��������룹������ ��������� ������, ������������ �������, ���림������ 내��� ������ ������ 벌 ��� ���는 ���보��� ��� 더 부������.
�������������, ���른 ����������머��� ������ ������는 ���.몇������ �������������, ��������� ����������머��� ��는���, ��������� ������면 맨뒤��� ����������머��� ��는 ���.��������� ������������면, �����������를 ���������, ���른 ���람들������ ��������� �������� ������ ���는 능������ ������������ �����.��������� 맨뒤���면, ��������� ��� ������ 배���, ���들��� ���떤 말���는 ������ ������ ������ ������ ��������� ������ �����(���러��� ������ ������������ ������������ ������ ���문���).
���른 ����������머��� ������ ��낸�������������������� ������는 ���.���람��� ��� ��������램��� ��������� ���������는 ���.�������� �����를 ��� ����������머��� ��������� ���는 ������, ��� ��������램��� �������������� ����������� ������면 무������ ������������ ���������는 ���.��������� ��������램���, ��������� ���른 ���람��� 메������������ ������ ������ ������면 ���떻��� 디���������면 ��������� ���������는 ���.
�������� ����������� ��������램 ������를 배���는 ���.��� ������ �����는 �������� ��������� ������������는 ���(���를 들면 Java �� C++), �����는 ������ ��������� ������������는 ���(���를 들면 Lisp �� ML), �����는 ���문 ��������� ������������는 ���(���를 들면 Lisp), �����는 ��������� ��������� ������������는 ���(���를 들면 Prolog �� C++ ������릿), �����는 coroutine 를 ������������는 ���(Icon �� Scheme), ���리��� �����는 ��������리를 ������������는 ���(���를 들면 Sisal)��� ���.
「�����������������������」������, 「���������」��� ���는 ������ ���������는 ��������.������������ �������� 명������ �������������� 메모리��부��� 1 ����� ������내�����(��������� 들������ ���는 ��������� ��������� ������ ���������), 디��������부��� ��������� 데������를 ������내����� 디������������ �������� ��������� �������� ���는데 ���느 ����� ��������� ���릴��� ������ ���는 ���.(대������ ������)
������ ������������ �������� ���������는 ���.ANSI C++ ������������면 ��������� ������ ���������, ��������������� ���딩�������������� 대���, ���덴������ ���백��� 2 문����� ������ 4 문����� ���는��� ��� ���벨��������, ������������ �� ��� ������.��������� ������, ���른 ���람��� ��������램 ��������� ���떤 ������ ���������는���, ���마�� ������ ���������는���, ���리��� ���마, ��� ��������� ���������는���는 ����� ������, 배������ �����.
���능��� ��� 빨리, ������ �����������부��� 멀������는 ������� ������는 ���.
������ 모�� ������ ���������면(���), �������� 배���는 ��� 만�����는, ���디������ �������� ��� ��������� ���������러��� �������� ������.��������� ��������� ����������� ������, ��는 방�������� ���부 ������ ��������, ��������� ���무����� ������ ������ ��������������� �������� ���������.30������ ���, ���번������ ��������� ����������� �������� ���, ��는 �������� 복������는������는? ��������� ���������.��������� ������, ��는 ��������� ������������ ��������� 믿��� ���문������ ������ ��������� 몇��� ���������보���, ��� ���모������ ���, ��������� ��������� ���������.
���른 ����������머��� ���������를 ���, ��������� ��������램��� ���는 ���.��������� �������� ����������� ��������������������보��� ��������� ���������.
��������램��� ���는 ���.���������는 ��������� 방�����,��������� ������ ������������.보��� �������������� ������������면, 「������ ��������� ������ ��������� ���대������ ������먼���를 ��������는 ������, ��������� ������는 ��������� ������면 ���동�������� �������������� ���는 ������ ���������, 매��� ��������� ������ ���람��������, ��������������� ���는 ��������� 노������ ������ ���문���, ������먼���는 ������� ��� ������」(p. 366) ������며, 「������ ������������ ��������� ��������� ������, ��� ��������� ������������ ������ ��������� ���������, ��������� �����백��� ������, ��������� ��복�������� ���못��� �������������� ��� ��������� ���는, 명������ ������������」(p. 20-21)������(������3).Cambridge University Press ��부��� ����� ���는 J. Lave ���「Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life」(������4)������ ���는 ������, ��� ��������� 대��� ���미����� ������ 문���������.
만��� ���러��� ������ ���������면, 4����� 대���������(������ 대��������� ���, 더���) 배���는 ���.���러면 ������ ���명���를 �������� ���는 ������리��� ������������, ��� �������� ��������보��� ������ ������를 ������ �����.������만, ������를 ������ ��� ��������� ������면, (��������� ������면) ������ ���는 ������������ ������ ��������� ������ ��� ������.���느 �����������, ������ ������ ������만�����는 ����������� ������.「�������������������������� ����������� ��������를 �������� ����������머�� ��������� ���는 ������, 브러����� ���림�������� 대��� 배������ ��� �������� �������� ���는 ��� ������ ����� ���������」������ The New Hacker's Dictionary(������5) ��� ��������� Eric Raymond 는 말������.내��� ������������ ��������� ��������� ��������� ����������머��� ��� 명(������6)���, ���등������������ 밖��� �������� ���������.���������만, ���는 많������륭������������������를 만들���, ��������� ���������뉴��������룹������ ��������� ������, ������������ �������, ���림������ 내��� ������ ������ 벌 ��� ���는 ���보��� ��� 더 부������.
�������������, ���른 ����������머��� ������ ������는 ���.몇������ �������������, ��������� ����������머��� ��는���, ��������� ������면 맨뒤��� ����������머��� ��는 ���.��������� ������������면, �����������를 ���������, ���른 ���람들������ ��������� �������� ������ ���는 능������ ������������ �����.��������� 맨뒤���면, ��������� ��� ������ 배���, ���들��� ���떤 말���는 ������ ������ ������ ������ ��������� ������ �����(���러��� ������ ������������ ������������ ������ ���문���).
���른 ����������머��� ������ ��낸�������������������� ������는 ���.���람��� ��� ��������램��� ��������� ���������는 ���.�������� �����를 ��� ����������머��� ��������� ���는 ������, ��� ��������램��� �������������� ����������� ������면 무������ ������������ ���������는 ���.��������� ��������램���, ��������� ���른 ���람��� 메������������ ������ ������ ������면 ���떻��� 디���������면 ��������� ���������는 ���.
�������� ����������� ��������램 ������를 배���는 ���.��� ������ �����는 �������� ��������� ������������는 ���(���를 들면 Java �� C++), �����는 ������ ��������� ������������는 ���(���를 들면 Lisp �� ML), �����는 ���문 ��������� ������������는 ���(���를 들면 Lisp), �����는 ��������� ��������� ������������는 ���(���를 들면 Prolog �� C++ ������릿), �����는 coroutine 를 ������������는 ���(Icon �� Scheme), ���리��� �����는 ��������리를 ������������는 ���(���를 들면 Sisal)��� ���.
「�����������������������」������, 「���������」��� ���는 ������ ���������는 ��������.������������ �������� 명������ �������������� 메모리��부��� 1 ����� ������내�����(��������� 들������ ���는 ��������� ��������� ������ ���������), 디��������부��� ��������� 데������를 ������내����� 디������������ �������� ��������� �������� ���는데 ���느 ����� ��������� ���릴��� ������ ���는 ���.(대������ ������)
������ ������������ �������� ���������는 ���.ANSI C++ ������������면 ��������� ������ ���������, ��������������� ���딩�������������� 대���, ���덴������ ���백��� 2 문����� ������ 4 문����� ���는��� ��� ���벨��������, ������������ �� ��� ������.��������� ������, ���른 ���람��� ��������램 ��������� ���떤 ������ ���������는���, ���마�� ������ ���������는���, ���리��� ���마, ��� ��������� ���������는���는 ����� ������, 배������ �����.
���능��� ��� 빨리, ������ �����������부��� 멀������는 ������� ������는 ���.
������ 모�� ������ ���������면(���), �������� 배���는 ��� 만�����는, ���디������ �������� ��� ��������� ���������러��� �������� ������.��������� ��������� ����������� ������, ��는 방�������� ���부 ������ ��������, ��������� ���무����� ������ ������ ��������������� �������� ���������.30������ ���, ���번������ ��������� ����������� �������� ���, ��는 �������� 복������는������는? ��������� ���������.��������� ������, ��는 ��������� ������������ ��������� 믿��� ���문������ ������ ��������� 몇��� ���������보���, ��� ���모������ ���, ��������� ��������� ���������.
Fred Brooks 는, ���������「No Silver Bullets」 (IEEE Computer, 20. p. 10-19) (������7)������ 뛰����� �����������������디���������를 ���르는 3������를 ��명��� ������ ������.
���능��� ��� ��������� ��� 디���������를 �������������� ������������.
�������� ��������� ��������� ��������� ��������� ���������는 ���리��� �����바������를 ���명���, 면밀��� ���리��� ��������� 보��� ������������.
������������ 디������������ ����� ������������ ��������� ������를 ������.
���������, ���미 뛰����� 디������������ ��는데 ��������� ��������� ��������� ���는 ���람��� ��������������� ���는 ������ �������� ������ ������.��������� ������ ������ (���)������, ���들��� ��������� ����� ��� ���는 ���������.Alan Perlis 는 ��������� 보��� ������������ ������������ ���는:「���������� ���르��� ���면, ��������� ��� ��� �������(듯���)는 �����.미���란�����는, 방물����������� ��������� ������ ��������� ���������.뛰����� ����������머�� 마������������」
�������� ��������� ��������� ��������� ��������� ���������는 ���리��� �����바������를 ���명���, 면밀��� ���리��� ��������� 보��� ������������.
������������ 디������������ ����� ������������ ��������� ������를 ������.
���������, ���미 뛰����� 디������������ ��는데 ��������� ��������� ��������� ���는 ���람��� ��������������� ���는 ������ �������� ������ ������.��������� ������ ������ (���)������, ���들��� ��������� ����� ��� ���는 ���������.Alan Perlis 는 ��������� 보��� ������������ ������������ ���는:「���������� ���르��� ���면, ��������� ��� ��� �������(듯���)는 �����.미���란�����는, 방물����������� ��������� ������ ��������� ���������.뛰����� ����������머�� 마������������」
��� ������, ��� Java ��� ������ ���������.���������, 무������������ �������� ������� 모른���.���������만, �������� ��������� ��������� 변���������, ����������머�������� ������ ���능 �������� ���������.24����������� 몇�������� ��������� ���럼.
1.3. ������ 문��� ¶
Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985.
Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.
Hayes, John R., Complete Problem Solver Lawrence Erlbaum, 1989.
Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988.
Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.
Hayes, John R., Complete Problem Solver Lawrence Erlbaum, 1989.
Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988.
1.4. 대��� ¶
������������ 1GHz ��� PC�� 2001����� �������� ���������, ���러������ ��������� ������ ������
execute single instruction 1 nsec = (1/1, 000,000,000) sec
L1 ��������메모리��부��� 1 �����를 ������내는 2 nsec
메��� 메모리��부��� 1 �����를 ������내는 10 nsec
��������� 디������������������������부��� 1 �����를 ������내는 200 nsec
디��������부��� ���롭��� ������를 ������ 1 �����를 ������낸��� 8,000,000nsec = 8msec
L1 ��������메모리��부��� 1 �����를 ������내는 2 nsec
메��� 메모리��부��� 1 �����를 ������내는 10 nsec
��������� 디������������������������부��� 1 �����를 ������내는 200 nsec
디��������부��� ���롭��� ������를 ������ 1 �����를 ������낸��� 8,000,000nsec = 8msec
1.5. ������ ¶
- ������ 1 - ACM ��� ���대 ��������� 맡��� ���링������ ���1������ ����������������� ��� ���명��� ��������� ���������(1922-1990).������ 남��� ���������램���, �������� ���러������ ��������� �����������.Google 등����� ������ �������� ���������는 ���만�����, 본문��� ��������� 링������ ��������� ����������� 동��������� ������������ ������ ������ ������.
- ������ 2 - ��������� 문������(1709-1784).������ �������������� ������������ �������� ��������� �������� ���명���, ����� ��� 남��� ���������램����� ������������.
- ������ 3 - ��� ��� ������ ��������� 대������는, 링������를 더듬�����, ������������ ���느 문������문��������� ����������� ��������� ��� ���������.��������� ��� ���는 ��������� ������는 바���면, 부디 ������ ���������.
- ������ 4 - �����������부��� 「��������������� ������ ���동 ���람��� ��������������� ���떻��� ���������, ������������」(무등 ��������������마������ ������미�������노 ������루�������무��� 미���������)����� ��������� ����� ������.
- ������ 5 - ASCII BOOKS ��부��� 「��������� 대������」(������������ ��������������)����� ��������� ����� ������.덧붙��� 본문��� ����������� ���는 ESR ��� 문������ ���느 문��������부������ ������������는 몰랐���.본문������는 ESR 는 The New Hacker's Dictionary ��� ����������� �������� 들 ��� ������만, ��������� Jargon File ���는 ������ 문������ ���������.
- ������ 6 - 말��� �������� ������,Jamie Zawinski ������.
- ������ 7 - MythicalManMonth ��� NoSilverBullet.