์๋ฌธ : 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์ผ
์ด์ถ ๊ณต๊ฐ๏ผใ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.