E D R , A S I H C RSS

Teach Yourself Programming In Ten Years

�문 : http://www.norvig.com/21-days.html (Peter Norvig 는 AI ������� ��명�� ��람. LISP 로그래머로� ��명)

��본�� - http://www1.neweb.ne.jp/wa/yamdas/column/technique/21-daysj.html
��꺼는 ���기 �. -_- 문맥�� 따른 �� ����.

1. Teach Yourself Programming in Ten Years

Peter Norvig (E-mail: peter@norvig.com)
�� 공개: 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�����감��럽��만, ��것��로는 ������� ��다.다�� 방����로 ����다.

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개, 두����� ��가 ����나게 되 때, 나는 ��로 복����라는? 그렇�� ����다.그렇�� ��고, 나는 ������ 개������ 경�� 믿�� 문가�� ���� ������ ������보다, �� ��모�� ��, ������고 다.

Fred Brooks 는, ����「No Silver Bullets」 (IEEE Computer, 20. p. 10-19) (����7)��� ���난 ������·디�����를 기르는 3단�를 � ��고 다.

가능�� �� ��기�� �� 디������������로 ������다.
��망�� ������ �� ��고 ������는 ��리�� ��드바����를 ��, 면밀�� ��리�� ���� 보관 ������다.
������ 디������로 교류·�로 ��극�� 기��를 ��다.
������, ��미 ���난 디�����가 되는데 ���� ����고 ��람�� ������다고 ��는 것 ��로 ��고 다.��기���� ��다 (��)것��, 그들 ���� ��� �� ��는 것��다.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.

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

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.


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:10
Processing time 0.0360 sec