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.0355 sec