์ด์ผ๊ธฐ์ ๊ณ์
๋๋ 2001๋ ์ด์์ต๋๋ค. ๊ฐ์ฅ ๋ฉ์ง ์ด์์ฒด์ ๊ฐ ์ถ์๋ ์ฐ๋ - Windows XP. rsdn.ru๋ ์ธ์ ๋ํ๋ฌ์ต๋๊น? C# ๋ฐ .NET Framework๊ฐ ํ์ํ ์ฐ๋์ ๋๋ค. ๋ฐ๋ ๋์์ ์ฒซ ํด์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ 256๋ ๋์ ์๋ก์ด ํ๋์จ์ด์ ์ฑ๋ฅ์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ์ฆ๊ฐํ์ต๋๋ค: Pentium IV, XNUMXMB RAM.
9ํ๋
์ ๋ง์น๊ณ ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ๋์ ์ง์น ์ค ๋ชจ๋ฅด๋ ์ด์ ์ ๋ณธ ํ ๋ถ๋ชจ๋์ ๋๋ฅผ ๋ํ์ ํธ์
์์ผ ํ๋ก๊ทธ๋๋ฐ์ ์ ๊ณตํ๊ธฐ๋ก ๊ฒฐ์ ํ์
จ์ต๋๋ค. ๊ทธ๋ค์ ์ด๋ ๊ฒ ํ๋ ๊ฒ์ด ๋ ๋์ ๊ฒ์ด๋ฉฐ ๊ฑฐ๊ธฐ์ ๋๋ฅผ ๊ฐ๋ฅด์ณ ์ค ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ํ์ด๋ผ๋ ๋จ์ด๋ ์ฐ์
๋์ ์ธ๊ณฝ์ ์๋ ์ด ๊ธฐ๊ด์๋ ์ด์ธ๋ฆฌ์ง ์์์ต๋๋ค. ๊ทธ๊ฒ์ ์ธ๊ด์ '๋ํ'์ด๋ผ๋ ์ ํ์ด๊ฐ ์ ํ ๋ผ๋ฒจ์ ๋ถ์ด์ง ์์ ์ฌํ์ ์ ๋ฌธํ๊ต์ ๋ค๋ฅผ ๋ฐ ์๋ ํ๋ฒํ ์ ๋ฌธํ๊ต์๋ค.
์. ๋๋ ๋ถ๋ชจ๋์ ๊ฒฐ์ ์ ๋ฐ๋ํ์ง๋ ์์๊ณ ๋ถ๋ชจ๋์ ๊ฒฐ์ ์ ์ด์๋ฅผ ์ ๊ธฐํ์ง๋ ์์์ต๋๋ค. ์ด์จ๋ ๋๋ ์๊ธฐ ๊ต์ก์ ์ฐธ์ฌํ๊ณ , ์ด ์๋ก์ด ๊ณณ์์ ๊ทธ๋ค์ด ๋์๊ฒ ์ถ๊ฐ์ ์ธ ์ง์์ ์ค ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
๋ํ์ ๊ฐ๊ธฐ ์ ๊ทธํด ์ฌ๋ฆ, ๋๋ ์ก์ง์ ์ค๋ฆฐ ๊ฐ๋ฅํ ๋ชจ๋ ๊ธฐ์ ์ ์ฒ ์ ํ ์ฐ๊ตฌํ๊ธฐ ์์ํ์ต๋๋ค.
๋ฉ์ง ํด์ปค์ ๋๋ถ๋ถ์ Linux๋ฅผ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Mazda(Windows)๋ ์๋ง์ถ์ด๋ฅผ ์ํ ์ ํ์ด์์ต๋๋ค. ์ก์ง๋ฅผ ์ฝ์ ์ฌ๋์ ๋๊ตฌ๋ ์ก์ง์ ์ค๋ฆฐ ๊ฒ์๋ฌผ์ ์คํ์ผ์ ๊ธฐ์ตํฉ๋๋ค. ๋ฐ๋ผ์ ๋ด ์ฐ์ฝํ ๋ง์ ์์์ Windows๋ฅผ ๋ ๋๊ฑฐ๋ ์ฟจํ๊ฒ Linux๋ง์ ๊ณ ์ํ๋ ๋ ๊ฐ์ง ์์ด๋์ด๊ฐ ์๋ก ์ธ์ ์ต๋๋ค.
Hacker ์ก์ง์ ์๋ก์ด ํธ๊ฐ ๋์ฌ ๋๋ง๋ค ๋์คํฌ๋ฅผ ํฌ๋งทํ๊ณ Linux Red Hat 7 ๋๋ Windows Me๋ฅผ ์ค์นํด์ผ ํ๋ ์๋ก์ด ์ด์ ๊ฐ ์๊ฒผ์ต๋๋ค. ๋ฌผ๋ก ํธ๋ ์ด๋ ๋ฒกํฐ๋ ์์๊ณ ์ก์ง๋ "ํด์ปค์ ๋น๋ฐ"๊ณผ ๊ฐ์ ๋ถ๋ฒ ๋ณต์ CD์์ ์ฝ์ ๋๋ก ํ์ต๋๋ค. ๋ ๊ฐ์ ์ด์ ์ฒด์ ๋ฅผ ๋ณ๋ ฌ๋ก ์ค์นํ๋ ๊ฒ๋ "Windows XP ์ผ๋ช
์ต๋ฌด์ - ์ฃผ๋ถ์ฉ"์ด๋ผ๋ ์ ์ ์ผ๋ก ์๋ก ์ฑ์์ง ํ ์ง์์ก์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ฐํ ์ผ์ ํ๊ณ ์ถ๋ค๋ฉด ๋์ ๊ฐ๊ณ Linux ์ฝ์์์ ์์
ํด์ผ ํฉ๋๋ค.โ ๋ฌผ๋ก ์ ๋ ์์คํ
์ ํดํนํ๊ณ , ๋คํธ์ํฌ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํดํ๊ณ , ๊ทธ ๋น์์ ๊ฐ์ฅ ๊ฐ๋ ฅํ ์ต๋ช
์ด ๋๊ณ ์ถ์์ต๋๋ค.
๋์คํฌ๋ ํํ ์์ด ํฌ๋งท๋์๊ณ , ๊ทธ ์์ ์ ๋์ค ๊ณ์ด ์์คํ ์ ๋ฐฐํฌ ํคํธ๊ฐ ์ค์น๋์์ต๋๋ค. ์ ์. ์ฝ์์์ FreeBSD 4.3๋ง ์ฌ์ฉํ๋ ์ค์ ํด์ปค์์ ์ธํฐ๋ทฐ๋ฅผ ์ฝ์ ์ ์ด ์์ต๋๋ค. ๋์์ ๊ทธ๋ ์ํ๊ณผ ์ ๋ถ ์์คํ ์ ํดํนํ๋ ์ผ์ ๋ด๋นํ์ต๋๋ค. ๋จธ๋ฆฌ์ ๋ฒผ๋ฝ๋ง์ ์ผ์ด ์์๊ณ , BSD OS๋ฅผ ๋ฉ์ธ ์์คํ ์ผ๋ก 5๋ฒ์ด๋ ์ค์นํ์ต๋๋ค. ๋ฌธ์ ๋ ์ค์น ํ์๋ ์ฝ์๋ง ๋นผ๊ณ ์๋ฌด๊ฒ๋ ์์๋ค๋ ์ ์ด์์ต๋๋ค. ์๋ฆฌ์กฐ์ฐจ. ๊ทธ๋ฆฌ๊ณ KDE2๋ฅผ ์ค์นํ๊ณ ์ฌ์ด๋๋ฅผ ์ผ๊ธฐ ์ํด์๋ ํฌ๋ฒ๋ฆฐ์ ๋ค๊ณ ๋ง์ด ์ถค์ถ๊ณ ์ฌ๋ฌ ๊ฐ์ง ์ค์ ์ ์์ ํด์ผ ํ์ต๋๋ค.
FreeBSD 4.3 ๋ฐฐํฌํ์ ๊ฐ์ฅ ํด์ปค๊ฐ ๋ง์ OS์
๋๋ค.
๋ฌธํ์ ๋ํ์ฌ
์ปดํจํฐ๋ฅผ ๊ฐ๊ฒ ๋์๋ง์ ํ๋ก๊ทธ๋๋ฐ์ ๊ดํ ์ฑ
์ ์ฌ๊ธฐ ์์ํ์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ "ํฐ๋ณด ํ์ค์นผ 7.0"์ ๋ํ ๊ฐ์ด๋์์ต๋๋ค. ์ด๋ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค. ์๋ํ๋ฉด ์ ๋ ์ด๋ฏธ ํ๋ก๊ทธ๋๋ฐ ๊ณผ์ ์ ํตํด ํ์ค์นผ์ ๋ํด ์กฐ๊ธ ์๊ณ ์์๊ณ ์ค์ค๋ก ๊ณ์ ํ์ตํ ์ ์์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ฌธ์ ๋ ํด์ปค๊ฐ ํ์ค์นผ๋ก ๊ธ์ ์ฐ์ง ์๋๋ค๋ ๊ฒ์ด์์ต๋๋ค. ๊ทธ๋ฌ๋ค๊ฐ Perl ์ธ์ด๊ฐ ์ ํํ๊ณ , ์ฟจํ ์ฌ๋๋ค์๊ฒ๋ C/C++์์ต๋๋ค. ์ ์ด๋ ๊ทธ๊ฒ์ด ๊ทธ๋ค์ด ์ก์ง์ ์ด ๋ด์ฉ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๊ฐ ๋๊น์ง ์ฝ์ ์ฒซ ๋ฒ์งธ ์ฑ
์ Kernighan๊ณผ Ritchie์ "The C ํ๋ก๊ทธ๋๋ฐ ์ธ์ด"์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ ๋ Linux ํ๊ฒฝ์์ ๊ณต๋ถํ์ด์
๊ทธ๋ฆฌ๊ณ gcc์ KDE์ ๋ด์ฅ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ์ต๋๋ค.
์ด ์ฑ
์ ์ด์ด UNIX Encyclopedia๋ฅผ ๊ตฌ์
ํ์ต๋๋ค. ๋ฌด๊ฒ๋ 3kg์ด๊ณ A3 ํ์ด์ง์ ์ธ์๋์์ต๋๋ค.
์ฑ
์ ์๋ฉด์๋ ๊ฐํด๋ฅผ ๋ค๊ณ ์๋ ๋งํ ์
๋ง์ ์ ์ ๋ฌ์ฌ๊ฐ ์์๋๋ฐ, ๊ทธ ๊ฐ๊ฒฉ์ ์ฐํฌ๋ผ์ด๋์์๋ 125ํ๋ฆฌ๋ธ๋์์ต๋๋ค(25๋
์๋ ์ฝ 2001๋ฌ๋ฌ์์ต๋๋ค). ์ฑ
์ ์ฌ๊ธฐ ์ํด ํ๊ต ์น๊ตฌ์๊ฒ ๋์ ๋น๋ ธ๊ณ ๋๋จธ์ง๋ ๋ถ๋ชจ๋์ด ์ถ๊ฐํด ์ฃผ์
จ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ Unix ๋ช
๋ น, vim ๋ฐ emacs ํธ์ง๊ธฐ, ํ์ผ ์์คํ
๊ตฌ์กฐ ๋ฐ ๊ตฌ์ฑ ํ์ผ ๋ด๋ถ๋ฅผ ์ด์ ์ ์ผ๋ก ์ฐ๊ตฌํ๊ธฐ ์์ํ์ต๋๋ค. ๊ฑฐ์ 700ํ์ด์ง์ ๋ฌํ๋ ๋ฐฑ๊ณผ์ฌ์ ์ ๋ค ์ฝ์๊ณ ์ ๋ Kul-Hatzker๊ฐ ๋๊ฒ ๋ค๋ ๊ฟ์ ํ ๊ฑธ์ ๋ ๊ฐ๊น์์ก์ต๋๋ค.
UNIX ๋ฐฑ๊ณผ์ฌ์ - ๋ด๊ฐ ์ฒ์์ผ๋ก ์ฝ์ ์ฑ
์ค ํ๋
๋๋ ์ฌ๋ํ๋ ์กฐ๋ถ๋ชจ๋๊ณผ ๋ถ๋ชจ๋์ด ์ฃผ์ ๋์ ๋ชจ๋ ์ฑ ๊ตฌ์ ์ ์ผ์ต๋๋ค. ๋ค์ ์ฑ ์ C++ in 21 Days์์ต๋๋ค. ์ ๋ชฉ์ด ๋๋ฌด ๋งค๋ ฅ์ ์ด์ด์ ๋ค๋ฅธ ๊ณ ํ๋ฆฌํฐ ์ฑ ์ ๋์ฌ๊ฒจ๋ณด์ง ์์์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ด ์ฑ ์ ๋ชจ๋ ์์ค๋ ์ฝ 3์ฃผ ๋ง์ ๋ณต์ฌ๋์์ผ๋ฉฐ, ๋๋ ์ด๋ฏธ C++๋ก ์ด๋ ์ ๋ ์ดํดํ๊ณ ์์์ต๋๋ค. ์๋ง๋ ๋๋ ์ด ๋ชฉ๋ก์ ์ฐ์ฌ์ง ๋ด์ฉ์ ๋ ์ด์ ์ดํดํ์ง ๋ชปํ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ง์ ์ด ์์์ต๋๋ค.
๋น์ ์ ๊ฒฝ๋ ฅ์ โโ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น ์ฑ ์ด ๋ฌด์์ธ์ง ๋ฌป๋๋ค๋ฉด ๋๋ ์ฃผ์ ์์ด "ํ๋ก๊ทธ๋๋ฐ์ ์์ " - D. Knuth๋ผ๊ณ ๋ตํ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ๋์ ์ฌ๋ฐฐ์ ์ด์์ต๋๋ค. ์ด ์ฑ ์ด ์ด๋ป๊ฒ ๋ด ์์ ๋ค์ด์๋์ง ์ ํํ ๋งํ ์๋ ์์ง๋ง ๋ด ๋ฏธ๋ ๊ฒฝ๋ ฅ์ ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค.
ํ๋ก๊ทธ๋๋ฐ์ ์์ - ๊ผญ ์ฝ์ด๋ณด์ธ์
๋๋ ์ฃผ๋ก ์ผ์์ผ์๋ง ์ด๋ฆฌ๋ ๋ผ๋์ค ์ฅํฐ์์ ์ฑ ์ ์๋ค. ์์นจ ์์ฌ ๋น์ฉ์ผ๋ก ์์ญ ํ๋ฆฌ๋ธ๋๋ฅผ ๋ ์ ์ฝํ ํ C++๋ Perl์ ๊ดํ ์ ์ฑ ์ ์ฐพ์ผ๋ฌ ๊ฐ์ต๋๋ค. ์ ํ์ ํญ์ด ๊ฝค ์ปธ๋๋ฐ ๋ฉํ ๊ฐ ์์ด์ ๋ค ๊ณต๋ถํ์ด์. ๋๋ ํ๋งค์์๊ฒ ํ๋ก๊ทธ๋๋ฐ์ ๊ดํด ์ถ์ฒํด ๋ฌ๋ผ๊ณ ์์ฒญํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ๊ธฐ์ตํ๋ ํ, ๊ทธ๋ "ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ์ "์ ์ฑ ์ฅ์์ ๊บผ๋์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๋ณผ๋ฅจ". ๊ทธ ์ฑ ์ ๋ถ๋ช ํ ์ด๋ฏธ ์ฌ์ฉ๋ ๊ฒ์ด์์ต๋๋ค. ํ์ง ๋ชจ์๋ฆฌ๊ฐ ํ์ด์ ธ ์์๊ณ , ๋ท๋ฉด์๋ ๋น ๊ฒ์ด์ธ ๊ฐ โ์ด ์ฑ ์ ์ฝ์ผ๋ฉด ์ด๋ ฅ์๋ฅผ ๊ผญ ๋ณด๋ด์ฃผ์ธ์.โ๋ผ๋ ์ํ์ ๋จ๊ธด ๊ณณ์ ์ปค๋ค๋ ํ ์ง์ด ๋ ์์์ต๋๋ค. ๋๋ ์ก์ง๋ฅผ ํตํด ๊ฒ์ด์ธ ์ ๋ํด ์๊ณ ์์๊ณ , ๋ชจ๋ ํด์ปค๋ค์ด ๊ทธ๋ฅผ ๋น๋ํ๋๋ผ๋ ๊ทธ์๊ฒ ์ด๋ ฅ์๋ฅผ ๋ณด๋ด๋ ๊ฒ์ด ์ข์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ์ฑ ๊ฐ๊ฒฉ์ 72 UAH์ ๋๋ค. ($15), ๋๋ ์๋ก์ด ์๋ฃ๋ฅผ ๊ณต๋ถํ๊ธฐ ์ํด ์ ์ฐจ๋ฅผ ํ๊ณ ์ฌ๋นจ๋ฆฌ ์ง์ผ๋ก ๋ฌ๋ ค๊ฐ์ต๋๋ค.
๋ฌผ๋ก ๋ด๊ฐ ์ฝ์ ๋ด์ฉ์ด ์ผ๋ง๋ ๊น๊ณ ๊ธฐ๋ณธ์ ์ธ ๊ฒ์ธ์ง๋ 15์ธ ๋ ์ดํดํ ์ ์์์ต๋๋ค. ํ์ง๋ง ๋๋ ๋ชจ๋ ์ด๋์ ์๋ฃํ๊ธฐ ์ํด ๋ถ์ง๋ฐํ ๋
ธ๋ ฅํ์ต๋๋ค. ํ๋ฒ์ ๋์ด๋๊ฐ 25~30์ธ ๋ฌธ์ ๋ฅผ ์ ๋๋ก ํ๊ธฐ๋ ํ์ต๋๋ค. ๊ทธ๊ฒ์ ์ํ์ ๊ท๋ฉ๋ฒ์ ๊ดํ ์ฅ์ด์์ต๋๋ค. ํ๊ต ์ํ์ ์ข์ํ์ง๋ ์๊ณ ์ ์ดํดํ์ง๋ ๋ชปํ๋๋ฐ๋ ๋งคํธ๋ฅผ ๋์์ต๋๋ค. Knuth์ ๋ถ์ - ๋๋ ๋ช ์๊ฐ ๋์ ์์ ์์์ต๋๋ค.
๋ค์์ผ๋ก ๋ ๋ฒ์งธ ์ฅ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ์์์ต๋๋ค. ์ฐ๊ฒฐ๋ ๋ชฉ๋ก, ์ด์ง ํธ๋ฆฌ, ์คํ ๋ฐ ๋๊ธฐ์ด์ ์ด๋ฏธ์ง์ ๊ทธ๋ฆผ์ด ์ฌ์ ํ ๋ด ๋์์ ์์ต๋๋ค. ์์
๊ฐ๋ฐ ๋ถ์ผ์์ 12๋
๊ฐ ๊ฒฝ๋ ฅ์ ์์ผ๋ฉด์ ์ ๋ ๋๋ถ๋ถ์ ๋ฒ์ฉ ์ธ์ด๋ฅผ ์ฌ์ฉํด ์์ต๋๋ค.
์ฌ๊ธฐ์๋ C/C++, C#, Java, Python, JavaScript, Delphi๊ฐ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ธ์ด๊ฐ ๋ฌด์์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ทธ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ Donald Knuth๊ฐ XNUMX๊ถ์ผ๋ก ๊ตฌ์ฑ๋ ์ฑ
์์ ์ค๋ช
ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ๋ ๋ฐ๋ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง ์์ต๋๋ค.
XNUMX๊ถ์ ๊ฝค ๋นจ๋ฆฌ ์ฝํ์ก์ต๋๋ค. ํฌ๋์ค์ ์ฑ
์ ๋์ค๋ ์๊ณ ๋ฆฌ์ฆ์ C ์ธ์ด๋ก ๋ค์ ์ผ๋๋ฐ, ๋ ์ ๋์ง ์์์ง๋ง, ์ฐ์ต์ ํ๋ฉด ํ ์๋ก ๋ช
๋ฃํด์ก์ต๋๋ค. ์ด์ ์ด ๋ถ์กฑํ์ง ์์์ต๋๋ค. XNUMX๊ถ์ ๋ค ์ฝ๊ณ ๋์ ๋ง์ค์ ์์ด XNUMX๊ถ๊ณผ XNUMX๊ถ์ ์ฌ๊ธฐ ์ํด ๋ฌ๋ ค๊ฐ์ต๋๋ค. ๋ ๋ฒ์งธ๋ ์ผ๋จ ์์ผ๋ก ์น์๋๊ณ ์ธ ๋ฒ์งธ(์ ๋ ฌ ๋ฐ ๊ฒ์)๋ ์ฒ ์ ํ๊ฒ ์ก์์ต๋๋ค.
๋๋ ์ ๋ ฌ ๋ฐ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ "ํด์"ํ๋ฉด์ ์ ์ฒด ๋
ธํธ๋ฅผ ์ด๋ป๊ฒ ์ฑ์ ๋์ง ์์ฃผ ์ ๊ธฐ์ตํฉ๋๋ค. ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด์ง ๊ฒ์๊ณผ ํต ์ ๋ ฌ์ Knuth ์ XNUMX๊ถ์์ ๊ฐ๋ต์ ์ผ๋ก ์ด๋ป๊ฒ ๋ณด์ด๋์ง ๊ธฐ์ตํ๋ฉด์ ๋น์ ์๋๋ก ๋ด ๋๋์ ์๊ฐํ๋ฉ๋๋ค.
์ฑ์ฐ์ ๋ชจ๋ ๊ณณ์์ ์ฝํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ค์ ๊ฐ์ ๋์๋ ๊ทผ์ฒ์ PC๊ฐ ์์ด ์๊ณ ๋ฆฌ์ฆ์ ๋
ธํธ์ ์ ๊ณ ์ด๋ฅผ ํตํด ์ผ๋ จ์ ์ซ์๋ฅผ ์คํํ์ต๋๋ค. ๋๋ ํ ์ ๋ ฌ์ ๋ง์คํฐํ๋ ๋ฐ ์ผ๋ง๋ ๋ง์ ๊ณ ํต์ด ํ์ํ๋์ง ์์ง๋ ๊ธฐ์ตํ์ง๋ง ๊ทธ๋งํ ๊ฐ์น๊ฐ ์์์ต๋๋ค.
๋์๊ฒ ํฐ ์ํฅ์ ์ค ๋ค์ ์ฑ
์ ใ์ฉ์ ์ใ์๋ค. ๋ํ "์ปดํ์ผ๋ฌ: ์๋ฆฌ, ๊ธฐ์ , ๋๊ตฌ" - A. Aho, R. Seti์
๋๋ค. ๊ทธ๋
๋ Herbert Schiltd๋ณด๋ค ์์ C++์ ๊ณ ๊ธ ์์
์ ์ํํ์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ ๋ค์ด ๋ชจ์ธ ๊ณณ์
๋๋ค.
Schildt ๋๋ถ์ ๋๋ ํ์์ ์ธ์ด ํด์๊ธฐ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋๊ณค์ ์ฑ
์ ๋์๊ฒ ๋๋ง์ C++ ์ปดํ์ผ๋ฌ๋ฅผ ์์ฑํ๋๋ก ์๊ทนํ์ต๋๋ค.
๊ทธ ๋ฌด๋ ต ๋๋ ๋ชจ๋์ ๊ฐ๊ณ ๋ฆ๋ ์ธํฐ๋ท ์ฐ๊ฒฐ์ ์ป์๊ณ ํ๋ก๊ทธ๋๋จธ๋ค์๊ฒ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ฌ์ดํธ์ธ rsdn.ru์์ ๋ง์ ์๊ฐ์ ๋ณด๋์ต๋๋ค. C++๊ฐ ๊ทธ๊ณณ์ ์ง๋ฐฐํ๊ณ ๋ชจ๋ ์ ๋ฌธ๊ฐ๋ ๋ด๊ฐ ์ฒ๋ฆฌํ ์ ์๋ ์ง๋ฌธ์ ๋ตํ ์ ์์์ต๋๋ค. ๋ง์์ด ์ํ ๊ณ ์ดํด๊ฐ ๋์ด์
๋๋ ์ด ์์ผ๋ ๋จ์๋ค๊ณผ๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๊ธฐ ๋๋ฌธ์ "From and To"์ ์ฅ์ ์ ๋ํด ๋ด๋ถ์ ์ผ๋ก ์ฐ๊ตฌํด์ผํฉ๋๋ค. ์ด๋ฌํ ๋๊ธฐ๋ ๋๋ฅผ ๋์ ์ฒซ ๋ฒ์งธ ์ง์งํ ํ๋ก์ ํธ, ์ฆ 1998๋
C++ ํ์ค์ ์ปดํ์ผ๋ฌ๋ก ์ด๋์์ต๋๋ค. ์ด ๊ฒ์๋ฌผ์์ ๋ ์์ธํ ๊ธฐ๋ก๊ณผ ์ถ์ฒ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
ํ๊ต ๋๋ ๋ ํ
ํ์ง๋ง IDE ์ธ๋ถ์ ํ์ค๋ก ๋์๊ฐ ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ ๋ฌด๋ ต์๋ ์ ์ ํ์ค ์ํ์์ ๋ฉ์ด์ง๊ณ ๊ฐ์ ์ํ์ ๋น ์ ธ๋ค์์ง๋ง ์ฌ์ ํ ๋ด ๋์ด์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ ๋ค์ฌ์ง๋ ๊ท๋ฒ์ผ๋ก ์ธํด ๋ํ์ ๊ฐ์ผํ์ต๋๋ค. ์ ๋ง ๊ณ ๋ฌธ์ด์์ต๋๋ค. ๋๋ ๋ด๊ฐ ์ด ์์ค์์ ๋ฌด์์ ํ๊ณ ์๋์ง, ์ ์ด ์ ๋ณด๋ฅผ ๋ฃ๊ณ ์๋์ง ์ ํ ๋ชฐ๋์ต๋๋ค. ๋ด ๋จธ๋ฆฟ์์๋ ์์ ํ ๋ค๋ฅธ ์ฐ์ ์์๊ฐ ์์์ต๋๋ค. Visual Studio 6.0์ ๋ฐฐ์ฐ๊ณ , WinApi์ Delphi 6์ ์ฌ์ฉํด ๋ด
๋๋ค.
๋น๋ก ์ ์ฒด ๊ทธ๋ฆผ์ ์ดํดํ์ง๋ ๋ชปํ์ง๋ง ์ ๊ฐ ์ทจํ๋ ๋ชจ๋ ๋จ๊ณ์์ ๊ธฐ๋ปํ ์ ์๊ฒ ํด ์ค ๋ฉ์ง ์ฌ์ดํธ์ธ firststeps.ru์
๋๋ค. ์๋ฅผ ๋ค์ด ๋์ผํ ๊ธฐ์ MFC ๋๋ ActiveX์์.
๋ํ์ ์ด๋ป์ต๋๊น? ์๊ฐ ๋ญ๋น์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ณต๋ถ๋ผ๋ ์ฃผ์ ๋ฅผ ๋ค๋ฃจ๋ฉด ๊ณต๋ถ๊ฐ ์ ์ ๋์ด์. 6ํ๋
๊น์ง๋ ์ฐ์ํ ํ์์ด์๋๋ฐ, ๊ทธ ํ C๋ฑ๊ธ์ ๋ฐ์๊ณ , 8~9ํ๋
์ด ๋์ ์์
์ ์์ฃผ ๋นผ๋จน์๊ณ , ๊ทธ ๋๋ฌธ์ ๋ถ๋ชจ๋์ผ๋ก๋ถํฐ ํ์์ ๋ฒจํธ๋ฅผ ๋ฐ์์ต๋๋ค.
๊ทธ๋์ ๋ํ์ ์์ ๋๋ ์ด์ ์ด ๊ฑฐ์ ์์์ต๋๋ค.
- ํ๋ก๊ทธ๋๋ฐ์ ์ด๋์ ์๋์? ๋๋ ๋ ์์ ์๊ฒ ์ง๋ฌธ์ ํ๋ค. ํ์ง๋ง ์๋ฐ๊ธฐ์๋ ๊ทธ ์๋ฆฌ์ ์์๋ค. ๊ทธ๋ฌ๋ MS-DOS์ Office, ์ผ๋ฐ ๊ต์ก ๊ณผ๋ชฉ์ ํฌํจํ ์ปดํจํฐ ๊ณผํ์ด์์์ต๋๋ค.
๊ฒ๋ค๊ฐ ์ ๊ฐ ์ฑ๊ฒฉ์ด ๋ด์ฑ์ ์ด๊ณ ๊ต์ฅํ ๊ฒธ์ํ ํธ์ด์์ด์. ์ด ์๋ก์ด ์ก๋คํ ์น๋ฌด์์ ํ์คํ ์์ ๊ฐ์ ๋ถ๋ฌ์ผ์ผํค์ง ๋ชปํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์ํธ์ ์ด์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ค์ํ ์ข
๋ฅ์ ์กฐ๋กฑ์ด ์ค๋์ง ์์ ์ฌ ๊ฒ์
๋๋ค. ๋๋ ์ฐธ์ ์ ์์ด ์์
์๊ฐ์ ๊ฐํด์ ์ค ํ ์ฌ๋์ ์ผ๊ตด์ ๋๋ฆด ๋๊น์ง ์ค๋ซ๋์ ์ฐธ์์ต๋๋ค. ๋ค, ๊ทธ๋์ ๊ทธ๋ ์ฑ
์์ผ๋ก ๋ ์๊ฐ์ต๋๋ค. ์๋ฒ์ง ๋๋ถ์ ์ด๋ฆฐ ์์ ๋ถํฐ ์ธ์ฐ๋ ๋ฒ์ ๊ฐ๋ฅด์ณ ์ฃผ์
จ๊ณ , ์ ๊ฐ ์ ๋ง๋ก ์ํ๋ฉด ์ก์ฒด์ ํ์ ์ฌ์ฉํ ์๋ ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฐ ์ผ์ ๋งค์ฐ ๋๋ฌผ๊ฒ ๋ฐ์ํ์ผ๋ฉฐ ๋ ์์ฃผ ์กฐ๋กฑ์ ๊ฒฌ๋๋ฉฐ ์ต๋ ๋๋์ ์ ๊ธฐ๋ค๋ ธ์ต๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ๊ฐํด์๋ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ํฌ๊ฒ ๋นํฉํ์ง๋ง ์ฌ์ ํ ์์ ์ ์ฐ์ํจ์ ๋๋ผ๊ณ ๋ณด๋ณต ์ธ์์ ๋์ ํ์ต๋๋ค. ์ด๋ฏธ ๊ต์ก ๊ธฐ๊ด ๋ค์ ๊ณตํฐ์ ์์ต๋๋ค.
์ด๊ฒ์ ํ๊ต์์์ฒ๋ผ ์์ด๋ค์ด ์ฃผ๋จน์ ํ๋๋ฅด๋ ๊ฒ์ด ์๋์์ต๋๋ค. ์ฝ๊ฐ ๋ถ๋ฌ์ง๊ณ ํผ๊ฐ ๋ง์ด ๋ ๊ณ ๊ทํ ๋งํํ๊ฐ ์์์ต๋๋ค. ๊ทธ ๋จ์๋ ๋ํ ์์ฌํ ๋จ์๊ฐ ์๋์๊ณ ๋ฅ์ํ๊ฒ ํํฌ์ ์ดํผ์ปท์ ์ ๋ฌํ์ต๋๋ค. ๋ชจ๋๊ฐ ์ด์๋จ์๊ณ ๊ทธ ์ดํ๋ก ๋ ์ด์ ๋๋ฅผ ๊ดด๋กญํ๋ ์ฌ๋์ ์๋ฌด๋ ์์์ต๋๋ค.
์ด 'ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํ ๋ํ'์์์. ๋๋ ๊ณง ๊ทธ๊ณณ์ ๊ฐ๊ณ ์ถ์ ๋ง์์ ์์ ํ ์์์ต๋๋ค. ๊ทธ๋์ ๋๋ ๊ทธ๊ณณ์ ๊ฐ์ง ์์๊ณ ๋ถ๋ชจ๋์ ์ํ๋ ๋์๊ฒ ์๋ฌด๋ฐ ์ํฅ์ ๋ฏธ์น์ง ์์์ต๋๋ค. ๊ธฐ์ ์ ์ผ๋ก ๋ํ ์ฌํ ๊ธฐ๊ฐ์ด 10ํ๋
์ผ๋ก ๊ณ์ฐ๋์ด 11ํ๋
์ ์งํํ ๊ถ๋ฆฌ๊ฐ ์๊ฒผ์ต๋๋ค.
๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ ๊ฒ์ด์ง๋ง 11ํ๋
์ ๋ํ๋ณด๋ค ๋ณ๋ก ์ข์ง ์์ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ๋๋ ๊ณ ํฅ ํ๊ต๋ก ๋์์์ XNUMXํ๋
๋๋ถํฐ ํจ๊ป ๊ณต๋ถํ๋ ์๋ ๋ช๋ช ๋จ์๋ค์ ๋ง๋ฌ๊ณ , ๊ณ ํฅ์์ ๋ชจ๋ ์ผ์ด ์๋๊ธฐ๋ฅผ ๋ฐ๋์ต๋๋ค. ๋์์ค๋ ๋จ ํ๋๋ฟ์ด์์ต๋๋ค. ๊ทธ ๋จ์๋ค์ ์ ๊ฐ ์ด๋ฑํ๊ต ๋ ์น๊ตฌ์๋ ๋จ์๋ค๋ณด๋ค TV ์๋ฆฌ์ฆ์ ๋๋์ฒ๋ผ ๋ณด์์ต๋๋ค. ๊ทผ์ก๋์ ๋๋ฆฌ๊ธฐ ์ํด ๋ชจ๋๊ฐ ์ฒด์ก๊ด์ผ๋ก ๋ชจ์ฌ๋ค์์ต๋๋ค. ๋๋ ๋๋๋ฌด๋ฅผ ๋ฎ์๋ค. ํค๊ฐ ํฌ๊ณ ๋งค์ฐ ์์ต๋๋ค. ๋ฌผ๋ก ๊ทธ๋ฐ ๊นกํจ ๋๊ธ์์ ๋๋ฅผ ์ผ์ ํ๋๋ก ๋ฌถ์ ์๋ ์์ต๋๋ค.
์๊ฐ์ด ์ง๋๋ฉด์ ์ด๋ฐ ์ผ์ด ์ผ์ด๋๊ธฐ ์์ํ์ต๋๋ค. ์ฌ๊ธฐ์ ๋ด ์ ํฌ ๊ธฐ์ ์ ๋ ์ด์ ํจ๊ณผ๊ฐ ์์์ต๋๋ค. ์ฒด๊ธ ์นดํ
๊ณ ๋ฆฌ๋ ๋์ ํ๋ ๋ด ๋ชจ๊ตญ์ด ์์
์ ๋ค์๋ ๋๋จธ์ง ์๋
๋ค์๊ฒ๋ ๋งค์ฐ ๋ฌ๋์ต๋๋ค. ๋ํ ๋ด ์๊ฐ์ ํน์ด์ฑ์ด ๋๊ปด์ก์ต๋๋ค.
๋ ๋ํ ์๊ฐ์ ๋ฒ๋ฆฌ์ง ๋ชปํ ์ฑ ํ๊ต๋ฅผ ๋ ๋ฌ๋ค. ๋ด๊ฐ ํธ์ํ๋ค๊ณ ๋๋ ๊ณณ์ ์ปดํจํฐ ๋ชจ๋ํฐ ์์ด์๊ณ , ๋ด ๋ฐฉ ๋ฌธ์ ๋ซํ ์์๋ค. ๊ทธ๊ฒ์ ์๋ฏธ๊ฐ ์์๊ณ ์ง๊ด์ ์ผ๋ก ๋ด๊ฐ ์ณ์ ์ผ์ ํ๊ณ ์๋ค๋ ๋๋์ ๋ฐ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ํ๊ต๋ ์ธ๋ชจ์๋ ํ๋์ด๊ณ , ๋๋ ์ด ์ ์ ๋ ๊ต๋ฌํด์ง๋ ์ด๋ฌํ ์กฐ๋กฑ์ ๊ฒฌ๋๋ ๊ฒ์กฐ์ฐจ... ๊ทธ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํฉ๋๋ค.
์์
์๊ฐ์ ๋ ๋ค๋ฅธ ๊ฐ๋ฑ์ ๊ฒช์ ํ, ๋๋ ํ๊ต๋ฅผ ๊ทธ๋ง๋๊ณ ๋ค์๋ ๊ทธ๊ณณ์ ๊ฐ์ง ์์์ต๋๋ค.
์ฝ 3๊ฐ์ ๋์ ์ ๋ ์ง์ ์์ ์ฌ๊ฐ ์๊ฐ์ C++/WinAPI/MFC ๋ฐ rsdn.ru๋ฅผ ๋ฐฐ์ฐ๋ฉฐ ๋ณด๋์ต๋๋ค.
๊ฒฐ๊ตญ ํ๊ต์ฅ์ ์ฐธ์ง ๋ชปํ๊ณ ์ง์ ์ ํ๋ฅผ ๊ฑธ์๋ค.
- โ๋ฐ๋์ค, ๊ณต๋ถํ ์๊ฐ ์์ด? ์๋๋ฉด ๋ ๋ ๊ฒ์ธ๊ฐ? ๊ฒฐ์ ํ๋ค. ์๋ฌด๋ ๋น์ ์ ๋ถ๋ช
์์ ๋น ๋จ๋ฆฌ์ง ์์ ๊ฒ์
๋๋ค.โ - ๊ฐ๋
์ด ๋งํ๋ค.
โ๊ฐ๊ฒ ์ต๋๋ค.โ ๋๋ ์์ ์๊ฒ ๋๋ตํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์, ๊ฐ์ ์ด์ผ๊ธฐ. ํ๊ต๋ฅผ ์กธ์
ํ๊ธฐ๊น์ง ๊ณต๋ถ๋ฅผ ๋ง์น๋ ค๋ฉด ๋ฐ๋
์ด ๋จ์์ต๋๋ค. ๋นต ๊ป์ง์์ด ๋๋ฅผ ๋ ๋์ง ๋ง์ญ์์ค. ๋ถ๋ชจ๋์ ์ ๋ฅผ ํฌ๊ธฐํ์๊ณ ์ง์ ๊ฐ๋
๋๊ณผ ํ์ํ๋ฌ ๊ฐ๋ผ๊ณ ํ์
จ์ด์. ๋๋ ํ๊ต ๊ต์ฅ์๊ฒ ์์ต๋๋ค. ๋ด๊ฐ ๋ค์ด๊ฐ ๋ ๊ทธ๋
๋ ๋์๊ฒ ๋ชจ์๋ฅผ ๋ฒ์ผ๋ผ๊ณ ์๋ฆฌ์ณค๋ค. ๊ทธ๋ฌ์ ๊ทธ๋
๋ โ๋ด๊ฐ ๋น์ ์ ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?โ๋ผ๊ณ ์ํ๊ฒ ๋ฌผ์๋ค. ์์งํ ๋ ์์ ๋ ๋ฌด์์ ํด์ผ ํ ์ง ๋ชฐ๋๋ค. ๋๋ ํ์ฌ ์ํฉ์ ๋งค์ฐ ๋ง์กฑํ์ต๋๋ค. ๋ง์นจ๋ด ๊ทธ๋
๋ ๋ฐ๋ฅ์ ์ฐจ์งํ์ต๋๋ค.
- โ๊ทธ๋ผ ์ด๋ ๊ฒ ํ์. ๋ด๊ฐ ์ ๋
ํ๊ต ๊ต์ฅ๊ณผ ํฉ์ํด์ ๊ฑฐ๊ธฐ๋ก ๊ฐ๋๋ก ํ๊ฒ ๋ค.โ
- "์"
๊ทธ๋ฆฌ๊ณ ์ ๋ ํ๊ต๋ ๋ ๊ฐ์ ํ๋ฆฌ์คํ์ผ๋ฌ๋ค์๊ฒ ์ง์ ํ ์ฒ๊ตญ์ด์์ต๋๋ค. ์ํ๋ฉด ๊ฐ๊ฑฐ๋ ๊ฐ์ง ๋ง์ธ์. ์์ ์๋ 45๋ช ์ด ์์๋๋ฐ ๊ทธ ์ค 6~7๋ช ๋ง์ด ์์ ์ ์ฐธ์ํ์ต๋๋ค. ๋ชฉ๋ก์ ์๋ ๋ชจ๋ ์ฌ๋์ด ์ด์ ์์๊ณ ์์ ๋ก์ ๋์ง ํ์คํ์ง ์์ต๋๋ค. ๋ด ์์์๋ง ๋ฐ ์น๊ตฌ๋ค์ด ๋ค๋ฅธ ์ฌ๋์ ์คํ ๋ฐ์ด๋ฅผ ํ์ณค๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ค์ ์ฌ์ค๋ก ๋จ์์ต๋๋ค. ๋๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ ๋ฌด์ ํ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ์ ์์๊ณ , ์ ๋ง๋ก ํ์ํ ๋ ํ๊ต์ ๊ฐ ์ ์์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ๋๋ด๊ณ ์ต์ข ์ํ์ ํฉ๊ฒฉํ์ต๋๋ค. ๋ณ๋ก ์๊ตฌํ์ง๋ ์์๊ณ , ์กธ์ ์๊น์ง ํ๊ฒ ๋๋ค. ์กธ์ ์์ฒด๋ ๋ณ๋์ ์ฐํ์ ๋๋ค. ๋๋ค ๋์ ๋ค๊ณผ ๋๊ธ์๋ค์ด ๋ด ์๊ณ๋ฅผ ๋นผ์์๋ ๊ธฐ์ต์ด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฑ์ ๋ฃ์๋ง์ ์ฆ๋ช ์๋ฅผ ์์ฌํ๋ ๋์ ๋๋ ๋ ์ด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ๋ฌธ์๋ฅผ ์ป๊ธฐ ์ํด ํธ๋กํธ๋ก ๋ฌ๋ ค๊ฐ๊ณ ์ด์์ฒ๋ผ ํ๊ต ๋ฐ์ผ๋ก ๋ ์๊ฐ์ต๋๋ค.
์ฌ๋ฆ์ด ์ฝ์์ด์๋ค. Donald Knuth๋ฅผ ํ์ ์๊ณ ํด๋ณ, ๋ฐ๋ค, ํ์์ ๋ฐ๋ผ๋ณด๋ฉฐ ์์ ๋ง์ ํฐ ํ๋ก์ ํธ(์ปดํ์ผ๋ฌ)๋ฅผ ์์ฑํ๊ฒ ๋ค๋ ์ด๋ช
์ ์ธ ๊ฒฐ์ ์ ๋ด๋ ธ์ต๋๋ค.
๊ณ์ ๋ ...
์ถ์ฒ : habr.com