์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
Pascal์์ ๋์ด์ด
Pascal
1. ๊ฐ์[ํธ์ง]
program Hello;
begin
writeln ('Hello, world.');
end.ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํ ์ข ๋ฅ. ๋ถ๋ฅ์ C์ ๋น์ทํ ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ํ๋ค.
2. ์ญ์ฌ[ํธ์ง]
1970๋
์ ์ค์์ค์ ๋ํด๋ผ์ฐ์ค ๋น๋ฅดํธ(Niklaus Wirth)๊ฐ ๊ฐ๋ฐํ๋ค. ๋ฌธ๋ฒ ์ค๊ณ๊ฐ ๊น๋ํ๊ธฐ ๋๋ฌธ์ ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋
์ ๊ตฌํํ๊ณ ์ค๋ช
ํ๊ธฐ์ ์๋ง์์ ๊ต์ก์ฉ ์ธ์ด๋ก ๋ถ๋ฅ๋๋ค.
์ค์ ๋ก 1990๋ ๋ ํ๋ฐ๊น์ง ๋ฏธ๊ตญ์ ๊ณ ๋ฑํ๊ต์ ๋ํ์์ ํ๋ก๊ทธ๋๋ฐ ๊ต์ก์ ์ํด์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋ ์ธ์ด์๋ค. ํ์ง๋ง ๊ฒฝ์ ์ธ์ด๋ผ ํ ์ ์๋ C๊ฐ 90๋ ๋ ์ค๋ฐ๋ถํฐ ๋์ธ๊ธฐ๋ฅผ ๋๋ฉด์ ๋ฐ๋ฆฌ๋ค๊ฐ 21์ธ๊ธฐ์ ๋ค์ด์ค๋ฉด์ C++, Java ์๋๋ฅผ ๊ฑฐ์น๋ฉด์ ์กด์ฌ๊ฐ์ด ์ฌ๋ผ์ง ์ธ์ด์ด๋ค. ์ ์ฑ๊ธฐ ๋ ๋ํ์ ์ด์๋ Borland ์ฌ์ ํฐ๋ณด ํ์ค์นผ(Turbo Pascal)์ด ์ฌ์ค์์ ํ์ค์ด ๋๋ฉด์ ๋ ์์ ์ธ์ด ์ฌ์์ ๋๋ ค๋๊ฐ๊ณ , ์ด ๊ณผ์ ์์ ํํธํ๊ฐ ์ ์ ์ฌํด์ง ๊ฒ๋ ๋์ค์ ๋ฌธ์ ๊ฐ ๋์๋ค. ํ์ฌ ๋จ์์๋ ํ์ค์นผ ์ฌ์ฉ ๋ถ์ผ ๋๋ถ๋ถ์ ๊ฐ์ฅ ์ฑ๊ณตํ๋ ๋ธํ์ด(Delphi) ์ ํ๊ณผ ๊ด๋ จ๋๋ค.
์ฃฝ์ ์ธ์ด๋ผ๊ณ ๋ ํ๋ ์ด๋ ์์ง๋ง ์์ง ์ฃฝ์ง๋ ์์๋ค. ์ฌ์ค์ ์ธ์ด๋ผ๋ ๊ฒ ์ ๋ง๋ก ์์ ์ ์ฐ์ด๋ ๊ฒ์ด ์๋๋ฉด ์ฃฝ์๋ค๊ณ ํ๊ธฐ ์ด๋ ต๋ค.๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฐ ๋ง์ด ๋์ค๋ฉด ๊ท์ ๊ฐ์ด ํ์๋ค์ด ๋ฐ์ณ๋์์ '๋ ์์ง๋ ํ๋ก๊ทธ๋จ ๋ง๋ ๋ค ์์ฃฝ์๋ค!' ๋ผ๊ณ ํ๊ธฐ ๋๋ฌธ์ ๊ฒฐํ์ด ๋์ง ์๋๋ค ์๋์์๋ ๋ณด์ด์ง๋ง Delphi๋ผ๋ ์ด๋ฆ์ผ๋ก ์์ง๋ ์์ฅ์ ์ถ์๋๋ ๊ฐ๋ฐ ํด๋ ์์ผ๋ฉฐ, ์คํ์์ค ์์ญ์์๋ Free Pascal์ด๋ผ๋ ์ปดํ์ผ๋ฌ๋ ์ถ์๋๋ค. ์ฌ๋งํ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ค์ ๋ฅ๊ฐํ๋ ์์ค์ ๊ณต๊ฐ ํ๋ก๊ทธ๋จ๋ ํ๋ฐํ๋ฉฐ ์ด๋ฅผ ์ฌ์ฉํ Lazarus๋ผ๋ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ๋ ์ง์์ ์ผ๋ก ๊ฐ๋ฐ๋๊ณ ์๋ค.
์ปดํจํฐ ์ธ์ด์ ์ญ์ฌ๋ฅผ ์๊ฐํ ๋ ๋์ค๋ ๋ง์ ์ธ์ด๋ค์ด ์ค์ ๋ก ๊ทธ ์ธ์ด๋ฅผ ์ฌ์ฉํด๋ณผ ์ ์๋ ์ปดํ์ผ๋ฌ๋ฅผ ๊ตฌํ๊ณ ์ ํ ๋ ์ธํฐ๋ท์ ์๋ฌด๋ฆฌ ๋ค์ ธ๋ ๊ตฌํ ์ ์๊ฑฐ๋, ๊ตฌํ ์ ์์ด๋ ๋งค์ฐ ์กฐ์กํ ์์ค์ ์๋ ์์ ์ ํ๋ก๊ทธ๋จ๋ฐ์ ์๋ ๊ฒฝ์ฐ๋ ํํ ํ์ค[1]์์ ํ์ค์นผ ์ธ์ด๋ ๋จ ํ ๋ฒ์ ๊ฒ์์ผ๋ก๋ ๊ฝค ํ๋ฅญํ ๊ฐ๋ฐํ๊ฒฝ์ ์ง๋ ์ปดํ์ผ๋ฌ๋ฅผ ๋ฌด๋ฃ๋ก ๊ตฌํ ์ ์๋ ์ธ์ด์ด๋ค. ์์ง๋ ๋ง์ ์ผ๋ฐ ์ฌ์ฉ์์ ํฌ๋ค์ด ์กด์ฌํ๋ฉด์ ํ๋ํ๊ณ ์๋ค๋ ๊ฒ์ด๋ค. ๋น๋ก ์ฃผ๋ฅ ์ธ์ด์์ ๋ฐ๋ ค๋ ๊ฒ์ ์ฌ์ค์ด์ง๋ง ๋ฌด์ํ ๋ง์ ์ปดํจํฐ ์ธ์ด ์ค์์ ๊ทธ๋๋ ์๊ธฐ ์๋ฆฌ๋ฅผ ์์ง๋ ์งํค๊ณ ์๋ ์ธ์ด์ด๋ค.
Ada๋ผ๋ ์ธ์ด๊ฐ ํ์ค์นผ์ ์น์ฒ ์ฏค ๋๋ ์ธ์ด์ด๋ค. ์๊ธด ๊ฒ๋ ๋น์ทํ๋ค. ๋ฏธ๊ตญ ๊ตญ๋ฐฉ์ฑ์ ์ํ์ฌ ๊ฐ๋ฐ๋ ์ธ์ด์ด๊ณ ๋ฌด๊ธฐ์ ์ด, ํญ๊ณต์ฐ์ฃผ์ฐ์ ๋ฑ์ ์ฐ์ด๊ณ ์๋ค. ์ํ์๋ ์์ฃผ ์ถ์ฐํ๋ค.
์ค์ ๋ก 1990๋ ๋ ํ๋ฐ๊น์ง ๋ฏธ๊ตญ์ ๊ณ ๋ฑํ๊ต์ ๋ํ์์ ํ๋ก๊ทธ๋๋ฐ ๊ต์ก์ ์ํด์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋ ์ธ์ด์๋ค. ํ์ง๋ง ๊ฒฝ์ ์ธ์ด๋ผ ํ ์ ์๋ C๊ฐ 90๋ ๋ ์ค๋ฐ๋ถํฐ ๋์ธ๊ธฐ๋ฅผ ๋๋ฉด์ ๋ฐ๋ฆฌ๋ค๊ฐ 21์ธ๊ธฐ์ ๋ค์ด์ค๋ฉด์ C++, Java ์๋๋ฅผ ๊ฑฐ์น๋ฉด์ ์กด์ฌ๊ฐ์ด ์ฌ๋ผ์ง ์ธ์ด์ด๋ค. ์ ์ฑ๊ธฐ ๋ ๋ํ์ ์ด์๋ Borland ์ฌ์ ํฐ๋ณด ํ์ค์นผ(Turbo Pascal)์ด ์ฌ์ค์์ ํ์ค์ด ๋๋ฉด์ ๋ ์์ ์ธ์ด ์ฌ์์ ๋๋ ค๋๊ฐ๊ณ , ์ด ๊ณผ์ ์์ ํํธํ๊ฐ ์ ์ ์ฌํด์ง ๊ฒ๋ ๋์ค์ ๋ฌธ์ ๊ฐ ๋์๋ค. ํ์ฌ ๋จ์์๋ ํ์ค์นผ ์ฌ์ฉ ๋ถ์ผ ๋๋ถ๋ถ์ ๊ฐ์ฅ ์ฑ๊ณตํ๋ ๋ธํ์ด(Delphi) ์ ํ๊ณผ ๊ด๋ จ๋๋ค.
์ฃฝ์ ์ธ์ด๋ผ๊ณ ๋ ํ๋ ์ด๋ ์์ง๋ง ์์ง ์ฃฝ์ง๋ ์์๋ค. ์ฌ์ค์ ์ธ์ด๋ผ๋ ๊ฒ ์ ๋ง๋ก ์์ ์ ์ฐ์ด๋ ๊ฒ์ด ์๋๋ฉด ์ฃฝ์๋ค๊ณ ํ๊ธฐ ์ด๋ ต๋ค.
์ปดํจํฐ ์ธ์ด์ ์ญ์ฌ๋ฅผ ์๊ฐํ ๋ ๋์ค๋ ๋ง์ ์ธ์ด๋ค์ด ์ค์ ๋ก ๊ทธ ์ธ์ด๋ฅผ ์ฌ์ฉํด๋ณผ ์ ์๋ ์ปดํ์ผ๋ฌ๋ฅผ ๊ตฌํ๊ณ ์ ํ ๋ ์ธํฐ๋ท์ ์๋ฌด๋ฆฌ ๋ค์ ธ๋ ๊ตฌํ ์ ์๊ฑฐ๋, ๊ตฌํ ์ ์์ด๋ ๋งค์ฐ ์กฐ์กํ ์์ค์ ์๋ ์์ ์ ํ๋ก๊ทธ๋จ๋ฐ์ ์๋ ๊ฒฝ์ฐ๋ ํํ ํ์ค[1]์์ ํ์ค์นผ ์ธ์ด๋ ๋จ ํ ๋ฒ์ ๊ฒ์์ผ๋ก๋ ๊ฝค ํ๋ฅญํ ๊ฐ๋ฐํ๊ฒฝ์ ์ง๋ ์ปดํ์ผ๋ฌ๋ฅผ ๋ฌด๋ฃ๋ก ๊ตฌํ ์ ์๋ ์ธ์ด์ด๋ค. ์์ง๋ ๋ง์ ์ผ๋ฐ ์ฌ์ฉ์์ ํฌ๋ค์ด ์กด์ฌํ๋ฉด์ ํ๋ํ๊ณ ์๋ค๋ ๊ฒ์ด๋ค. ๋น๋ก ์ฃผ๋ฅ ์ธ์ด์์ ๋ฐ๋ ค๋ ๊ฒ์ ์ฌ์ค์ด์ง๋ง ๋ฌด์ํ ๋ง์ ์ปดํจํฐ ์ธ์ด ์ค์์ ๊ทธ๋๋ ์๊ธฐ ์๋ฆฌ๋ฅผ ์์ง๋ ์งํค๊ณ ์๋ ์ธ์ด์ด๋ค.
Ada๋ผ๋ ์ธ์ด๊ฐ ํ์ค์นผ์ ์น์ฒ ์ฏค ๋๋ ์ธ์ด์ด๋ค. ์๊ธด ๊ฒ๋ ๋น์ทํ๋ค. ๋ฏธ๊ตญ ๊ตญ๋ฐฉ์ฑ์ ์ํ์ฌ ๊ฐ๋ฐ๋ ์ธ์ด์ด๊ณ ๋ฌด๊ธฐ์ ์ด, ํญ๊ณต์ฐ์ฃผ์ฐ์ ๋ฑ์ ์ฐ์ด๊ณ ์๋ค. ์ํ์๋ ์์ฃผ ์ถ์ฐํ๋ค.
3. ์ค๋ช [ํธ์ง]
๊ต์ก์ฉ์ด๋ผ๊ณ ํด์ ์ง์ง ๊ต์ก์ ๋ชฉ์ ์ผ๋ก ๊ณ ์๋ ์ธ์ด๋ ๋ป์ ์๋๋ค. ๋น์์ ๋ค๋ฅธ ์ธ์ด(ํฌํธ๋, ์ฝ๋ณผ, ๋ฒ ์ด์ง)๋ค์ด ๋น๊ตฌ์กฐ์ ์ธ์ด์ ํํ๋ฅผ ๋ค ๊ณ ๋ฌธ ์์ค์ผ๋ก ๋ณต์กํ๊ธฐ ๋๋ฌธ์ '์ด ์ ๋๋ฉด ํ๋ก๊ทธ๋๋ฐ์ ์๋ฆฌ๋ฅผ ๊ฐ๋ฅด์น ๋ ์ฐ๋ฉด ์ข์ง'ํ๊ณ ๋ด๋์ ์. ๋ฌธ๋ฒ์ด ์๊ฒฉํ๊ณ ๋ค์ค์ผ๋ก ํด์๋ ์ฌ์ง๊ฐ ์์ด์[2] ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋
์ ์ตํ๋ ๋ฐ ์ข๋ค๋ ์๋ฏธ ์ ๋์ด๋ค. ์คํ์ด๋ ํผํฌ๋จผ์ค๋ฅผ ๋น๊ตํด ๋ด๋ C/C++์ ๋ค์ง์ง ์๋๋ค. ์ค์ ๋ก ์ง๊ธ๋ ์๋์ฐ ๊ธฐ๋ฐ์ ๊ธฐ์กด ์ฝ๋๊ฐ ํ์ฅ์์ ์ฐ์ด๊ณ ์์ผ๋ฉฐ ๊ณ ๋์์๋ C์ ํจ๊ป ์๋์ฐ๋งฅ์ด์๋ค. ๋งคํจํ ์์ชฝ์์๋ ์ค๋ธ์ ํธ ํ์ค์นผ์ด ์๋นํ ์ธ๋ ฅ์๋ ๊ฐ์ฒด์งํฅ ๊ฐ๋ฐ ์ธ์ด์์ผ๋ฉฐ, ํฌํ ์ต 1.0๋ ์ค๋ธ์ ํธ ํ์ค์นผ๋ก ๊ฐ๋ฐ๋์๋ค. ๊ตญ๋ด ์์ถํ๋ก๊ทธ๋จ์ธ ๋นต์ง์ ํ์ค์นผ ๊ธฐ๋ฐ์ ๋ธํ์ด๋ก ๊ฐ๋ฐ๋์๋ค. 2์ธ์ ์ ์์๊ฐ ๊ฐ๋ฐํ ๊ทธ๋
์ ๊ธฐ์ฌ๋จ๋ ๋ธํ์ด. ๋๋ค๋ฅธ ์ง์์ ์ฑ์ ์๋ฆฌ์ฆ๋ ํ์ค์นผ.[3] ์ ํ ์๋๊น์ง ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๋ฉด ์์ ๋๋ฆฌ ์๋ฆฌ์ฆ ์ด๊ธฐ์์ ๋น๋กฏํ ๋ง์ ๊ฒ์๋ค์ด ํ์ค์นผ๋ก ๊ฐ๋ฐ๋์๋ค. ์ฌ๋ด์ผ๋ก, ์ด๋ ์ฌ์ค ์ธ์ด ์์ฒด๊ฐ ํน๋ณํ ํ์ํ๋ค๊ธฐ ๋ณด๋ค๋ ๋ณผ๋๋ ์ฌ์ ํฐ๋ณด ํ์ค์นผ ์๋ฆฌ์ฆ๊ฐ ์๋ ํ์ง์ด ์ข์์ ๊ทธ๋ฐ ๊ฒ์ด๋ค. ๋น์ฃผ์ผ ์คํ๋์ค๊ฐ ๋์ธํ๊ธฐ ์ ๊น์ง ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ณ์์ ๋ณผ๋๋๊ฐ ็ฒ์ด์๋ ์์ ์ด ์์๋ค.
ํ์ค์นผ์ C์ ๋ง์ฐฌ๊ฐ์ง๋ก ์๊ณจ๊ณ ์ธ์ด์ด๋ฏ๋ก ์ ์ฒด์ ์ผ๋ก ๋ณด๋ฉด C๊ณผ ๋ฌธ๋ฒ์ ์คํ์ผ์ด ์กฐ๊ธ ๋ค๋ฅธ ๊ฒ์ ๋นผ๊ณค ํฐ ์ฐจ์ด์ ์ ์์ง๋ง ์ฌ๋ฌ ์์ํ ์ฐจ์ด์ ์ด ์๋ค. ๊ทธ ์ค์์ ์ค์ํ ๋ฌธ์ ํ ๊ฐ์ง๋, ๋ฐฐ์ด์ด๋ ๋ฌธ์์ด ์์ฒด๊ฐ ํ๋์ ํ์ ์ธ ๊ฒ์ด ์๋๊ณ ๋ฐฐ์ด๊ณผ ๋ฌธ์์ด์ ํฌ๊ธฐ ๋ฐ ๋ฒ์๊น์ง๋ฅผ ํฌํจํด์ ํ์ ์ผ๋ก ์ ์ํ๋ค๋ ์ ์ด๋ค. ์์ปจ๋ Array 1..10 of Integer ์ Array 2..8 of Integer ๋ ์๋ก ๋ค๋ฅธ ํ์ ์ด๋ค.[4] ์ด ๋๋ฌธ์ ์ปดํ์ผ๋ฌ์์ ๋ฐฐ์ด์ ๋ฒ์ ๊ฒ์ฌ ๋ฑ์ ํ๊ธฐ๊ฐ ๋งค์ฐ ์ฉ์ดํด์ก๊ธฐ ๋๋ฌธ์ ๋ ๋์ ์์ ์ฑ์ ๋ณด์ฅํ์ง๋ง, ์์์ ๊ธธ์ด์ ๋ฐฐ์ด์ ๋ณ์๋ก ๋ฐ๋ ํจ์ ๋ฑ์ ์ ์ํ ์ ์๋ค๋ ์ ์ ๋ง์ ํ๋ก๊ทธ๋๋จธ๋ค, ํนํ C ๋ฑ์ ์ธ์ด์ ์ต์ํ ํ๋ก๊ทธ๋๋จธ๋ค์ด ์ฝ๊ฒ ๋ฐ์๋ค์ด๊ธฐ ์ด๋ ค์ด ๊ฒ์ด์๋ค. ์ด ๋๋ฌธ์ ์ฌ๋ฌ ์์ ์ฉ ์ปดํ์ผ๋ฌ๋ค์ด ์ด๋ฅผ ์์ ํ ๋ฌธ๋ฒ์ ์ ์ํ์์ง๋ง, ์ด๋ฐ ๋ถ๋ถ์ ํ์ค์ด ์๋๋ผ์ ์๋ก ํธํ๋์ง ์๋๋ค.
ํนํ '๋ฌธ์์ด์ ์ ์ฅํ ๋ ๊ทธ ๊ธธ์ด๋ฅผ ๊ฐ์ด ์ ์ฅํ๋ค'๋ผ๋ ๊ฐ๋ ์ ์ผ๋ช 'ํ์ค์นผ ์ ๋ฌธ์์ด'๋ก ๋ถ๋ฆฌ์ฐ๋ฉฐ, ๋ฌธ์์ด์ ๋์ ํน์ํ ๊ธฐํธ๋ฅผ ๋์ด ๋์ ํ์ํ๋ 'C ์ ๋ฌธ์์ด' ๊ณผ ํจ๊ป ์ ์ฐํ์์ ์ค์ํ ๋ก๋ฐฅ์ด ๋์๋ค. ํ์ค์นผ ์ ๋ฌธ์์ด์ ์ฉ๋์ ์์ด์ ์ํด๋ฅผ ๋ณด๊ณ ๊ธธ์ด๊ฐ ์์ ๋ ๋๋ง๋ค ๋งค๋ฒ ๊ธธ์ด๋ฅผ ๊ณ์ฐํด์ ์ ๋ฐ์ดํธํด ์ค์ผ ํ์ง๋ง ๊ธด ๋ฌธ์์ด๋ค์ ์ฒ๋ฆฌํ ๋ ์๋์์ ์ด๋์ด ์๋ค. (๊ธธ์ด๋ฅผ ๊ตฌํ ๋, C ๋ฌธ์์ด์ ๊ฒฝ์ฐ ๋ฌด์กฐ๊ฑด ์ฒ์๋ถํฐ ํ์ผ๋ฉด์ ์ฒ๋ฆฌํด์ผ ํ๋ ๋ฐ๋ฉด ํ์ค์นผ ์ ๋ฌธ์์ด์ ๋ฐ๋ก ๊ธธ์ด๋ฅผ ์ป์ ์ ์๋ค. ์ฐธ๊ณ ๋ก, C++์ std::string๋ ๊ธธ์ด๋ฅผ ๊ฐ์ด ์ ์ฅํ๋ค.) ์ด ๋๋ฌธ์ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋ Microsoft Excel์์๋ C์ธ์ด ๊ณ์ด๋ก ๋ง๋ค์ด์ก์ง๋ง ์์ฒด์ ์ผ๋ก ํ์ค์นผ ์ ๋ฌธ์์ด ์ ์ฅ ํ์์ ๋ง๋ค์ด์ ๊ฐ '์ '์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค.
ํ์ค์นผ์์๋ ํฌ์ธํฐ๋ฅผ ์ง์ํ๋ฉฐ ๋ํ ํจ์์ ํ๋ก์์ ๋ฅผ ๊ตฌ๋ถํ๋๋ฐ, ๋ฆฌํด๊ฐ์ด ์๋ ๊ฒ์ด ํจ์์ด๋ฉฐ ์๋ ๊ฒ์ด ํ๋ก์์ ์ด๋ค. ํ๋ก์์ ๋ C์์์ void ํ์ ํจ์์ ์ ์ฌํ๋ค. ํ์ค์นผ์์๋ ํจ์๋ ํ๋ก์์ ๋ด๋ถ์์ ๋ค์ ํจ์๋ ํ๋ก์์ ๋ฅผ ์ ์ํด์ ํด๋น ํจ์/ํ๋ก์์ ๋ด๋ถ์์๋ง ์ฌ์ฉํ๋๋ก ํ ์ ์๋ค. ํ์ค์นผ ํจ์์ ๋ฆฌํด๊ฐ์ ํจ์ ์ค๊ฐ์ ์ด๋์์๋ ํ ๋น๋ ์ ์์ผ๋ฉฐ, ๋ฆฌํด๊ฐ์ ํ ๋นํ ํ์๋ ํจ์๋ ์ฝ๋ ๋ง์ง๋ง๊น์ง ๊ณ์ ์คํ๋๋ค. ํ์ฅ์๋ .pas๋ฅผ ์ด๋ค.
์ด๋์ ๋ ์ฝฉ๋ผ์ธ์ ํ๋ฉด์ ์ฐ์ฌ๊ณก์ ์ด ๋ง์๋ ์ธ์ด. ํ์ค์นผ์ด ์ฒ์ ๋์๋ ์๊ธฐ๋ง ํด๋ '๋์ธ ์ธ์ด'๋ ์๋์์ผ๋ฉฐ, ์ค๋ฌด์์ ์ฐ์ด๋ ๋ง์ ๊ณ ์ ์ธ์ด๋ค์ ๋ฐ๋ ค ๊ต์ก์ฉ์ผ๋ก ์ข๊ณ ๋ง์ด ์๋ ค์ง ์ธ์ด ์ค ํ๋ ์์ค์ด์๋ค. ๊ณ ์ ์ ์ฐ ๊ฐ๊ทธ(?)์ธ "Real programmers don't use pascal'[5]์ ๋ณด๋ฉด ๋ง์ ํ์ญ ํ๋ก๊ทธ๋๋จธ๋ค์ด ํ์ค์นผ์ '๋ญ ๋์์ง ์์๋ฐ ์ง์งํ ์ ๋ฌดํ์ฅ์์ ์ธ ๋งํ ๊ฑด ์ข ์๋์ง ์ฃํด' ํ๋ฉด์ ์๊ธฐ ๋๋ฆ๋๋ก ์ ์ ๊ธ๊ณ ์์์์ ์ ์ ์๋ค.[6] ์ฌ์ง์ด C ์ธ์ด์ ์๋ฒ์ง ์ค ํ๋์ธ ์ปค๋ํ์ '๋ด๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ์ธ์ด๊ฐ ํ์ค์นผ์ด ์๋ ์ด์ [7]'๋ผ๋ ๊ธ๊น์ง ์ผ๋ค. ๋ฌผ๋ก ์ด๋ฐ ์ด์ผ๊ธฐ๋ค์ ์๋์ฐจ ๋ํธํ์ ๋ ผ์์ฒ๋ผ ๊ทนํ ํธํ์ ์ธ ๋ง๋ค์ธ ๊ฒ๋ ์ฌ์ค์ด๋ค.[8]
์ดํ ๊ณ ์ ๊ฐ์ธ๋ฅ๋ ฅ๊ณผ์(...) ์ธ์ด[9]์ ์๋๊ฐ ์ ๋ฌผ์ด๊ฐ๋ฉด์ ํ์ค์นผ ๊ฐ์ ์ธ์ด๊ฐ ์ด์๋๋ ์ถ์๋๋๋ง C๊ฐ ๋ฏธ์น๋ฏ์ด ์ฑ์ฅํ๋ฉด์ ํ์ค์นผ์ ๋ฌผ๋ก ๋ค๋ฅธ ์ธ์ด๋ค๊น์ง ๋ ๋ฐ๋ฅ์ ์ฒ๋ฐํ๊ฒ ๋๋ฉฐ, '์ข๊ธฐ๋ ์ข์๋ฐ ํ์ฌ๊ฐ ๋์ธ๋ ์๋๋ ์ธ์ด'๋ก ์ง๋ด๋ฉฐ ์๋ค์๋ค ๊ณ ์ฌ์๊ธฐ๋ก ์ ์ด๋ค๊ฒ ๋๋ค. ์ด ๋๋ฌธ์ ๊ตญ๋ด ํ์ค์นผ/๋ธํ์ด ์ปค๋ฎค๋ํฐ๋ฅผ ๋ณด๋ฉด ๋ญ๊ฐ ๋น์ฃผ๋ฅ ์น์ฌ์ดํธ์ ์ค๋ฉ์ ๋๋ผ์ง ์์ ์๊ฐ ์๋ค. ์ ์ฒด์ ์ธ ์ ์ ์ฐ๋ น๋๋ ๋๊ณ , ๋์๋ ์๋์ฐ ํด๋ผ์ด์ธํธ ์ชฝ์ ๊ณ ์ฌ์๋ค. (๋ธํ์ด๋ฅผ ์ธ์ํ ์ ๋ฐ์นด๋ฐ๋ก์์๋ ์ฌ๋ฌ ํ๋ซํผ ์ง์์ ๊ด๊ณ ํ๋ฉด์ ๋ ธ๋ ฅํ์ง๋ง ์์ฑ๋๋ ๋จ์ด์ง๋ค.) ์ฃผ๊ธฐ์ ์ผ๋ก ๋ธํ์ด๊ฐ ์ฃฝ์๋๋, ์๋ ์์ฃฝ์๋ค, ์์ง ๋ด ์ฃผ์์์๋ ํ์ญ์ด๋ค ๋ฑ์ ํ์ ๊ฐ ์ฌ๋ผ์ค๋ฉด์ ๋์ธ์ ๋ํ ๋ถ์์ ํจ์ ๋๋๊ณผ ๋์์ ๋ธํ์ด๋ก ๋ค์ง ์ ์ ๋ค์ ์ ์ง๋ฅผ ๋ณด๋ฉฐ ์์ฌํ๋ ์ผ์ ๋ฐ๋ณต.
ํ์ค์นผ์ C์ ๋ง์ฐฌ๊ฐ์ง๋ก ์๊ณจ๊ณ ์ธ์ด์ด๋ฏ๋ก ์ ์ฒด์ ์ผ๋ก ๋ณด๋ฉด C๊ณผ ๋ฌธ๋ฒ์ ์คํ์ผ์ด ์กฐ๊ธ ๋ค๋ฅธ ๊ฒ์ ๋นผ๊ณค ํฐ ์ฐจ์ด์ ์ ์์ง๋ง ์ฌ๋ฌ ์์ํ ์ฐจ์ด์ ์ด ์๋ค. ๊ทธ ์ค์์ ์ค์ํ ๋ฌธ์ ํ ๊ฐ์ง๋, ๋ฐฐ์ด์ด๋ ๋ฌธ์์ด ์์ฒด๊ฐ ํ๋์ ํ์ ์ธ ๊ฒ์ด ์๋๊ณ ๋ฐฐ์ด๊ณผ ๋ฌธ์์ด์ ํฌ๊ธฐ ๋ฐ ๋ฒ์๊น์ง๋ฅผ ํฌํจํด์ ํ์ ์ผ๋ก ์ ์ํ๋ค๋ ์ ์ด๋ค. ์์ปจ๋ Array 1..10 of Integer ์ Array 2..8 of Integer ๋ ์๋ก ๋ค๋ฅธ ํ์ ์ด๋ค.[4] ์ด ๋๋ฌธ์ ์ปดํ์ผ๋ฌ์์ ๋ฐฐ์ด์ ๋ฒ์ ๊ฒ์ฌ ๋ฑ์ ํ๊ธฐ๊ฐ ๋งค์ฐ ์ฉ์ดํด์ก๊ธฐ ๋๋ฌธ์ ๋ ๋์ ์์ ์ฑ์ ๋ณด์ฅํ์ง๋ง, ์์์ ๊ธธ์ด์ ๋ฐฐ์ด์ ๋ณ์๋ก ๋ฐ๋ ํจ์ ๋ฑ์ ์ ์ํ ์ ์๋ค๋ ์ ์ ๋ง์ ํ๋ก๊ทธ๋๋จธ๋ค, ํนํ C ๋ฑ์ ์ธ์ด์ ์ต์ํ ํ๋ก๊ทธ๋๋จธ๋ค์ด ์ฝ๊ฒ ๋ฐ์๋ค์ด๊ธฐ ์ด๋ ค์ด ๊ฒ์ด์๋ค. ์ด ๋๋ฌธ์ ์ฌ๋ฌ ์์ ์ฉ ์ปดํ์ผ๋ฌ๋ค์ด ์ด๋ฅผ ์์ ํ ๋ฌธ๋ฒ์ ์ ์ํ์์ง๋ง, ์ด๋ฐ ๋ถ๋ถ์ ํ์ค์ด ์๋๋ผ์ ์๋ก ํธํ๋์ง ์๋๋ค.
ํนํ '๋ฌธ์์ด์ ์ ์ฅํ ๋ ๊ทธ ๊ธธ์ด๋ฅผ ๊ฐ์ด ์ ์ฅํ๋ค'๋ผ๋ ๊ฐ๋ ์ ์ผ๋ช 'ํ์ค์นผ ์ ๋ฌธ์์ด'๋ก ๋ถ๋ฆฌ์ฐ๋ฉฐ, ๋ฌธ์์ด์ ๋์ ํน์ํ ๊ธฐํธ๋ฅผ ๋์ด ๋์ ํ์ํ๋ 'C ์ ๋ฌธ์์ด' ๊ณผ ํจ๊ป ์ ์ฐํ์์ ์ค์ํ ๋ก๋ฐฅ์ด ๋์๋ค. ํ์ค์นผ ์ ๋ฌธ์์ด์ ์ฉ๋์ ์์ด์ ์ํด๋ฅผ ๋ณด๊ณ ๊ธธ์ด๊ฐ ์์ ๋ ๋๋ง๋ค ๋งค๋ฒ ๊ธธ์ด๋ฅผ ๊ณ์ฐํด์ ์ ๋ฐ์ดํธํด ์ค์ผ ํ์ง๋ง ๊ธด ๋ฌธ์์ด๋ค์ ์ฒ๋ฆฌํ ๋ ์๋์์ ์ด๋์ด ์๋ค. (๊ธธ์ด๋ฅผ ๊ตฌํ ๋, C ๋ฌธ์์ด์ ๊ฒฝ์ฐ ๋ฌด์กฐ๊ฑด ์ฒ์๋ถํฐ ํ์ผ๋ฉด์ ์ฒ๋ฆฌํด์ผ ํ๋ ๋ฐ๋ฉด ํ์ค์นผ ์ ๋ฌธ์์ด์ ๋ฐ๋ก ๊ธธ์ด๋ฅผ ์ป์ ์ ์๋ค. ์ฐธ๊ณ ๋ก, C++์ std::string๋ ๊ธธ์ด๋ฅผ ๊ฐ์ด ์ ์ฅํ๋ค.) ์ด ๋๋ฌธ์ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋ Microsoft Excel์์๋ C์ธ์ด ๊ณ์ด๋ก ๋ง๋ค์ด์ก์ง๋ง ์์ฒด์ ์ผ๋ก ํ์ค์นผ ์ ๋ฌธ์์ด ์ ์ฅ ํ์์ ๋ง๋ค์ด์ ๊ฐ '์ '์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค.
ํ์ค์นผ์์๋ ํฌ์ธํฐ๋ฅผ ์ง์ํ๋ฉฐ ๋ํ ํจ์์ ํ๋ก์์ ๋ฅผ ๊ตฌ๋ถํ๋๋ฐ, ๋ฆฌํด๊ฐ์ด ์๋ ๊ฒ์ด ํจ์์ด๋ฉฐ ์๋ ๊ฒ์ด ํ๋ก์์ ์ด๋ค. ํ๋ก์์ ๋ C์์์ void ํ์ ํจ์์ ์ ์ฌํ๋ค. ํ์ค์นผ์์๋ ํจ์๋ ํ๋ก์์ ๋ด๋ถ์์ ๋ค์ ํจ์๋ ํ๋ก์์ ๋ฅผ ์ ์ํด์ ํด๋น ํจ์/ํ๋ก์์ ๋ด๋ถ์์๋ง ์ฌ์ฉํ๋๋ก ํ ์ ์๋ค. ํ์ค์นผ ํจ์์ ๋ฆฌํด๊ฐ์ ํจ์ ์ค๊ฐ์ ์ด๋์์๋ ํ ๋น๋ ์ ์์ผ๋ฉฐ, ๋ฆฌํด๊ฐ์ ํ ๋นํ ํ์๋ ํจ์๋ ์ฝ๋ ๋ง์ง๋ง๊น์ง ๊ณ์ ์คํ๋๋ค. ํ์ฅ์๋ .pas๋ฅผ ์ด๋ค.
์ด๋์ ๋ ์ฝฉ๋ผ์ธ์ ํ๋ฉด์ ์ฐ์ฌ๊ณก์ ์ด ๋ง์๋ ์ธ์ด. ํ์ค์นผ์ด ์ฒ์ ๋์๋ ์๊ธฐ๋ง ํด๋ '๋์ธ ์ธ์ด'๋ ์๋์์ผ๋ฉฐ, ์ค๋ฌด์์ ์ฐ์ด๋ ๋ง์ ๊ณ ์ ์ธ์ด๋ค์ ๋ฐ๋ ค ๊ต์ก์ฉ์ผ๋ก ์ข๊ณ ๋ง์ด ์๋ ค์ง ์ธ์ด ์ค ํ๋ ์์ค์ด์๋ค. ๊ณ ์ ์ ์ฐ ๊ฐ๊ทธ(?)์ธ "Real programmers don't use pascal'[5]์ ๋ณด๋ฉด ๋ง์ ํ์ญ ํ๋ก๊ทธ๋๋จธ๋ค์ด ํ์ค์นผ์ '๋ญ ๋์์ง ์์๋ฐ ์ง์งํ ์ ๋ฌดํ์ฅ์์ ์ธ ๋งํ ๊ฑด ์ข ์๋์ง ์ฃํด' ํ๋ฉด์ ์๊ธฐ ๋๋ฆ๋๋ก ์ ์ ๊ธ๊ณ ์์์์ ์ ์ ์๋ค.[6] ์ฌ์ง์ด C ์ธ์ด์ ์๋ฒ์ง ์ค ํ๋์ธ ์ปค๋ํ์ '๋ด๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ์ธ์ด๊ฐ ํ์ค์นผ์ด ์๋ ์ด์ [7]'๋ผ๋ ๊ธ๊น์ง ์ผ๋ค. ๋ฌผ๋ก ์ด๋ฐ ์ด์ผ๊ธฐ๋ค์ ์๋์ฐจ ๋ํธํ์ ๋ ผ์์ฒ๋ผ ๊ทนํ ํธํ์ ์ธ ๋ง๋ค์ธ ๊ฒ๋ ์ฌ์ค์ด๋ค.[8]
์ดํ ๊ณ ์ ๊ฐ์ธ๋ฅ๋ ฅ๊ณผ์(...) ์ธ์ด[9]์ ์๋๊ฐ ์ ๋ฌผ์ด๊ฐ๋ฉด์ ํ์ค์นผ ๊ฐ์ ์ธ์ด๊ฐ ์ด์๋๋ ์ถ์๋๋๋ง C๊ฐ ๋ฏธ์น๋ฏ์ด ์ฑ์ฅํ๋ฉด์ ํ์ค์นผ์ ๋ฌผ๋ก ๋ค๋ฅธ ์ธ์ด๋ค๊น์ง ๋ ๋ฐ๋ฅ์ ์ฒ๋ฐํ๊ฒ ๋๋ฉฐ, '์ข๊ธฐ๋ ์ข์๋ฐ ํ์ฌ๊ฐ ๋์ธ๋ ์๋๋ ์ธ์ด'๋ก ์ง๋ด๋ฉฐ ์๋ค์๋ค ๊ณ ์ฌ์๊ธฐ๋ก ์ ์ด๋ค๊ฒ ๋๋ค. ์ด ๋๋ฌธ์ ๊ตญ๋ด ํ์ค์นผ/๋ธํ์ด ์ปค๋ฎค๋ํฐ๋ฅผ ๋ณด๋ฉด ๋ญ๊ฐ ๋น์ฃผ๋ฅ ์น์ฌ์ดํธ์ ์ค๋ฉ์ ๋๋ผ์ง ์์ ์๊ฐ ์๋ค. ์ ์ฒด์ ์ธ ์ ์ ์ฐ๋ น๋๋ ๋๊ณ , ๋์๋ ์๋์ฐ ํด๋ผ์ด์ธํธ ์ชฝ์ ๊ณ ์ฌ์๋ค. (๋ธํ์ด๋ฅผ ์ธ์ํ ์ ๋ฐ์นด๋ฐ๋ก์์๋ ์ฌ๋ฌ ํ๋ซํผ ์ง์์ ๊ด๊ณ ํ๋ฉด์ ๋ ธ๋ ฅํ์ง๋ง ์์ฑ๋๋ ๋จ์ด์ง๋ค.) ์ฃผ๊ธฐ์ ์ผ๋ก ๋ธํ์ด๊ฐ ์ฃฝ์๋๋, ์๋ ์์ฃฝ์๋ค, ์์ง ๋ด ์ฃผ์์์๋ ํ์ญ์ด๋ค ๋ฑ์ ํ์ ๊ฐ ์ฌ๋ผ์ค๋ฉด์ ๋์ธ์ ๋ํ ๋ถ์์ ํจ์ ๋๋๊ณผ ๋์์ ๋ธํ์ด๋ก ๋ค์ง ์ ์ ๋ค์ ์ ์ง๋ฅผ ๋ณด๋ฉฐ ์์ฌํ๋ ์ผ์ ๋ฐ๋ณต.
4. ์ ์ ์จ๊ณผ ํ๋ซํผ๋ณ ์ง์์ํฉ[ํธ์ง]
C๋ C++์ ๋ฐ๋ ค์ ์ฌ๋ผ์ง ๋ฏ ํ๋ ํ์ค์นผ์ ๊ฐ์ฒด์งํฅ์ ๋ฐ์๋ค์ด๋ฉด์ ๋ถํํ๋ค. C์์ C++์ด ํ์๋ ๊ฒ์ฒ๋ผ ํ์ค์นผ์์๋ Object Pascal์ด๋ผ๋ ๋์ด ํ์๋ ๊ฒ์ธ๋ฐ, C++์ ๋ฐ๋ผ์ก๊ธฐ ์ํด OOP ๊ฐ๋
์ ์ ๊ทน์ ์ผ๋ก ๋์
ํ๋ค.
์ ํ์์ ์ฒ์ ๋ง๋ Object-Pascal์ ๋น๋์ ๋ฉ์ด์ ์ปดํ์ผ๋ฌ ์ ์์ฌ์ธ ๋ณผ๋๋ ์ฌ๊ฐ 1989๋ ์ Turbo Pascal 5.5 ๋ถํฐ ์ด๊ฒ์ ์ง์ํ๊ธฐ ์์ํ๋ฉด์ ๊ธ๋ถ์ํ๋ค. ์์ธ๋ผ๊ณ ์๊ฐํ ์ง ๋ชจ๋ฅด์ง๋ง, ์ ํ์ 1980๋ ๋ ์ด๊ธฐ๋ถํฐ ์ ํ Lisa ์ MC68K ๊ณ์ด CPU๊ฐ ํ์ฌ๋๋ ๊ตฌํ ๋งคํจํ ์ ์ปดํจํฐ์์ ์ฌ์ฉํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฐ๋ฐ์ ์งํํ์ผ๋ฉฐ, ๊ทธ ์ฐ๋ฌผ ์ค ํ๋๊ฐ ๋ฐ๋ก ์ด Object-Pascal ์ด๋ค.[10]
Turbo C/C++์ ์ด์ ์ธ๋งํ ์ธ์ด๋ก ์ทจ๊ธ๋ฐ๋ Object Pascal์ Borland Delphi[11]๋ก ํ์ํ๋ฉฐ ์์ฅ์ ์ถฉ๊ฒฉ์ ์ฃผ์๋ค. ์ด์ฐฝ๊ธฐ์๋ ๋น์ฃผ์ผ ๋ฒ ์ด์ง์ ๊ฐ๋ณ๊ฒ ์์ธ๋จน๋ ์์ฐ์ฑ๊ณผ ๊ธฐ๋ฅ ์ง์, ํจ๊ณผ์ ์ธ ์ปดํ์ผ์ ํตํด ์ป์ C++๊ณผ ๊ฑฐ์ ๋ง๋จน๋ ์ฑ๋ฅ์ผ๋ก ๊ตญ๋ด์์๋ ๋ง์ด๋ค ์ฌ์ฉํ๋ค. ๋น์ MS ๋น์ฃผ์ผ C++์ MFC๋ ๊ธฐ๊ป ํด์ผ ์ด ๋ช ๊ฐ, ์ฑ๋ฅ์ ์๋นํ ํฌ์ํ๊ณ ์ง๊ด์ ์ธ ์๊ฐ์ ๋ค์ด์ผ๋ก๊ทธ ํธ์ง์ ์ถ๊ตฌํ ๋น์ฃผ์ผ ๋ฒ ์ด์ง์ด ๋ช ์ญ ๊ฐ ์ ๋์ ๋๋๊ทธ-๋๋กญ ์ปจํธ๋กค์ ๊ฐ์ง๊ณ ์์๋ ๋ฐ ๋ฐํด, ๋ธํ์ด๋ ์์๋ถํฐ ์๋์ฐ API์ ๊ฑฐ์ ๋ชจ๋ ๊ธฐ๋ฅ๊ณผ ์ด์ง๊ฐํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ผํ ๋ฐฑ ๋ช ์ญ ๊ฐ์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ง๊ณ ์์๋ค. ์ด๊ฒ ๋จ์ํ GUI ์ปดํฌ๋ํธ๋ง ์ด๋ฌํ ํํ๋ก ์กด์ฌํ๋ ๊ฒ์ด ์๋, ๋คํธ์ ์์ผ ๋ฑ์ ๋์ ๋ณด์ด์ง ์๋ ๊ฒ๋ค๋ ์ฃ๋ค ์ปจํธ๋กค๋ก ๋๋ ค๋ฐ์ ๋ฃ์ด์ ๋ง ๊ทธ๋๋ก ๋ง์ฐ์ค๋ก ๋๋๊ทธ ์ค ๋๋กญ์ ํ ๋ค์, ์ค์ ์ฐฝ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ๊ธ ๊ณ ์ณ์ฃผ๊ณ ์ด๋ฒคํธ ํธ๋ค๋ฌ ๋ฑ์ ์ฝ๋๋ฅผ ์ ์ด์ฃผ๋ ์์ผ๋ก ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ ๋ณธ๊ฒฉ์ ์ธ ๊ฐ์ฒด ์งํฅ ์ธ์ด์๋ค. ๊ฑฐ๊ธฐ์ Turbo Pascal ์์ ๋ถํฐ ๋ณด์ฌ์คฌ๋ ์ฌ๊ธฐ๊ธ์ ๋น๊ณผ ๊ฐ์ ์ปดํ์ผ ์๋ ๋ํ Delphi๋ ๊ทธ๋๋ก ๊ฐ์ง๊ณ ์์๋ค. ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ์ํ์ ์ง์ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ฌ ์ฝ๋๋ฅผ ์ ์ถํ๋ 2005๋ ์ด์ ์ํ๋ฐฉ์์์ ์ฌ์ฉ ์ธ์ด๋ก Delphi๋ฅผ ์ง์ํ ์ ๋๋ก ์ฌ์ฉ์๊ฐ ๋ง์๋ค. ํ์ฌ๋ ๋ง์ดํฌ๋ก์ํํธ์ ๋ฌผ๋๊ณต์ธ์ ์ฌ์ฉ์๊ฐ ๋ง์ด ์ค์์ง๋ง, ์์ง๋ FA๋ ์ฆ๊ถ์ฌ ์ชฝ์์๋ ๋ ๋ณด์ ์ธ ์ ์ ์จ์ ๊ฐ์ง๊ณ ์๋ค. ๋ธํ์ด์ ๋ฐ์ด๋ ๊ณ ์ ๊ฐ๋ฐ ํ๊ฒฝ(Rapid Application Development Environment)๋ C++ Builder๋ฅผ ํตํด ๊ณ์น๋์๊ณ , ๋ณผ๋๋ ์ฌ๊ฐ ๋งํ ์ดํ์ ๊ทธ ๊ฐ๋ฐ์(Anders Hejlsberg)๊ฐ MS์ ์ค์นด์๋์ด ํ์ฌ C#์์ ๊ทธ ๊ฐ๋ ์ ์ฐพ์๋ณผ ์ ์๋ค.
ํ์ค์นผ๊ณผ ๋ธํ์ด๋ ์คํ์์ค๋ก ์ ์๋ ๊ฒ์ด ์๋ค. Free Pascal, Lazarus๊ฐ ๊ทธ๊ฒ์ด๋ค. ํ์ค์นผ์ ํธํ์ฑ์ ํ๋ฅญํ๊ฒ ์ฌํํ์ผ๋[12][13],์๋ฌด๊ฒ๋ ์ํ๋ Hello World ๋ฅ ํ๋ก๊ทธ๋จ์ ์คํํ์ผ ํฌ๊ธฐ๊ฐ Free Pascal ์ 2 MB, Lazarus ๋ 22 MB๋ผ๋ ๋ฌด์ํ ์ฉ๋์ ์๋ํ๋ค. (ํ๋ก์ ํธ ์ต์
์์ debug info ํฌํจ์ ํด์ ํ๋ฉด ๊ฐ๊ฐ 30kb, 1MB ๋ด์ธ์ ์ ์์ ์ธ ํฌ๊ธฐ๊ฐ ๋๋ค. ๋๋ฒ๊น
์ ๋ณด๋ฅผ ๋ค๋ฅธ ํด์ฒ๋ผ ๋ณ๋์ ํ์ผ๋ก ๋ง๋ค์ง ์๊ณ ์คํํ์ผ์ ํฌํจ์ํค๊ธฐ ๋๋ฌธ์ด๋ค.) ๊ทธ๋๋ ๊ฝค ์ ๋ง๋ค์ด๋์ ํ์ค์นผ๊ณผ ๋ธํ์ด๋ฅผ ๊ณต๋ถํ๋ ์ฉ๋๋ก ์ ํ ์์์ด ์์ ์ ๋๋ฅผ ๋์ด ์ ์ ํ๋ก๊ทธ๋จ๊ฐ๋ฐ์๋ ์ถฉ๋ถํ ์ ๋์ด๋ค. ๋๊ตฌ๋ ์๋์ฐ, ๋ฆฌ๋
์ค(x86, ARM), OS X(x86, PPC) ๋ฑ์ ๋ค์ํ ํ๋ซํผ์ ์ง์ํ๋ค. ๋์ผํ ์์ค์ฝ๋๋ก ์ปดํ์ผํ์ฌ๋ ๋ค์ํ ํ๋ซํผ์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ป์ ์ ์๋ ๊ฒ์ด๋ค.
ํ์ค์นผ์์ ํ์๋ ์ธ์ด๋ก๋ Modula, Modula-2, Oberon ๋ฑ์ด ์๋ค.
TIOBE์ ์ฅ๊ธฐ์ ๋ณํ์ ์ํ๋ฉด ํ์ค์นผ์ 2015๋ ๊ธฐ์ค 13์์์ 2020๋ 242์๋ก ๋ก๋ฝํด ๋ฒ๋ ธ๋ค... ๋ค๋ง ๋ธํ์ด/์ค๋ธ์ ํธ ํ์ค์นผ์ด 29์์ ์ฌ๋ผ ์๋ ๊ฒ์ ๋ณด๋ฉด ์ค๋ฆฌ์ง๋ ํ์ค์นผ๊ณผ ๋ธํ์ด/์ค๋ธ์ ํธ ํ์ค์นผ์ ๊ตฌ๋ณ ๊ณผ์ ์์ ์ด๋ ๊ฒ ๋ ๋ฏ ํ๋ค.
์ ํ์์ ์ฒ์ ๋ง๋ Object-Pascal์ ๋น๋์ ๋ฉ์ด์ ์ปดํ์ผ๋ฌ ์ ์์ฌ์ธ ๋ณผ๋๋ ์ฌ๊ฐ 1989๋ ์ Turbo Pascal 5.5 ๋ถํฐ ์ด๊ฒ์ ์ง์ํ๊ธฐ ์์ํ๋ฉด์ ๊ธ๋ถ์ํ๋ค. ์์ธ๋ผ๊ณ ์๊ฐํ ์ง ๋ชจ๋ฅด์ง๋ง, ์ ํ์ 1980๋ ๋ ์ด๊ธฐ๋ถํฐ ์ ํ Lisa ์ MC68K ๊ณ์ด CPU๊ฐ ํ์ฌ๋๋ ๊ตฌํ ๋งคํจํ ์ ์ปดํจํฐ์์ ์ฌ์ฉํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฐ๋ฐ์ ์งํํ์ผ๋ฉฐ, ๊ทธ ์ฐ๋ฌผ ์ค ํ๋๊ฐ ๋ฐ๋ก ์ด Object-Pascal ์ด๋ค.[10]
Turbo C/C++์ ์ด์ ์ธ๋งํ ์ธ์ด๋ก ์ทจ๊ธ๋ฐ๋ Object Pascal์ Borland Delphi[11]๋ก ํ์ํ๋ฉฐ ์์ฅ์ ์ถฉ๊ฒฉ์ ์ฃผ์๋ค. ์ด์ฐฝ๊ธฐ์๋ ๋น์ฃผ์ผ ๋ฒ ์ด์ง์ ๊ฐ๋ณ๊ฒ ์์ธ๋จน๋ ์์ฐ์ฑ๊ณผ ๊ธฐ๋ฅ ์ง์, ํจ๊ณผ์ ์ธ ์ปดํ์ผ์ ํตํด ์ป์ C++๊ณผ ๊ฑฐ์ ๋ง๋จน๋ ์ฑ๋ฅ์ผ๋ก ๊ตญ๋ด์์๋ ๋ง์ด๋ค ์ฌ์ฉํ๋ค. ๋น์ MS ๋น์ฃผ์ผ C++์ MFC๋ ๊ธฐ๊ป ํด์ผ ์ด ๋ช ๊ฐ, ์ฑ๋ฅ์ ์๋นํ ํฌ์ํ๊ณ ์ง๊ด์ ์ธ ์๊ฐ์ ๋ค์ด์ผ๋ก๊ทธ ํธ์ง์ ์ถ๊ตฌํ ๋น์ฃผ์ผ ๋ฒ ์ด์ง์ด ๋ช ์ญ ๊ฐ ์ ๋์ ๋๋๊ทธ-๋๋กญ ์ปจํธ๋กค์ ๊ฐ์ง๊ณ ์์๋ ๋ฐ ๋ฐํด, ๋ธํ์ด๋ ์์๋ถํฐ ์๋์ฐ API์ ๊ฑฐ์ ๋ชจ๋ ๊ธฐ๋ฅ๊ณผ ์ด์ง๊ฐํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ผํ ๋ฐฑ ๋ช ์ญ ๊ฐ์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ง๊ณ ์์๋ค. ์ด๊ฒ ๋จ์ํ GUI ์ปดํฌ๋ํธ๋ง ์ด๋ฌํ ํํ๋ก ์กด์ฌํ๋ ๊ฒ์ด ์๋, ๋คํธ์ ์์ผ ๋ฑ์ ๋์ ๋ณด์ด์ง ์๋ ๊ฒ๋ค๋ ์ฃ๋ค ์ปจํธ๋กค๋ก ๋๋ ค๋ฐ์ ๋ฃ์ด์ ๋ง ๊ทธ๋๋ก ๋ง์ฐ์ค๋ก ๋๋๊ทธ ์ค ๋๋กญ์ ํ ๋ค์, ์ค์ ์ฐฝ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ๊ธ ๊ณ ์ณ์ฃผ๊ณ ์ด๋ฒคํธ ํธ๋ค๋ฌ ๋ฑ์ ์ฝ๋๋ฅผ ์ ์ด์ฃผ๋ ์์ผ๋ก ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ ๋ณธ๊ฒฉ์ ์ธ ๊ฐ์ฒด ์งํฅ ์ธ์ด์๋ค. ๊ฑฐ๊ธฐ์ Turbo Pascal ์์ ๋ถํฐ ๋ณด์ฌ์คฌ๋ ์ฌ๊ธฐ๊ธ์ ๋น๊ณผ ๊ฐ์ ์ปดํ์ผ ์๋ ๋ํ Delphi๋ ๊ทธ๋๋ก ๊ฐ์ง๊ณ ์์๋ค. ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ์ํ์ ์ง์ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ฌ ์ฝ๋๋ฅผ ์ ์ถํ๋ 2005๋ ์ด์ ์ํ๋ฐฉ์์์ ์ฌ์ฉ ์ธ์ด๋ก Delphi๋ฅผ ์ง์ํ ์ ๋๋ก ์ฌ์ฉ์๊ฐ ๋ง์๋ค. ํ์ฌ๋ ๋ง์ดํฌ๋ก์ํํธ์ ๋ฌผ๋๊ณต์ธ์ ์ฌ์ฉ์๊ฐ ๋ง์ด ์ค์์ง๋ง, ์์ง๋ FA๋ ์ฆ๊ถ์ฌ ์ชฝ์์๋ ๋ ๋ณด์ ์ธ ์ ์ ์จ์ ๊ฐ์ง๊ณ ์๋ค. ๋ธํ์ด์ ๋ฐ์ด๋ ๊ณ ์ ๊ฐ๋ฐ ํ๊ฒฝ(Rapid Application Development Environment)๋ C++ Builder๋ฅผ ํตํด ๊ณ์น๋์๊ณ , ๋ณผ๋๋ ์ฌ๊ฐ ๋งํ ์ดํ์ ๊ทธ ๊ฐ๋ฐ์(Anders Hejlsberg)๊ฐ MS์ ์ค์นด์๋์ด ํ์ฌ C#์์ ๊ทธ ๊ฐ๋ ์ ์ฐพ์๋ณผ ์ ์๋ค.
ํ์ค์นผ๊ณผ ๋ธํ์ด๋ ์คํ์์ค๋ก ์ ์๋ ๊ฒ์ด ์๋ค. Free Pascal, Lazarus๊ฐ ๊ทธ๊ฒ์ด๋ค. ํ์ค์นผ์ ํธํ์ฑ์ ํ๋ฅญํ๊ฒ ์ฌํํ์ผ๋[12][13],
ํ์ค์นผ์์ ํ์๋ ์ธ์ด๋ก๋ Modula, Modula-2, Oberon ๋ฑ์ด ์๋ค.
TIOBE์ ์ฅ๊ธฐ์ ๋ณํ์ ์ํ๋ฉด ํ์ค์นผ์ 2015๋ ๊ธฐ์ค 13์์์ 2020๋ 242์๋ก ๋ก๋ฝํด ๋ฒ๋ ธ๋ค... ๋ค๋ง ๋ธํ์ด/์ค๋ธ์ ํธ ํ์ค์นผ์ด 29์์ ์ฌ๋ผ ์๋ ๊ฒ์ ๋ณด๋ฉด ์ค๋ฆฌ์ง๋ ํ์ค์นผ๊ณผ ๋ธํ์ด/์ค๋ธ์ ํธ ํ์ค์นผ์ ๊ตฌ๋ณ ๊ณผ์ ์์ ์ด๋ ๊ฒ ๋ ๋ฏ ํ๋ค.
4.1. ํ์ค์นผ๋ก ๋ง๋ค์ด์ง ํ๋ก๊ทธ๋จ๋ค[ํธ์ง]
๊ตญ๋ด์์๋ ๋นต์ง, ์ธ๊ตญ์ ๊ฒฝ์ฐ Skype(์๋์ฐ์ฉ)๋ฅผ ๋น๋กฏํด์ ํ์ผ๋งค๋์ ํ๋ก๊ทธ๋จ์ผ๋ก ์ ๋ช
ํ TotalCommander๊ฐ ๋ธํ์ด๋ก ๋ง๋ค์ด์ก๋ค.[14] ์ ํ II ์์ , ์์ ๋๋ฆฌ๋ ํ์ค์นผ๋ก ๋ง๋ค์๋ค๊ณ ํ๋ค.[15]
์ ๋ช ํ DAW์ธ FL Studio ์ญ์ ๋ธํ์ด๋ก ๊ฐ๋ฐ๋๋ฉฐ ๊ณ์ ์ ๋ฐ์ดํธ๋๊ณ ์๋ค. ๋ค๋ง ์ด ๋๋ฌธ์ ์ ์ ๋ค์ ์์ฑ์๋ ๋ถ๊ตฌํ๊ณ 64๋นํธ๋ ํ ํ๋ซํผ ์ง์(๋ํ์ ์ผ๋ก OS X, Android๋ iOS ๋ฑ์ ๋ชจ๋ฐ์ผ ํ๋ซํผ)์ด ์๋นํ ๋ฆ์ด์ง๊ธฐ๋ ํ๋ค. C++ ๊ฐ์ ์ธ์ด์๋ ๋ฌ๋ฆฌ ๋ธํ์ด ์ปดํ์ผ๋ฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํด๋น ํ๋ซํผ๋ค์ ์ง์ํ๊ธฐ ์ ๊น์ง ์๋ฌด๋ฐ ์์ ์ธ ์๊ฐ ์์๊ธฐ ๋๋ฌธ.
Cheat Engine์ด ํ์ค์นผ๋ก ๋ง๋ค์ด์ก๋ค. Github
์ ๋ช ํ DAW์ธ FL Studio ์ญ์ ๋ธํ์ด๋ก ๊ฐ๋ฐ๋๋ฉฐ ๊ณ์ ์ ๋ฐ์ดํธ๋๊ณ ์๋ค. ๋ค๋ง ์ด ๋๋ฌธ์ ์ ์ ๋ค์ ์์ฑ์๋ ๋ถ๊ตฌํ๊ณ 64๋นํธ๋ ํ ํ๋ซํผ ์ง์(๋ํ์ ์ผ๋ก OS X, Android๋ iOS ๋ฑ์ ๋ชจ๋ฐ์ผ ํ๋ซํผ)์ด ์๋นํ ๋ฆ์ด์ง๊ธฐ๋ ํ๋ค. C++ ๊ฐ์ ์ธ์ด์๋ ๋ฌ๋ฆฌ ๋ธํ์ด ์ปดํ์ผ๋ฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํด๋น ํ๋ซํผ๋ค์ ์ง์ํ๊ธฐ ์ ๊น์ง ์๋ฌด๋ฐ ์์ ์ธ ์๊ฐ ์์๊ธฐ ๋๋ฌธ.
Cheat Engine์ด ํ์ค์นผ๋ก ๋ง๋ค์ด์ก๋ค. Github
5. ์ฌ๋ด[ํธ์ง]
Borland Delphi 2007์ ๊ฒฝ์ฐ C#๊ณผ๋ ์ฐ๋ํ ์ ์๊ฒ ๋๋ ๋ฑ ๋ง์ดํฌ๋ก์ํํธ์ ๊ณต์ธ ์์์๋ ๊ฟ๊ฟ์ด ์ด์๋จ์ผ๋ฉด์๋ ๋์ธ๋ฅผ ๋ฐ๋ผ๊ฐ๋ ๋ชจ์ต์ ๋ณด์ด๊ณ ์๋ค. ๋ค๋ง 2009๋ถํฐ C# ์ง์์ด ์ค๋จ๋์๋๋ฐ, C# ๊ฐ๋ฐ์๋ ์ ๋ถ MS์ ๊ฐ๋ฐํด์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ ๋ฐ์นด๋ฐ๋ก(๊ตฌ ๋ณผ๋๋)์์๋ ๋ธํ์ด์ ๋ํ ์ ์ฐฉ์ด ์ปค์, C++ Builder๋ณด๋ค ๋ธํ์ด์ ๋ ์ง์ ๋
ธ๋ ฅ์ ๊ธฐ์ธ์ธ๋ค๋ ์ธ์์ ๋ฐ๊ฒ ๋๋ค.
์ ํต์ ์ผ๋ก ๋ธํ์ด์ C++ ๋น๋์ IDE, ๊ทธ๋ฆฌ๊ณ ๋ธํ์ด ์ปดํ์ผ๋ฌ๋ ๋ธํ์ด๋ก ์ ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ํฌํํ๊ฒ๋, ์ฐจ๊ธฐ ์๋์ฐ ์ง์์ด MS์ ๊ฐ๋ฐํด๋ณด๋ค๋ ํจ์ฌ ๋น ๋ฅด๋ค. ์๋ฅผ ๋ค๋ฉด ์คํผ์ค 2007์ด ๋์ค๊ธฐ ์ ๋ฆฌ๋ณธ ์ธํฐํ์ด์ค๋ฅผ ์ง์ํ๋ค๋ ๊ฐ, ์๋์ฐ 7 ์คํ์ด ๋์ค์ ๋ง์ ํฐ์น ์คํฌ๋ฆฐ ๋ฐ ๋ฉํฐ ๋ง์ฐ์ค ํฌ์ธํฐ ์ง์์ ์ถ๊ฐํ๋ ๋ฑ. ๋ฉ์ด์ ์ปดํ์ผ๋ฌ ์์ฅ์์ ๋น ๋ฅด๊ฒ ์ ๊ธฐ์ ์ ์ง์ํ๋ ์ถ์ ์ํ๋ค. ๋ธํ์ด XE2 ์์๋ 64๋นํธ๋ฅผ ์ง์ํ๋ ๊น์ ์ถ๊ฐ๋ก OS X์ ๋ฆฌ๋ ์ค, iOS, ์๋๋ก์ด๋๊น์ง ์ง์ํ๋ค.
๋ธํ์ด๋ ์ ๊ธฐ์ ์ง์ ์ถ๊ฐ์ ์ด์ฑ์ ์ธ ๋ฐ๋ฉด, ๊ทธ ๊ธฐ๋ฅ ์์ฒด์ ์์ฑ๋์ ์ฌํ์ง์์ด ๋ฏธ๋นํ๋ค. ์๋ก์ด ๋ฒ์ ์ด ๋งค๋ ํ๋งค๋๋๋ฐ, ํด๋น ๋ฒ์ ์์ ๊ธฐ๋ฅ๋ค์ด ์ถ๊ฐ๋์ด๋ ์ด๋ฌ์ ๋ฌํ ๋ฒ๊ทธ๊ฐ ๋ง์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ณ ๋ช ๋จ๊ณ์ ๋ฒ์ ์ ๊ฑฐ์น๋ฉด์ ์์ ์ด ๋์ด์ผ ๋น๋ก์ ์์ ์ ์ด ๋๊ฑฐ๋, ํน์ ์ง์์ด ๋ถ์คํ ์ฑ ๋จ๊ฒจ์ง๋ ์ผ์ด ๋ง๋ค. ๋ง์ผํ ์ฉ ์คํ ์ถ๊ฐ์ ๊ธ๊ธํ๋ค๋ ์ด์ผ๊ธฐ๊ฐ ๊ด๋ จ ์ปค๋ฎค๋ํฐ์์ ๋์จ๋ค. ์ฐ์ ์์์ ๋ํ ๋ถ๋ง์ ์๋ 2009 ๋ฒ์ ์ด ๋์ด์์ผ ๋น๋ก์ ์ ๋์ฝ๋๊ฐ ๊ธฐ๋ณธ ์ฌ์ฉ๋์๋ค๋ ์ ๋ฑ์ด ์๋ค. ๋งค๋ ์๋ก์ด ๋ฒ์ ์ด ๋์ค๊ณ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ๋น์ฉ์ ์ง๋ถํด์ผ ํ๋๋ฐ ๊ทธ๋งํ ๋น์์ฑ์ด ๋๋ ทํ์ง ๋ชปํด ๊ตฌ ๋ฒ์ ์ ๋จ์์๋ ์ฌ์ฉ์๋ค์ด ๋ง๋ค (๋ธํ์ด ์ฌ์ฉ์๋ค ์๋น์๊ฐ ๋ ๊ฑฐ์ ์ฝ๋ ์ด์ฉ์๋ผ๋ ์ ๋ ์๋ค)
๋ณผ๋๋์์ Delphi ํต์ฌ ๊ฐ๋ฐ์์๋ ์ค๋์จ ํค์ฆ๋ฒ๊ทธ๊ฐ ๋ง์ดํฌ๋ก์ํํธ๋ก ์ด์งํ๊ณ ์ ๋ง๋ ์ธ์ด๊ฐ ์ ๋ช ํ C#์ด๋ค. ๊ทธ๋์ ๊ทธ๋ฐ์ง C#์ ํฌํจํ ๋ท๋ท ํ๋ ์์ํฌ์ ๊ฐ๋ฐํ๊ฒฝ์ด๋ ๊ฐ๋ฐ๋ฐฉ๋ฒ์ ๋ณด๋ฉด Delphi์ ๋งค์ฐ ์ ์ฌํ ๊ฒ์ ๋๋ ์ ์๋ค.
ํ์ฌ ์ฌ์ฉ๋๊ณ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค์์ ๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ๋ง๋ค์ด๋ด๋ ์ธ์ด๋ฅผ ์ ํํ๋ค๊ณ ํ๋ฉด C/C++๋ฅผ ์ ์ธํ๋ฉด Free Pascal, Delphi๊ฐ ๋๋ฒ์งธ๋ก ์ฌ ์ ์๋ค. Java, C#, Objective-C, Python, PHP, Visual Basic, Ruby... ๋ฑ๋ฑ ๋ชจ๋๊ฐ ๊ฐ์๋จธ์ ๋๋ ๋ฐํ์ํ๊ฒฝ์ด ํ์ํ ์ธ์ด์ด๋ค.
์ฌ๋ด์ผ๋ก, Scala๋ฅผ ๋ง๋ Martin Odersky ๊ต์๋ ๋ฐ๋ก ์ด ํ์ค์นผ์ ๋ง๋ Niklaus Wirth ๊ต์์ ์ง๋๋ก ๋ฐ์ฌํ์๋ฅผ ๋ฐ์๋ค. Niklaus Wirth๋ ์ทจ๋ฆฌํ ์ฐ๋ฐฉ ๊ณต๊ณผ๋ํ๊ต์ ๊ต์๋ก ์ฌ์งํ๊ณ , Martin Odersky๋ EPFL์ ๊ต์๋ก ์์ผ๋ฉฐ, ์ด ๋ ํ๊ต๋ ์ ๋ฝ์ MIT๋ผ ๋ถ๋ฆฌ๋ ์ค์์ค ์ฐ๋ฐฉ ๊ณต๊ณผ๋ํ(ETH Domain)์ ์ด๋ฃจ๊ณ ์๋ค.
์ ํต์ ์ผ๋ก ๋ธํ์ด์ C++ ๋น๋์ IDE, ๊ทธ๋ฆฌ๊ณ ๋ธํ์ด ์ปดํ์ผ๋ฌ๋ ๋ธํ์ด๋ก ์ ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ํฌํํ๊ฒ๋, ์ฐจ๊ธฐ ์๋์ฐ ์ง์์ด MS์ ๊ฐ๋ฐํด๋ณด๋ค๋ ํจ์ฌ ๋น ๋ฅด๋ค. ์๋ฅผ ๋ค๋ฉด ์คํผ์ค 2007์ด ๋์ค๊ธฐ ์ ๋ฆฌ๋ณธ ์ธํฐํ์ด์ค๋ฅผ ์ง์ํ๋ค๋ ๊ฐ, ์๋์ฐ 7 ์คํ์ด ๋์ค์ ๋ง์ ํฐ์น ์คํฌ๋ฆฐ ๋ฐ ๋ฉํฐ ๋ง์ฐ์ค ํฌ์ธํฐ ์ง์์ ์ถ๊ฐํ๋ ๋ฑ. ๋ฉ์ด์ ์ปดํ์ผ๋ฌ ์์ฅ์์ ๋น ๋ฅด๊ฒ ์ ๊ธฐ์ ์ ์ง์ํ๋ ์ถ์ ์ํ๋ค. ๋ธํ์ด XE2 ์์๋ 64๋นํธ๋ฅผ ์ง์ํ๋ ๊น์ ์ถ๊ฐ๋ก OS X์ ๋ฆฌ๋ ์ค, iOS, ์๋๋ก์ด๋๊น์ง ์ง์ํ๋ค.
๋ธํ์ด๋ ์ ๊ธฐ์ ์ง์ ์ถ๊ฐ์ ์ด์ฑ์ ์ธ ๋ฐ๋ฉด, ๊ทธ ๊ธฐ๋ฅ ์์ฒด์ ์์ฑ๋์ ์ฌํ์ง์์ด ๋ฏธ๋นํ๋ค. ์๋ก์ด ๋ฒ์ ์ด ๋งค๋ ํ๋งค๋๋๋ฐ, ํด๋น ๋ฒ์ ์์ ๊ธฐ๋ฅ๋ค์ด ์ถ๊ฐ๋์ด๋ ์ด๋ฌ์ ๋ฌํ ๋ฒ๊ทธ๊ฐ ๋ง์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ณ ๋ช ๋จ๊ณ์ ๋ฒ์ ์ ๊ฑฐ์น๋ฉด์ ์์ ์ด ๋์ด์ผ ๋น๋ก์ ์์ ์ ์ด ๋๊ฑฐ๋, ํน์ ์ง์์ด ๋ถ์คํ ์ฑ ๋จ๊ฒจ์ง๋ ์ผ์ด ๋ง๋ค. ๋ง์ผํ ์ฉ ์คํ ์ถ๊ฐ์ ๊ธ๊ธํ๋ค๋ ์ด์ผ๊ธฐ๊ฐ ๊ด๋ จ ์ปค๋ฎค๋ํฐ์์ ๋์จ๋ค. ์ฐ์ ์์์ ๋ํ ๋ถ๋ง์ ์๋ 2009 ๋ฒ์ ์ด ๋์ด์์ผ ๋น๋ก์ ์ ๋์ฝ๋๊ฐ ๊ธฐ๋ณธ ์ฌ์ฉ๋์๋ค๋ ์ ๋ฑ์ด ์๋ค. ๋งค๋ ์๋ก์ด ๋ฒ์ ์ด ๋์ค๊ณ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ๋น์ฉ์ ์ง๋ถํด์ผ ํ๋๋ฐ ๊ทธ๋งํ ๋น์์ฑ์ด ๋๋ ทํ์ง ๋ชปํด ๊ตฌ ๋ฒ์ ์ ๋จ์์๋ ์ฌ์ฉ์๋ค์ด ๋ง๋ค (๋ธํ์ด ์ฌ์ฉ์๋ค ์๋น์๊ฐ ๋ ๊ฑฐ์ ์ฝ๋ ์ด์ฉ์๋ผ๋ ์ ๋ ์๋ค)
๋ณผ๋๋์์ Delphi ํต์ฌ ๊ฐ๋ฐ์์๋ ์ค๋์จ ํค์ฆ๋ฒ๊ทธ๊ฐ ๋ง์ดํฌ๋ก์ํํธ๋ก ์ด์งํ๊ณ ์ ๋ง๋ ์ธ์ด๊ฐ ์ ๋ช ํ C#์ด๋ค. ๊ทธ๋์ ๊ทธ๋ฐ์ง C#์ ํฌํจํ ๋ท๋ท ํ๋ ์์ํฌ์ ๊ฐ๋ฐํ๊ฒฝ์ด๋ ๊ฐ๋ฐ๋ฐฉ๋ฒ์ ๋ณด๋ฉด Delphi์ ๋งค์ฐ ์ ์ฌํ ๊ฒ์ ๋๋ ์ ์๋ค.
ํ์ฌ ์ฌ์ฉ๋๊ณ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค์์ ๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ๋ง๋ค์ด๋ด๋ ์ธ์ด๋ฅผ ์ ํํ๋ค๊ณ ํ๋ฉด C/C++๋ฅผ ์ ์ธํ๋ฉด Free Pascal, Delphi๊ฐ ๋๋ฒ์งธ๋ก ์ฌ ์ ์๋ค. Java, C#, Objective-C, Python, PHP, Visual Basic, Ruby... ๋ฑ๋ฑ ๋ชจ๋๊ฐ ๊ฐ์๋จธ์ ๋๋ ๋ฐํ์ํ๊ฒฝ์ด ํ์ํ ์ธ์ด์ด๋ค.
์ฌ๋ด์ผ๋ก, Scala๋ฅผ ๋ง๋ Martin Odersky ๊ต์๋ ๋ฐ๋ก ์ด ํ์ค์นผ์ ๋ง๋ Niklaus Wirth ๊ต์์ ์ง๋๋ก ๋ฐ์ฌํ์๋ฅผ ๋ฐ์๋ค. Niklaus Wirth๋ ์ทจ๋ฆฌํ ์ฐ๋ฐฉ ๊ณต๊ณผ๋ํ๊ต์ ๊ต์๋ก ์ฌ์งํ๊ณ , Martin Odersky๋ EPFL์ ๊ต์๋ก ์์ผ๋ฉฐ, ์ด ๋ ํ๊ต๋ ์ ๋ฝ์ MIT๋ผ ๋ถ๋ฆฌ๋ ์ค์์ค ์ฐ๋ฐฉ ๊ณต๊ณผ๋ํ(ETH Domain)์ ์ด๋ฃจ๊ณ ์๋ค.
6. ๋ธํ์ด[ํธ์ง]
procedure button1Click(Sender : TObject)
begin
showmessage('Hello, World!');
endํ์ค์นผ์ด ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ๋ฐ์ ํ Object Pascal๋ก ๋ง๋ค์ด์ง ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ. ํํ '๋ธํ์ด๋ ๋ธํ์ด๋ก ๋ง๋ค์ด์ก๋ค'๊ณ ํ๋๋ฐ ์ด๊ฒ์ ๋๊ณ ํ๋ ๋ง์ด๋ค.[16]
๋ฌผ๋ก ๊ทธ๊ฒ๋ ๋ธํ์ด7๊น์ง์ ์ด์ผ๊ธฐ์ด๊ณ , ํ์ฌ ๋งค๋ ๋ง๋ค ์ถ์ํ๋ ๋ธํ์ด XE ์๋ฆฌ์ฆ๋ IDE ์์ฒด๊ฐ ๋ท๋ท์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค. XE ๊ฐ๋ฐ ๋น์ ๋ท๋ท ๊ฐ๋ฐ๊น์ง ๊ณ ๋ คํ์ฌ IDE๋ฅผ ์ค๊ณํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํ๋๋ฐ, ๊ฒฐ๊ณผ์ ์ผ๋ก IDE๊ฐ ๋งค์ฐ ๋ฌด๊ฒ๊ณ ๋ฌธ์ ๊ฐ ์๋ค.
๊ฒฝ์ ์ ํ์ด๋ผ๊ณ ๋ณผ ์ ์๋ ๋น์ฃผ์ผ ์คํ๋์ค์ ๋น๊ตํ๋ค๋ฉด ๋๋ฌด๋ ๋จ์ ๋ค์ด ๋ง์ ์ ๋ฉด์ ์ธ IDE ๊ต์ฒด๊ฐ ํ์ํด ๋ณด์ด์ง๋ง ๊ฐ๋ฐ์ฌ๊ฐ ๊ฒฝ์ ๋ฌธ์ ๋ก ์ฌ๋ฌ ๋ฒ ์ธ์, ํฉ๋ณ์ ๊ฑฐ์น๊ณ ๋ชจ๋ฐ์ผ ํ๋ซํผ ์์ฃผ์ ์ ๋ต์ ํผ์น๋ค๋ณด๋ ๋น์ฅ์ IDE ๊ฐ์ ์ด ์ด๋ฃจ์ด์ง์ง ์์ ๋ฏํ๋ค.
๊ทธ๋ฌ๋ค๋ณด๋ ๊ตฌ๊ด์ด ๋ช ๊ด์ด๋ฏ์ด ์ถ์๋์ง 10๋ ๋ ๋์ ๋ธํ์ด7์ด ํ์ญ์ผ๋ก๋ ์ ์ฌ์ฉ๋๋ค.
๋ฌผ๋ก ๊ทธ ์ด์ ์๋ ์ ์ค๊ณ๋ VCL์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ชจ๋ ์์ค ์ฝ๋๊ฐ ํฌํจ๋์ด ์์ด ๋ฒ๊ทธ ๋ฐ ๊ฐ์ ์ด ์ 3์์ ์ํด ์ง์์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค๋ ์ ๋๋ฌธ์ผ ๊ฒ์ด๋ค.
๋ํ ๋ธํ์ด7์ ๋ท๋ท์ด ํ์์น ์์ ์์ Object Pascal๋ก ๋ง๋ ๋ฒ์ ์ผ๋ก ๋งค์ฐ ๊ฐ๋ณ๋ค๋ ๊ฒ๊ณผ ํ์ฐฝ ํ๋ก๊ทธ๋๋ฐ ๋ถ์ด ์ผ๋ IT, ๋ฒค์ฒ ์๊ธฐ์ ์ถ์๋ ๊ฝค ์์ฑ๋ ์๋ ๊ฐ๋ฐํด์ด๋ ์ ๋ ์ค์ํ๋ค. ์คํ๋ ค ํ๋์ ๋ธํ์ด๋ ๋ฒ๊ทธ๊ฐ ๋ง๊ณ ๊ธฐ๋ฅ์ด ๋ถ์์ ํ๋ค๋ ํ์ ๋ฐ๊ณ ์๋ ๊ฒ๊ณผ ๋์กฐ์ ์ด๋ค.
[1] ์ฆ, ์ด ๊ฒฝ์ฐ๋ ๊ฐ๋ฐํ ์ฌ๋์๊ฒ์๋ ๋ฒ๋ฆผ๋ฐ์ ๊ฒ์ด๋ค.
[2] ์์ฆ ๋ณด๋ฉด ์ดํด๊ฐ ์ ๊ฐ์ง๋ง ์์ ์๋ ์ธ์ด ์คํ๋ง ๋ณด๊ณ ๊ทธ๋๋ก ๋ง๋ค๋ค ๋ณด๋ฉด ๊ท์ ๊ฑธ๋ฉด ๊ท๊ฑธ์ด ์ฝ์ ๊ฑธ๋ฉด ์ฝ๊ฑธ์ด๋ก ์ด๋ป๊ฒ ์๋ํ ์ง ํ๋๋ก ์ง์ด์ผ ํ๋ ์ธ์ด๋ค๋ ๋ง์๋ค.
[3] ์ ํํ๋ 1ํธ์ธ ๋๋ค๋ฅธ ์ง์์ ์ฑ์ ์ด ํ์ค์นผ๋ก ์ ์๋์๋ค๊ฐ ์ดํ C์ธ์ด๋ก ํฌํ
๋์ด ์ฌ๋ฐฐํฌ๋์์ผ๋ฉฐ, ์ดํ ์ํ๋ค์ C์ธ์ด๋ก ์ ์๋์๋ค.
[4] ํ์ค์นผ์์๋ ๋ฐฐ์ด์ ์ธ๋ฑ์ค ์ฒซ ๋ฒ์งธ๊ฐ 0์ผ๋ก ๊ณ ์ ๋์ด ์์ง ์๊ณ ์ฌ์ฉ์๊ฐ ์์๋ก ์ง์ ํ ์ ์๋ค.
[5] ๋ฌด๋ ค 1983๋
๋ฑ์ฅํ๋ค!
[6] ์ด ๊ธ์ ๋ฐ๋ฅด๋ฉด ํ์ค์นผ์ด๋ ADA๋ ๋ถํ๊ฒ
์ฅฌ๋ค์ด๋ ์ฐ๋ ๊ธฐ์ง์ ์ธ์ด๋ค(...) ์ด ์์ค์ C๋ '์ฐ๊ธฐ ๋๋ฆ์ผ๋ก ์ข์ ๊ฒ ๊ฐ๋ค' ๋ผ๋ ํธํ์ ํด ์ค๋ค.
[7] ์ฌ๊ธฐ์์ ์ง์ ๋ ๋ง์ ๋ฌธ์ ์ ๋ค์ ์ดํ์ ์ด๋์ ๋ ๋ณด์ ์์ ๋๊ธฐ๋ ํ๋ค.
[8] ๊ทธ๋ฐ๋ฐ ์์ ๊ธ์์ ์ง์ง ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฐ๋ ์ธ์ด๋ ๋ฌด์์ด๋ ํ๋ฉด ์ด์
๋ธ๋ฆฌ์ด๋ 16์ง์ ๊ธฐ๊ณ์ด, ํฌํธ๋ ๋ฑ์ด๋ผ๊ณ ํ๋ ๊ฒ์ด๋ค!
[9] ์ด์
๋ธ๋ฆฌ์ด๋ก ๋จ๋ค์ด ๋ชป ์์๋ณด๊ฒ ๋ณต์กํ๊ฒ ํ๋ก๊ทธ๋๋ฐํด์ผ์ง ์ฒ์ฌ์ฒ๋ผ ์ทจ๊ธ๋ฐ๋ ์ํ์๋๊ฐ ์์๋ค.
[10] ํ์ง๋ง ๋ณผ๋๋๊ฐ ์ด Object Pascal์ ๋์
ํ ํ์๋ ์๊ธฐ๋ง๋๋ก ์งํ๋ฅผ ๊ฑฐ๋ญํ์๊ธฐ ๋๋ฌธ์ ์ง๊ธ์ Delphi์ ์ธ์ด๋ Object Pascal์ด๋ผ๊ณ ๋ถ๋ฆฌ๊ธฐ๋ ํ์ง๋ง ๊ทธ Object Pascalํ๊ณ ๋ ์๋ํ ๋จผ ์ธ์ด๊ฐ ๋์๋ค. ๋ณผ๋๋(๋งํ๊ธฐ ์ )์์๋ Delphi ์ธ์ด๋ผ๊ณ ๋ถ๋ฌ๋ฌ๋ผ๊ณ ํ์ ์ ๋์ด๋ค.
[11] ํ์ฌ๋ ๊ฐ๋ฐ ํด ๋ถ๋ถ์ด ๋ถ์ฌ๋์ด ์ ๋ฐ์นด๋ฐ๋ก์ ์ธ์๋์๋ค. ๋ฐ๋ผ์ ์ ๋ฐ์นด๋ฐ๋ก/์ฝ๋๊ธฐ์ด ๋ธ๋๋๋ฅผ ์ฌ์ฉํ๋ค.
[12] ๋ฌธ์์๋ ๋์ค์ง๋ง Lazarus๋ Delphi 6์ ๋ชฉํ๋กํ์ฌ ๊ฐ๋ฐ๋์๋ค. ๋ฐ๋ผ์ ๋ธํ์ด์ ๋ง์ ๋ถ๋ถ์์ ์๋ก ์์ค๋ ๋ฒจ์์ ํธํ๋๋ค. ํ์ง๋ง Free Pascal ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ๊ณ ์๊ณ VCL์ ํด๋ก ํ LCL์ ํจ์จ์ ๋ฌธ์ ๊ฐ ์์ด์ ์ปดํ์ผ์๋๋ ๋ธํ์ด๋ณด๋ค ๋ง์ด ๋๋ฆฐ ํธ์ด๋ค.
[13] LCL์ด ๋๋ฆฐ ์ด์ ๋ ๊ทผ๋ณธ์ ์ผ๋ก ๋ฉํฐํ๋ซํผ์ฉ์ผ๋ก ๊ฐ๋ฐ๋์๊ธฐ ๋๋ฌธ์๋ค. ์ฆ VCL์ฒ๋ผ Windows๋ง์ ์ํ ๊ฒ์ด ์๋๋ผ Linux, Mac OS๋ฅผ ๋ชจ๋ ์ง์ํ๋๋ก ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๊ฐ์ง ์ ์ฝ์ด ๋ง์ ์๋ฐ์ ์๋ค.
[14] ์ด๋ฐ ์ด์ ๋ก Totalcommander์ ์ ๋์ฝ๋ ์ง์์ด๋ผ๋ ๊ฐ 64bit ์ง์ ๋ฑ์ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ์ข ์๋ก์ด ๊ธฐ๋ฅ๋ค์ ๋ธํ์ด๊ฐ ๊ธฐ๋ฅ์ ์ง์ํ ๋์ ๋ง์ถ์ด์ ์ถ๊ฐ๋๊ณ ์๋ค.
[15] ๋งค๋ด์ผ์ ๋ฐ๋ฅด๋ฉด ํ์ค์นผ์ ์ด์ฉํด 14,000์ฌ์ค์ ์ฝ๋๋ก ๋ง๋ค์๋ค๊ณ ํ๋ค.
[16] ํ๋ C++ ์ปดํ์ผ๋ฌ๋ค์ด C++๋ก ๋ง๋ค์ด์ง๋ ๊ฒ์ ๋ํด ๋์๋๋ ๋ฐ์ธ์ด๋ค.