
1. ์๋ก : ์ธ์ด๊ฐ ์ถค์ถ๋ ๋ฌด๋์ ์ค์ ๊ฑธ ํ์ํฉ๋๋ค! ๐คนโโ๏ธ
์๋
ํ์ธ์, ์ฌ๋ฌ๋ถ!
ํน์ โํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ญ์ฌโ ๋ผ๊ณ ํ๋ฉด ๋ฌด๊ฒ๊ณ ๋ฑ๋ฑํ ์๋ ์ด์ผ๊ธฐ๊ฐ ๋ ์ค๋ฅด์๋์? ๐๐ง ํ์ง๋ง ์๊ณ ๋ณด๋ฉด, ๊ฐ ์ธ์ด์๋ ์ฌ๋ฐ๋ ์ํผ์๋์ ๋นํ์ธ๋ ์คํ ๋ฆฌ๊ฐ ๊ฐ๋ ์จ๊ฒจ์ ธ ์๋ต๋๋ค!

- โ์ ์ด๋ค ์ธ์ด๋ ์ฌ๋ผ์ง์ง ์๊ณ ๊ณ์ ์ฐ์ผ๊น?โ
- โ์ง๊ธ ๋จ๋ ์ธ์ด๋ ๋๋์ฒด ์ด๋์ ์์๊น?โ
- โ์ธ์ด๋ง๋ค ์ด๋ ๊ฒ๋ ๋ค๋ฅธ ํน์ง์ด ์๊ธด ์ด์ ๋ ๋ญ๊น?โ
์ด๋ฐ ๊ถ๊ธ์ฆ์ ํด์ํ๊ธฐ ์ํด, ์๋๋ณ๋ก ์ด๋ค ์ธ์ด๊ฐ ๋ฑ์ฅํ๊ณ ์ด๋ป๊ฒ ๋ฐ์ ํด์๋์ง๋ฅผ ์ฌ๋ฏธ ๋ฌ๋ฟ ๋ด์ ์๊ฐํด ๋๋ฆฌ๋ ค๊ณ ํด์. ๐
โ์์ํ 1๋ฑ ์ธ์ด๋ ์๋คโ๋ผ๋ ๋ง, ๋ค์ด๋ณด์
จ๋์?
์๋๊ฐ ๋ณํ ๋๋ง๋ค ๋ฑ์ฅํ๋ ์๋ก์ด ํ๋ซํผ(๋ฉ์ธํ๋ ์ โ PC โ ์น โ ๋ชจ๋ฐ์ผ โ ํด๋ผ์ฐ๋ โ AIโฆ)๊ณผ ๊ธฐ์ ํธ๋ ๋์ ๋ฐ๋ผ ์ฃผ๋ชฉ๋ฐ๋ ์ธ์ด๋ ๋ฌ๋ผ์ก์ต๋๋ค. ํ ์์ ์ ํ๋ฏธํ๋ ์ธ์ด๊ฐ ์ด๋ ๋ ๋ณด๋ ๋ค์ณ์ง๊ธฐ๋ ํ๊ณ , ์ํ์ก๋ ์ธ์ด๊ฐ ๋ ๋ค๋ฅธ ๋ถ์ผ์์ ์ฌํ๊ฐ๋ฐ๊ธฐ๋ ํ์ฃ .
์ด๋ฒ ์๋ฆฌ์ฆ์์๋ ๊ณผ๊ฑฐ๋ถํฐ ํ์ฌ๊น์ง ๋ช ๊ฐ์ง ์ค์ํ ์๊ธฐ๋ฅผ ๋๋ , ํด๋น ์๊ธฐ์ ๋ฑ์ฅํ๊ฑฐ๋ ์ ์ฑ๊ธฐ๋ฅผ ๋๋ ธ๋ ์ธ์ด๋ค์ ๋ฐ๊ณ ๊ฒฝ์พํ ์คํ ๋ฆฌ๋ก ํ์ด๋ณผ๊น ํฉ๋๋ค. ๐บ๐
๐ ๋ชฉ์ฐจ
- 1950~1960๋
๋: ๋ฉ์ธํ๋ ์์ ๊ฑฐ๋ํ ์ปดํจํฐ์ ํจ๊ป ํ์ด๋ ์ธ์ด๋ค
- 1970~1980๋
๋: C ์ธ์ด๊ฐ ํ์ํ๋ฉฐ ์์คํ
ํ๋ก๊ทธ๋๋ฐ์ด ๋ณํํ ์๊ธฐ
- 1980~1990๋
๋ ์ด์ค๋ฐ: ๊ฐ์ฒด์งํฅ ๋ฐ๋๊ณผ ํจ๊ป C++๊ฐ ๋ฌด๋์ ๋ฑ์ฅ
- 1990๋
๋ ์คํ๋ฐ: ์น์ด ํญ๋ฐ์ ์ผ๋ก ์ฑ์ฅํ๊ณ , Java์ JavaScript๊ฐ ์ธ์์ ๋ฐ๊พผ ์๊ธฐ
- 2000๋
๋: C#๊ณผ Python/Ruby ๋ฑ์ด ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฃผ๋ชฉ๋ฐ์ ์๊ธฐ
- 2010๋
๋ ์ดํ: JavaScript์ ๋ฌดํ ํ์ฅ, ๋ชจ๋ฐ์ผ(Swift/Kotlin), AI(Python) ๋ฑ
๊ฐ ํํธ์์ ์ธ์ด๋ณ ์ฌ๋ฏธ์๋ ์ํผ์๋, ์ธ๊ธฐ ์์ธ, ๋ํ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๊ณ๋ค์ฌ ์๊ฐํ ์์ ์ด๋, ํธ์ํ ์ฝ์ผ๋ฉด์ โ์~ ์ด๋ฐ ํ์คํ ๋ฆฌ๊ฐ ์์๊ตฌ๋!โ ๋๋ผ์ค ์ ์์ ๊ฑฐ์์. ๊ทธ๋ผ ์ด๋ฒ ์ธ์ด ๋์ฅ์ ์ ์ฒซ ์ฌ์ ์ ํจ๊ป ์์ํด๋ณผ๊น์?
2.1950~1960๋
๋: ๋ฉ์ธํ๋ ์์ ์๋, ํ๋๊ธฐ ์ธ์ด๋ค

2.1 ์๋์ ๋ฐฐ๊ฒฝ
1950~60๋
๋๋ ์ง๊ธ์ฒ๋ผ ๊ฐ์ ์ด๋ ์ฌ๋ฌด์ค์ ๋์ด๋ ์๊ณ ๊ฐ๋ ฅํ ์ปดํจํฐ๊ฐ ์๋, ๋ฐฉ ํ๊ฐ๋(์ด์ฉ๋ฉด ๊ฑด๋ฌผ ํ ์ฑ๋งํผ) ์ฐจ์งํ๋ ๋ฉ์ธํ๋ ์ ์ปดํจํฐ๊ฐ ์ ๋ถ์๋ ์๊ธฐ์
๋๋ค. ๐ฑ
- ํ๋ก๊ทธ๋๋ฐ์ ํ์น์นด๋(๊ตฌ๋ฉ ๋ซ๋ฆฐ ์นด๋)๋ก ์ฝ๋๋ฅผ ์
๋ ฅํด์ผ ํ๊ณ , ํ๋ฒ ์ฝ๋ ์คํ์ ์๋ํ๋ ค๋ฉด ๊ฝค ๋ฌด๊ฑฐ์ด ์ ์ฐจ๋ฅผ ๋ฐ์์ผ ํ์ด์.
- ๊ฒ๋ค๊ฐ ์์์ ๋ํ ๊ธฐ์
, ์ฐ๊ตฌ์, ์ ๋ถ ๊ธฐ๊ด ๋ฑ๋ง ์ปดํจํฐ๋ฅผ ์์ ํ ์ ์์๊ธฐ ๋๋ฌธ์, ํ๋ก๊ทธ๋๋จธ๋ ๊ทน์์ ์๋ฆฌํธ๋ก ์ธ์๋๊ธฐ๋ ํ๋ต๋๋ค.
์ด ์๋์ ๋ํ ์ธ์ด๋ค์ โ์์ง ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๊ฐ๋
์์ฒด๊ฐ ์์ํ๋โ ๋ถ์๊ธฐ์์ ํ์ํ์ผ๋ฉฐ, ์ฃผ๋ก ๊ณผํ ๊ณ์ฐ, ์
๋ฌด ์ฒ๋ฆฌ, AI ์ฐ๊ตฌ(์ด์ฐฝ๊ธฐ)๋ผ๋ ๊ตฌ์ฒด์ ์ธ ๋ชฉ์ ์ ๋ง์ถฐ ๊ฐ๋ฐ๋์์ต๋๋ค.
2.2 ๋ํ ์ธ์ด์ ๊ทธ ์ํผ์๋๋ค
๐ณ๏ธ FORTRAN(1957)

- ๋๊ฐ ๋ง๋ค์๋?
IBM์ ์กด ๋ฐ์ปค์ค(John Backus) ํ์ ์ค์ฌ์ผ๋ก, ๊ณผํยท์ํ ๊ณ์ฐ์ ๋จ์ํํ๊ธฐ ์ํด ๊ฐ๋ฐ.
- ์ด๋ค ๋ฉด์ด ํ์ ์ ์ด์๋?
- ๊ธฐ๊ณ์ด(์ด์
๋ธ๋ฆฌ์ด)๋ฅผ ์ฌ์ฉํ๋ ์์ , ์ธ๊ฐ ์นํ์ ์ธ ๊ณ ์์ค ์ธ์ด๋ก ์์(Formula)์ ์ฝ๊ฒ ํํํ ์ ์๋๋ก ๋์์ค.
- FORTRAN์ด๋ผ๋ ์ด๋ฆ๋ โFORmula TRANslationโ์์ ์ ๋ํ์ด์!
- ์ฌ๋ฏธ์๋ ์ํผ์๋
- ๋น์์ "๊ณ ์์ค ์ธ์ด" ์์ฒด๊ฐ ๋ฏ์ค์ด์, FORTRAN์ ์ฒ์ ์จ๋ณธ ๊ณผํ์๋ค์ "์ฐ์, ์ด๊ฒ ์ ๋ง ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ๋๋ ๊ฑฐ์ผ?" ํ๋ฉฐ ์ถฉ๊ฒฉ์ ๋น ์ก๋ค๋ ์ด์ผ๊ธฐ๊ฐ ์ ํด์ง๋๋ค. ๐งโ๐ฌ
- ํฌํธ๋(ํ๊ธ ํ๊ธฐ)์ ์ง๊ธ๋ ์์ง๋์ด๋ง ์๋ฎฌ๋ ์ด์
๋ฑ ํน์ ๋ถ์ผ์์ ์ฌ์ ํ ์ฌ์ฉ๋ ๋งํผ ์ํ ๊ณ์ฐ์ ํนํ๋์ด ์์ด์.
๐ณ๏ธ COBOL(1959)

- ๋๊ฐ ๋ง๋ค์๋?
๋ฏธ ๊ตญ๋ฐฉ๋ถ, ๋ํ ๊ธฐ์
(์ํยท๋ณดํ์ฌ), ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ ์ด์ค ํธํผ(Grace Hopper) ๋ฑ ์ฌ๋ฌ ์ธ๋ฌผ์ด ํ๋ ฅํ์ฌ ์ ์.
- ์ ํ์ํ๋?
- ๊ธฐ์
์ ํ๊ณ ์ฒ๋ฆฌ, ์ฌ๊ณ ๊ด๋ฆฌ, ๊ธ์ฌ ๊ณ์ฐ ๋ฑ ๋ฐ์ดํฐ๋ฅผ ๋ง์ด ๋ค๋ฃจ๋ ์
๋ฌด๋ฅผ ์ปดํจํฐ๋ก ๋๋ฆฌ๊ธฐ ์ํด.
- ๊ฐ๋จํ ์ด์
๋ธ๋ฆฌ์ด๋ก ๊ทธ๋ฐ ๋ณต์กํ ์
๋ฌด ๋ก์ง์ ์ง๊ธฐ์๋ ๋๋ฌด ๋นํจ์จ์ ์ด์์ด์!
- ์ด๋ค ๋ฉด์ด ํ์ ์ ์ด์๋?
ADD WAGES TO TAXES GIVING TOTAL
์ฒ๋ผ ์์ด ๋ฌธ์ฅ๊ณผ ํก์ฌํ ๋ฌธ๋ฒ.
- ๋น์์ โ๋น(้)ํ๋ก๊ทธ๋๋จธโ๋ ์ฝ๋๋ฅผ ์ดํดํ ์ ์์ ๊ฑฐ๋ผ๋ ํฌ๋ง์ด ์์๋ต๋๋ค(๋ฌผ๋ก ์ค์ ๋ก๋ ์ฝ์ง ์์์ง๋ง์ ๐
).
- ์ฌ๋ฏธ์๋ ์ํผ์๋
- 2020๋
๋์๋ ์ ์ธ๊ณ ๊ธ์ต๊ถ ๋ฉ์ธํ๋ ์์์ COBOL ์ฝ๋๊ฐ ์์ฒญ๋๊ฒ ๋์๊ฐ๊ณ ์์ต๋๋ค.
- COBOL ๊ฐ๋ฐ์๊ฐ ๋ถ์กฑํด์ง๋ฉด์, ๋๋ก '๊ณ ์ก ์ฐ๋ด'์ผ๋ก ๊ฒฝํ์๋ฅผ ๋ชจ์
๊ฐ๋ ์ผ์ด ์ข
์ข
๊ธฐ์ฌํ๋๊ธฐ๋ ํ์ด์.
๐ณ๏ธ LISP(1958)

- ๋๊ฐ ๋ง๋ค์๋?
์กด ๋งค์นด์(John McCarthy)๊ฐ MIT์์ AI(์ธ๊ณต์ง๋ฅ) ์ฐ๊ตฌ๋ฅผ ์ํด ๊ณ ์.
- ์ด๋ค ๋ฉด์ด ํ์ ์ ์ด์๋?
- ๋ฆฌ์คํธ(List) ์๋ฃ ๊ตฌ์กฐ์ ํจ์ํ ํจ๋ฌ๋ค์์ ์ง์ค.
- ์ฌ๊ท ํจ์, GC(๊ฐ๋น์ง ์ปฌ๋ ์
) ๊ฐ๋
๋ ๋น๊ต์ ์ด๋ฅด๊ฒ ๋์
ํด โ์์๊ฐ ์ธ์ดโ๋ก ํ๊ฐ๋ฐ์์ต๋๋ค.
- ์ฌ๋ฏธ์๋ ์ํผ์๋
- ๊ดํธ๊ฐ ๋๋ฌด ๋ง์์ โ๊ดํธ ์ง์ฅโ์ด๋ผ๋ ๋ณ๋ช
์ด... ์:
(+ 2 3)
๊ฐ์ ํํ๋ฅผ ๊ณ์ ์ค์ฒฉํด์ ์ฐ๋ ๋ฐฉ์.
- ๋น์ฃผ๋ฅ์ฒ๋ผ ๋ณด์์ง๋ง, ํ๊ณ์ ์ฐ๊ตฌ์์์ โAI๋ฅผ ํ๋ ค๋ฉด LISPโ์ด๋ผ๋ ์ธ์์ด ๊ฝค ๊ฐํ๋ต๋๋ค. ๐ค
2.3 ์๋์ ์๋ฏธ
- ์ด ์๊ธฐ ์ธ์ด๋ค์ โํ๋ก๊ทธ๋๋ฐ ์ธ์ดโ์ ๊ฐ๋
์ ์ธ์์ ์ฒ์ ์๋ฆฐ ์ ๊ตฌ์๋ค์ด๋ผ๊ณ ํ ์ ์์ด์.
- ๊ณผํ ๊ณ์ฐ(FORTRAN), ๊ธฐ์
์
๋ฌด(COBOL), ์ฐ๊ตฌ์ฉ(LISP)์ฒ๋ผ, ๋ชฉํ๊ฐ ๋ถ๋ช
ํ ๊ฐ ๋ถ์ผ์ ํนํ๋ ๋ชจ์ต์ ๋ณด์
๋๋ค.
- ๊ธฐ๊ณ์ด, ์ด์
๋ธ๋ฆฌ์ด์ ๋น๊ตํ๋ฉด ์์ฒญ๋ ์์ฐ์ฑ ํฅ์์ด์์ง๋ง, ์ค๋๋ ์ ๊ด์ ์์ ๋ณด๋ฉด ์ฌ์ ํ ๋ฌธ๋ฒ์ด ํฌ๋ฐํ๊ณ ์ปดํ์ผ ๊ณผ์ ๋ ๋ฒ๊ฑฐ๋กญ๋ค๋ ํ๊ฐ๊ฐ ๋ง์ต๋๋ค.
- ํ์ง๋ง โ๋งํ์ง ์๊ณ ์ด์๋จ์โ ํ์
์์ ์ฐ์ด๋ ๊ฒฝ์ฐ๋ ์์ผ๋(ํนํ COBOL, FORTRAN), IT ์ญ์ฌ์ ๊ธธ์ด๋ฅผ ์์ผ ์ค๊ฐํ๊ฒ ๋ง๋ค์ฃ !
ํ ์ค ์์ฝ: "ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ผ๋ ๊ฐ๋
์์ฒด๊ฐ ์์ํ๋ ์์ , ๋ฉ์ธํ๋ ์ ์ปดํจํฐ ์๋๋ฅผ ์ฑ
์์ก๋ ์ด๊ธฐ ์ธ์ด ์ผ์ด์ฌ(FORTRAN, COBOL, LISP)!"
2.4 ๋ ์์๋ณด๊ธฐ
- ๊ทธ๋ ์ด์ค ํธํผ(Grace Hopper): COBOL ํ์์ ํฐ ์ํฅ์ ์ค ์ ์ค์ ์ธ๋ฌผ. "๋๋ฒ๊ทธ(bug๋ฅผ ์ก๋ค)"๋ ํํ๋ ๊ทธ๋
๋ก๋ถํฐ ์ ๋ํ๋ค๋ ์ผํ๊ฐ ์์ด์(์ฌ์ค์ ์ปดํจํฐ ์ฅ์น์ ๋ผ์ด์๋ ๊ณค์ถฉ์ ๋ฐ๊ฒฌํ ์ฌ๊ฑด...).
- FORTRAN์ ์งํ: FORTRAN 77, 90, 95, 2003, 2008โฆ ๊ณ์ ๋ฒ์ ์ด ์
๋ฐ์ดํธ๋์ด ์์ธ๋ก โํ๋ํโ๋ ๋ฌธ๋ฒ์ ์ง์ํ๊ธฐ๋ ํฉ๋๋ค!
- AI ์ด์ฐฝ๊ธฐ์ ์ด์๊ณผ ํ์ค: LISP ์ฐ๊ตฌ์๋ค์ ๊ทธ ๋น์ โ๊ณง ์ธ๊ฐ ์์ค์ AIโ๋ฅผ ๋ง๋ค ๊ฑฐ๋ผ ๋ฏฟ์๋ค๊ณ ํด์. ๋ฌผ๋ก ๊ทธ ๊ธธ์ ์์๋ณด๋ค ํจ์ฌ ํ๋ํ์ง๋ง, LISP๊ฐ ํจ์ํ ์ธ์ด์ AI ์ฐ๊ตฌ์ ๊ธฐ์ด๋ฅผ ๋ค์ง ๊ฑด ์ฌ์ค!
โ ์ ๋ฆฌํ๋ฉฐ
1950~60๋
๋๋ ์ปดํจํฐ๋ผ๋ ์กด์ฌ ์์ฒด๊ฐ ๊ฑฐ๋ํ๊ณ ํฌ์ํ๊ธฐ์, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ํ ํน์ ์ง๋จ์์๋ง ์ ๊ทผ ๊ฐ๋ฅํ ๋ถ์ผ์์ด์. ํ์ง๋ง FORTRAN, COBOL, LISP ๊ฐ์ ์ธ์ด๋ค์ด โ์ธ๊ฐ ์นํ์ ์ธ ๋ฌธ๋ฒโ์ ์ํํด๋ณด๋ฉด์, โ๋ ๋ง์ ์ฌ๋๋ค์ด ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์๊ฒ ๋ง๋ค์!โ๋ผ๋ ์์ด๋์ด์ ์จ์์ด ์ฌ์ด์ก๋ต๋๋ค.
์, ์ด์ ๊ฑฐ๋ํ ๋ฉ์ธํ๋ ์์ ์ธ๊ธฐ๋ฅผ ๋ค๋ก ํ๊ณ , 1970~1980๋
๋๋ก ๋์ด๊ฐ ๋ณด๋๋ก ํฉ์๋ค!
๋ค์ ํํธ์์๋ C ์ธ์ด์ ํจ๊ป ์์คํ
ํ๋ก๊ทธ๋๋ฐ์ด ์ด๋ป๊ฒ ๋ค๋ฐ๋์๋์ง ์ดํด๋ณผ๊ฒ์. ๐โโ๏ธ
๋ค์ ํํธ ์๊ณ : โC ์ธ์ด๊ฐ ์ธ์์ ์ ๋ นํ๋ค?! - 1970~80๋
๋ ์ด์ผ๊ธฐโ
3. 1970~1980๋
๋: C ์ธ์ด์ ์์คํ
ํ๋ก๊ทธ๋๋ฐ ์๋ ๐ ๏ธ

3.1 ์๋์ ๋ฐฐ๊ฒฝ
1960๋
๋ ๋ง๋ถํฐ 1970๋
๋ ์ด๋ฐ์ ๊ฑธ์ณ ์ปดํจํฐ ํ๋์จ์ด๊ฐ ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๊ธฐ ์์ํ์ด์.
- โ๋ฉ์ธํ๋ ์โ์ด๋ผ๋ ๊ฑฐ๋ํ ์ปดํจํฐ๋ง ์์๋ ์๋์์ ํํผํด โ๋ฏธ๋์ปดํจํฐโ, โ์ํฌ์คํ
์ด์
โ ๊ฐ์ ์ข ๋ ์์ ์ปดํจํฐ๋ค์ด ์ฐ๊ตฌ์์ ๊ธฐ์
, ๋ํ ๋ฑ์ ํผ์ ธ๋๊ฐ๋๋ค.
- ๋, ์ ๋์ค(UNIX) ์ด์์ฒด์ ๊ฐ ํ์ํ๋ฉด์, ์ด์์ฒด์ (OS)์ ์ปดํ์ผ๋ฌ, ์์คํ
ํด ๋ฑ์ ๋ณด๋ค ํจ์จ์ ์ธ ์ธ์ด๋ก ์์ฑํ ํ์๊ฐ ์๊ฒผ์ฃ .
์ด ์๊ธฐ์ ํต์ฌ์ โ์์คํ
ํ๋ก๊ทธ๋๋ฐโ์ด๋ผ๋ ๊ฐ๋
์ด ๋ถ์ํ๋ค๋ ์ ์ด์์.
- ์ด์ ์๋ ์ฃผ๋ก ์ด์
๋ธ๋ฆฌ์ด๋ฅผ ์ฌ์ฉํด ํ๋์จ์ด/OS ๋ ๋ฒจ ์ฝ๋๋ฅผ ์์ฑํ์ง๋ง, ์ ์ ํ๋์จ์ด๊ฐ ๋ค์ํด์ง๊ณ ์ ์ง๋ณด์๊ฐ ๋ณต์กํด์ง๋ฉด์, ๋ ์ถ์ํ๋ ์ธ์ด๊ฐ ํ์ํด์ก๋ต๋๋ค.
- ์ด๋ ๋ฑ์ฅํ ๊ฒ์ด ๋ฐ๋ก C ์ธ์ด์ด๋ฉฐ, ์ด ์ธ์ด๊ฐ ์์คํ
ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ํ๊ธฐ์ ์ผ๋ก ๋ฐ๊พธ๊ฒ ๋ฉ๋๋ค.
3.2 ๋ํ ์ธ์ด์ ์ด์ผ๊ธฐ
๐ C ์ธ์ด(1972)

๐
Pascal(1970๋
๋, ๋ณธ๊ฒฉ์ ์ฌ์ฉ์ 1970๋
๋ ํ๋ฐ~80๋
๋)

3.3 ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ์ธ์ดยท๊ฐ๋
๋ค
-
Smalltalk(1972)

- ์ ๋ก์ค PARC์์ ๊ฐ๋ฐ๋ ์์ ๊ฐ์ฒด์งํฅ(OOP) ์ธ์ด!
- 1970๋
๋์ ์ด๋ฐ ํ์ ์ ์ธ ์ธ์ด๊ฐ ์์๋ค๋, ๊ทธ ์์ ์ ๋ก์ค PARC๊ฐ ์ผ๋ง๋ ์์๊ฐ๋์ง ์ ์ ์์ฃ .
- ๋์คํ๋ณด๋ค๋ ์ฐ๊ตฌ/ํ๋กํ ํ์
์ ๋ง์ด ์ฌ์ฉ๋๊ณ , ํ์ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ค(C++, Java ๋ฑ)์๊ฒ ํฐ ์ํฅ์ ์ฃผ์์ต๋๋ค.
-
B ์ธ์ด

- C ์ธ์ด์ ์ ์ ์ด๋ผ ํ ์ ์๋ โB ์ธ์ดโ๊ฐ ์์์ด์. ์ผ ํฐํ์จ์ด BCPL์์ ์์ด๋์ด๋ฅผ ๊ฐ์ ธ์ ๋ง๋ ์ธ์ด์ธ๋ฐ, C๊ฐ ๋์ค๊ธฐ ์ ์ ๊น ์ฐ์์ฃ .
- ์ด๋ฆ์ด B์์ C๋ก ์ํ๋ฒณ ํ ๊ธ์ ๋ค์์ด ๋์๋ค๋ ์ ์พํ ์ฐ๋ ์ ๋ช
ํฉ๋๋ค.
3.4 ์๋๊ฐ ๋จ๊ธด ์ํฅ
- C ์ธ์ด๋ฅผ ํตํด โ์ด์์ฒด์ ๋ ๊ณ ์์ค ์ธ์ด๋ก ์งค ์ ์๋ค!โ๋ผ๋ ํ์ ์ ์ฌ๊ณ ๊ฐ ์๋ฆฌ ์ก์.
- ์ด์์ฑ ๋์ ์ ๋์ค(C ๊ธฐ๋ฐ OS)๊ฐ ์ ์ธ๊ณ ์ฐ๊ตฌ์คยท๋ํ์ ํผ์ง๋ฉฐ, ์ ๋์ค ์ฒ ํ(์์ ๋๊ตฌ๋ค์ ์กฐํฉํด ํฐ ์ผ์ ํ๋ค) ๋ ๊ฐ๋ฐ ๋ฌธํ์ ํฐ ์ํฅ์ ๋ฏธ์ณค์ด์.
- ๊ต์ก ํ์ฅ์์ Pascal์ด ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ ์ฒด๊ณ์ ์ผ๋ก ๊ฐ๋ฅด์น๋ ํ์ค ๊ต์ฌ์ฒ๋ผ ์ฐ์๊ณ , ์ด๋ ๋ง์ ๊ฐ๋ฐ์ ์ง๋ง์์๊ฒ ๊น๋ํ ์ฝ๋ฉ ์ต๊ด์ ์ฌ์ด์ค ๊ณ๊ธฐ๊ฐ ๋์ต๋๋ค.
๊ฒฐ๋ก : 1970~80๋
๋๋ C ์ธ์ด๊ฐ ์์คํ
ํ๋ก๊ทธ๋๋ฐ์ ํ์ ๋๊ตฌ๊ฐ ๋๊ณ , ๊ต์ก์ฉ์ผ๋ก Pascal์ด ๋ ์ค๋ฅด๋ฉฐ, ์ดํ ๊ฐ์ฒด์งํฅ์ผ๋ก ๋์ด๊ฐ๋ ์ค๋น๊ฐ ์ฐจ๊ณก์ฐจ๊ณก ์ด๋ค์ง ์๊ธฐ์์ต๋๋ค!
3.5 ๋ ์์๋ณด๊ธฐ
- K&R C: ์ ์ค์ ์ธ ์ฑ
โThe C Programming Languageโ (Brian W. Kernighan & Dennis M. Ritchie)๊ฐ 1978๋
์ ์ถ๊ฐ. ์ด๋ฅธ๋ฐ K&R C ๋ฌธ๋ฒ์ด C ์ธ์ด์ ํ์ค์ด ๋๋ฉด์ ์ ์ธ๊ณ์ ์ผ๋ก C๊ฐ ํผ์ง๋ ๋ฐ ํฐ ์ญํ ์ ํ์ฃ .
- ๋ฏธ๋์ปดํจํฐ: PDP-11 ๊ฐ์ ๋ฏธ๋์ปดํจํฐ๊ฐ ๋ํ์ด๋ ์ฐ๊ตฌ์์์ ๋ง์ด ์ฐ์๋๋ฐ, ์ด ๊ธฐ์ข
์ ์ ๋์ค์ C ์ธ์ด๊ฐ ๊ฐ์ด ๊น๋ฆฌ๋ฉด์ โ์ปดํจํฐ ๊ณผํ์ ํฉ๊ธ๊ธฐโ๊ฐ ์ด๋ ธ๋ค๋ ์ด์ผ๊ธฐ๋ ์์ต๋๋ค.
- Pascal vs C: โC๋ ์์คํ
์ชฝ, Pascal์ ๊ต์ก์ฉโ์ด๋ผ๋ ๊ตฌ๋๋ก ๋น๊ตํ๋ ๊ธ์ด 1980~90๋
๋์ ๋ง์ด ๋์์ด์. ์ง๊ธ ๋ณด๋ฉด ์๋ ์ด์ผ๊ธฐ์ง๋ง, ๊ทธ ์์ ์ ๊ฝค๋ ๋จ๊ฑฐ์ด ๋
ผ์์ด์์ต๋๋ค.
โ ์ ๋ฆฌํ๋ฉฐ
1970~1980๋
๋๋ C ์ธ์ด๊ฐ ์ด์์ฒด์ ยท์์คํ
์ํํธ์จ์ด ๊ฐ๋ฐ์ ํ์ค์ผ๋ก ์๋ฆฌ ์ก์ ํ๊ธฐ์ ์ธ ์๊ธฐ์์ด์. ๋์์, Pascal ๊ฐ์ ๊ต์ก์ฉ ์ธ์ด๋ ์ฃผ๋ชฉ๋ฐ์ผ๋ฉฐ โํ๋ก๊ทธ๋๋ฐ ๊ต์กโ์ด ์ ์ฐจ ์ฒด๊ณํ๋๋ ๋ฐํ์ด ๋ง๋ค์ด์ง๋๋ค.
4. 1980~1990๋
๋ ์ด์ค๋ฐ: ๊ฐ์ฒด์งํฅ์ ๋ถ์ & C++ ์๋ ๐ฐ

4.1 ์๋์ ๋ฐฐ๊ฒฝ
1970~80๋
๋์ C ์ธ์ด๊ฐ ์์คํ
ํ๋ก๊ทธ๋๋ฐ์ ๋์ธ๊ฐ ๋๋ค๋ฉด, 1980~90๋
๋ ์ด์ค๋ฐ์ โ๊ฐ์ฒด์งํฅ(OOP)โ ์ด๋ผ๋ ์๋ก์ด ํจ๋ฌ๋ค์์ด ๋ ์ค๋ฅด๋ ์๊ธฐ์
๋๋ค.
- โ๋ ํฐ ๊ท๋ชจ์ ์ํํธ์จ์ด๋ฅผ ๋ ์ฝ๊ฒ ์ ์งยท๋ณด์ํ ์ ์์๊น?โ๋ผ๋ ๊ณ ๋ฏผ์์ ํด๋์ค(Class), ์์(Inheritance), ๋คํ์ฑ(Polymorphism) ๊ฐ์ ๊ฐ๋
์ด ์ฃผ๋ชฉ๋ฐ๊ธฐ ์์ํ์ด์.
- ์ด ์๊ธฐ๋ถํฐ ๊ฐ์ธ์ฉ ์ปดํจํฐ(PC)๊ฐ ์กฐ๊ธ์ฉ ํผ์ง๊ณ , GUI(Graphical User Interface) ํ๊ฒฝ์ ๋ํ ๊ด์ฌ๋ ๋์์ง๋ฉฐ, ์ํํธ์จ์ด๊ฐ ์ ์ ๋ณต์กยท๊ฑฐ๋ํด์ก๊ธฐ ๋๋ฌธ์ด์ฃ .
---
4.2 C++์ ํ์๊ณผ ์ฑ์ฅ
๐ C++(1985 ๊ณต์ ๋ฐํ)

- ๋๊ฐ ๋ง๋ค์๋?
๋น์ผ๋ค ์คํธ๋กญ์คํธ๋ฃน(Bjarne Stroustrup), ๋ฒจ ์ฐ๊ตฌ์(AT&T)์์ 1979๋
์ฏค๋ถํฐ โC with Classesโ๋ผ๋ ํ๋ก์ ํธ๋ก ์์.
- ์ ํ์ํ๋?
- C ์ธ์ด๊ฐ ๊ฐ๋ ฅํ์ง๋ง, ๋๊ท๋ชจ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค ๋ ์ ์ง๋ณด์๊ฐ ์ฝ์ง ์์์ด์.
- ๊ฐ์ฒด์งํฅ ์ค๊ณ ๊ธฐ๋ฒ์ ๋ฃ์ด โํฐ ํ๋ก๊ทธ๋จ์ ์ ๊ตฌ์กฐํโ ํ๋ ค๋ ์๊ตฌ๊ฐ ์ปค์ก์ฃ .
- ์ฃผ์ ํน์ง
- ํด๋์ค, ์์, ๋คํ์ฑ, ์บก์ํ ๋ฑ์ ๊ฐ์ฒด์งํฅ ๊ฐ๋
์ง์.
- ๊ธฐ์กด C ์ฝ๋์ ๊ฑฐ์ ํธํ ๊ฐ๋ฅ โ โ๋ฐฐ์ฐ๋ C ์ง์ ๊ทธ๋๋ก ์ ์ฉ ๊ฐ๋ฅํ๋ค?โ ๋ผ๋ ์ฅ์ .
- ์ปดํ์ผ๋ ์ธ์ด๋ผ์ (๊ฐ์ฒด์งํฅ์์๋) ์๋๊ฐ ๋น ๋ฅธ ํธ.
- ์ํผ์๋
- โC++ ๋ฌธ๋ฒ์ ๋๋ฌด ๋ณต์กํด!โ๋ผ๋ ๋ง์ ๊พธ์คํ ๋์์ต๋๋ค. ํ
ํ๋ฆฟ, ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ ๋ฑ ๊ฐ๋ ฅํ์ง๋ง ํท๊ฐ๋ฆฌ๋ ๊ธฐ๋ฅ๋ค์ด ๋ง์๊ฑฐ๋ ์.
- ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๊ฒ์ ์์ง, ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์
, ๊ฐ์ข
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ์์ ๊ณ ์ฑ๋ฅ + OOP๋ฅผ ์ํ๋ ๊ณณ์ ๋๋ฆฌ ๋์
๋์ด์.
- 1990๋
๋๊ฐ ๋์, โ๋๊ท๋ชจ ์์ฉ ์ํํธ์จ์ด๋ C++โ์ด๋ผ๋ ๊ณต์์ด ์๋ฆฌ ์ก์์ ๋งํผ ์ํฅ๋ ฅ ๋ง๊ฐ!
4.3 ๋ค๋ฅธ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ค
๐ท๏ธ Smalltalk

- ์ญ์ฌ: 1970๋
๋ ์ ๋ก์ค PARC์์ ๊ฐ๋ฐ๋ ์์ ๊ฐ์ฒด์งํฅ ์ธ์ด.
- ์ํฅ๋ ฅ: C++๋ฟ ์๋๋ผ Java, C#, Python ๋ฑ ํ๋ ์ธ์ด๋ค์ ๊ฐ์ฒด์งํฅ ๊ฐ๋
์ ํฐ ์ํฅ์ ์คฌ์ด์.
- ๋์ค์ฑ: ๊ต์กยท์ฐ๊ตฌ์ฉ์ผ๋ก ๋ง์ด ์ฐ์์ง๋ง, ์์
์ ์ผ๋ก๋ C++๋งํผ ํญ๋ฐ์ ์ผ๋ก ํผ์ง์ง ์์์ต๋๋ค.
๐ท๏ธ Objective-C(1983)

- ๋ฐฐ๊ฒฝ: ๋ธ๋๋ ์ฝ์ค(Brad Cox)๊ฐ Smalltalk + C๋ฅผ ๊ฒฐํฉํ ํํ๋ก ๋ง๋ ์ธ์ด.
- ํน์ง: C ๋ฌธ๋ฒ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฉ์์ง ์ ์ก ๋ฐฉ์์ ๊ฐ์ฒด์งํฅ์ ๊ตฌํ.
- ์ํผ์๋: 1990๋
๋์ โNeXT ์ปดํจํฐโ ๋ฑ ํน์ ํ๋ซํผ์์๋ง ์ฐ์์ง๋ง, ๋ค์ Apple์ด macOS, iOS์ ํต์ฌ ์ธ์ด๋ก ์ฑํํ๋ฉด์ ๋์ค์ฑ์ด ์ปค์ก์ต๋๋ค. (๋์ค์ Swift๊ฐ ๋์ฒดํ๊ฒ ๋์ง๋ง์!)
4.4 ์๋์ ์๋ฏธ
- โ๊ฐ์ฒด์งํฅ(OOP)โ ์ด๋ผ๋ ํจ๋ฌ๋ค์์ด ํ๊ณ์ ์ฐ์
๊ณ ๋ชจ๋์์ ์ฃผ๋ชฉ๋ฐ์ผ๋ฉด์, ๊ธฐ์กด์ ์ ์ฐจ์ ์ธ์ด๋ค(์: C)๊ณผ๋ ๋ค๋ฅธ ์ฌ๊ณ ๋ฐฉ์์ด ํ์ฐ๋์์ต๋๋ค.
- C++๋ โC์ ํธํ๋๋ ๊ฐ์ฒด์งํฅ ์ธ์ดโ ๋ผ๋ ์ ์ ๋ฌด๊ธฐ๋ก ๋๊ธฐ์
, ๊ฒ์ ๊ฐ๋ฐ, ์๋ฒ ๋๋ ์ฅ๋น, ๊ฐ์ข
์์ฉ ์ํํธ์จ์ด ์์ฅ์์ ์
์ง๋ฅผ ๋ค์ก์ต๋๋ค.
- ์ด ์๊ธฐ๋ฅผ ๊ฑฐ์น๋ฉฐ โ๋ํ ํ๋ก์ ํธ์์๋ ๊ฐ์ฒด์งํฅ์ด ํ์โ๋ผ๋ ์ธ์์ด ์ ์ ๊ตณ์ด์ก๊ณ , ์ดํ Java, C#, Python ๋ฑ ํ๋ ์ธ์ด๋ค์ ๋ฑ์ฅ์๋ ํฐ ์ํฅ์ ์ฃผ์์ด์.
4.5 ์ฌ๋ฏธ์๋ ์ํผ์๋์ ์ํฅ
-
C++ ๋ฌธ๋ฒ ๋
ผ๋
- ๋ณต์กํ ํ
ํ๋ฆฟ, ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ, ๋งค๊ฐ๋ณ์ ํจํค์ง ๋ฑโฆ โ์ต์ํด์ง๋ฉด ํธํ๋คโ vs โ๋์ฒด ์ด๊ฒ ๋ญ๊ฐ์?โ๋ผ๋ ์๊ฒฌ์ด ๊ณต์กดํ์ฃ .
- ํ์ง๋ง ๊ทธ๋งํผ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ์ ๊ณตํ๋, ์ฑ๋ฅ ์งํฅ์ ๋ํ SW์๋ ์ต์ ์ด๋ผ๊ณ ์ฌ๊ฒจ์ก์ต๋๋ค.
-
IBM, ๋ง์ดํฌ๋ก์ํํธ, ๋ณด์ ๋ฑ ๋๊ธฐ์
๋ค๋ C++ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ด ์์คํ
๊ณผ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์์ํ๋ฉด์, ๊ตฌ์งยท์ทจ์
๋ฉด์์ โC++ ์ํ๋ฉด ์ ๋ฆฌํ๋คโ๋ ๋ง์ด ์๊ฒจ๋ฌ์ฃ .
-
๊ฐ์ฒด์งํฅ ์ฑ
์ ํ์
- 90๋
๋ ์ด๋ฐ๋ถํฐ ์จ๊ฐ ๊ฐ์ฒด์งํฅ ํด์ค์๊ฐ ์ฑ
๋ฐฉ์ ๊น๋ ธ์ด์. โC++๋ก ๋ฐฐ์ฐ๋ ๊ฐ์ฒด์งํฅโ ๊ฐ์ ํ์ดํ๋ก ๋๊บผ์ด ์ฑ
๋คโฆ ํ๋ก๊ทธ๋๋จธ๋ผ๋ฉด ํ ๋ฒ์ฏค ์ ํด๋ณธ ์ถ์ต์ด ์์ ์๋!
์ ๋ฆฌ: 1980~90๋
๋ ์ด์ค๋ฐ์ โ๊ฐ์ฒด์งํฅ=๋ฏธ๋โ๋ผ๋ ๋ถ์๊ธฐ ์์์, C++๊ฐ ์ค๋ซ๋์ ๋์ธ๋ก ์๋ฆฌ ์ก์ ์๊ธฐ. ์ดํ ์น ์๋๊ฐ ์ค๊ธฐ ์ ๊น์ง, ๋ฐ์คํฌํฑยท์ํฐํ๋ผ์ด์ฆ SW ์๋น์๊ฐ C++๋ก ๊ฐ๋ฐ๋๊ณค ํ์ต๋๋ค.
5. 1990๋
๋ ์ค~ํ๋ฐ: ์น์ ํญ๋ฐ & Java, JavaScript ๋ฑ์ฅ ๐
5.1 ์๋์ ๋ฐฐ๊ฒฝ
1980~90๋
๋ ์ด๋ฐ๊น์ง๋ ๋ฐ์คํฌํฑ ์ด์์ฒด์ (Windows, Mac OS)์ ๊ฐ์ข
์ํํธ์จ์ด๋ค์ด ์ฃผ๋ชฉ๋ฐ์์ง๋ง, 1990๋
๋ ์ค๋ฐ์ ์ด๋ฅด๋ฌ ์ ์ธ๊ณ๋ฅผ ๊น์ง ๋๋ผ๊ฒ ํ ๊ฒ ์์์ผ๋โฆ ๋ฐ๋ก ์๋ ์์ด๋ ์น(WWW), ์ฆ ์ธํฐ๋ท์ ํญ๋ฐ์ ์ฑ์ฅ์
๋๋ค.
- 1993๋
๋ชจ์์ดํฌ(Mosaic), 1994๋
๋ท์ค์ผ์ดํ(Netscape) ๋ฑ์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฑ์ฅํ๋ฉฐ, ์ผ๋ฐ์ธ๋ ๋ธ๋ผ์ฐ์ ๋ก WWW๋ฅผ ์ฝ๊ฒ ์ ์ํ ์ ์๊ฒ ๋์ฃ .
- โ์น์ฌ์ดํธโ๋ผ๋ ๊ฐ๋
์ด ์๊ธฐ๊ณ , ๊ธฐ์
ยท๋ํยท๊ฐ์ธ ๋ชจ๋๊ฐ ์นํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ ์์ํ๋ฉด์ ์ธํฐ๋ท ๋ถ(๋ท์ปด ๋ฒ๋ธ)๋ ํจ๊ป ์ฐพ์์์ต๋๋ค.
---
5.2 Java(1995)

๐ ๋๊ฐ ๋ง๋ค์๋?
- ์ฌ ๋ง์ดํฌ๋ก์์คํ
์ฆ(Sun Microsystems)์ ์ ์์ค ๊ณ ์ฌ๋ง(James Gosling) ๋ฑ์ด ์ฃผ๋.
- ์ด๊ธฐ์๋ โOakโ๋ผ๋ ์ด๋ฆ์ผ๋ก ๊ฐ์ ์ ํ(์
ํฑ๋ฐ์ค, TV ๋ฑ)์์ ๋์๊ฐ ์ธ์ด๋ฅผ ๋ชฉํ๋ก ์ฐ๊ตฌํ์ด์.
๐ ์ด๋ค ์ ์ด ํ์ ์ ์ด์๋?
- ํ๋ซํผ ๋
๋ฆฝ์ฑ: โWrite Once, Run Anywhereโ
- ์๋ฐ ๊ฐ์๋จธ์ (JVM) ์์์ ์ฝ๋๊ฐ ๋์๊ฐ๊ธฐ ๋๋ฌธ์, OS๋ง๋ค ์ผ์ผ์ด ํฌํ
ํ ํ์๊ฐ ์ค์ด๋ฆ.
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ: ๊ฐ๋น์ง ์ปฌ๋ ์
(GC) ๋์
- C/C++์ฒ๋ผ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น/ํด์ ํ์ง ์์๋ ๋ผ์, ๊ฐ๋ฐ ์์ฐ์ฑ์ด ํฌ๊ฒ ํฅ์.
- ๊ฐ์ฒด์งํฅ(OOP) ์งํฅ์ ๊น๋ํ ๋ฌธ๋ฒ
- C++๋ณด๋ค ๊ฐ๋จํ๋ฉด์๋ OOP ๊ฐ๋
์ ๊ธฐ๋ณธ์ผ๋ก ์ฑํ.
๐ ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก & ์ํผ์๋
- ์ด๊ธฐ: ์น ๋ธ๋ผ์ฐ์ ์์์ Java ์ ํ๋ฆฟ(Applet)์ ๋๋ ค โ๋ฆฌ์นโํ ์น์ ๋ง๋ค๋ ค๊ณ ํ์ผ๋, ์ด๊ฒ์ ํฌ๊ฒ ํํธํ์ง ๋ชปํจ. (๋ณด์ยท์๋ ๋ฌธ์ ๋ฑ)
- ๊ทธ๋ฌ๋: ์๋ฒ ์ฌ์ด๋(J2EE, ์ํฐํ๋ผ์ด์ฆ ๊ฐ๋ฐ, JSP/Servlet)์์ ๊ณง ์์ฒญ๋ ์ฑ๊ณต์ ๊ฑฐ๋ . ๋๊ท๋ชจ ์น์๋น์คยท๊ธฐ์
์์คํ
์ ํต์ฌ ์ธ์ด๋ก ์๋ฆฌ๋งค๊นํ์ด์.
- ์ถํ: ์๋๋ก์ด๋(2008๋
๊ฒฝ)๋ ์ด์ฐฝ๊ธฐ์ Java ๊ธฐ๋ฐ์ผ๋ก ์ฑ ๊ฐ๋ฐ์ ์ง์, ์๋ฐ์ ์ํ๊ณ๊ฐ ๋์ฑ ๊ฐ๋ ฅํด์ง.
5.3 JavaScript(1995)

๐ ๋๊ฐ ๋ง๋ค์๋?
- ๋ธ๋ ๋ ์์ดํฌ(Brendan Eich), ๋ท์ค์ผ์ดํ(Netscape)
- ๋จ 10์ผ ๋ง์ ๊ธํ๊ฒ ๋ง๋ค์ด์ง ์ธ์ด๋ผ๋ ์ ์ค์ด ์ ๋ช
ํ์ฃ !
๐ ์ด๋ค ์ ์ด ํ์ ์ ์ด์๋?
- ๋ธ๋ผ์ฐ์ ๋ด๋ถ ์คํฌ๋ฆฝํธ: HTML๊ณผ ํจ๊ป ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์์ ๋ฐ๋ก ์คํ
- ๋์ ์ธ์ด: ๋ณ์์ ํ์
์ ๋ช
์ํ์ง ์์๋ ๋๊ณ , ๋ฐํ์์ ์์ ๋กญ๊ฒ ๊ฐ์ฒด/ํจ์๋ฅผ ์์ฑ, ์์ ๊ฐ๋ฅ
- ์ฆ๊ฐ์ ์ธํฐ๋์
: ์นํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจํ์ง ์์๋, ์ฌ์ฉ์์ ํด๋ฆญ์ด๋ ์
๋ ฅ ์ด๋ฒคํธ์ ๋ฐ์ํ ์ ์์
๐ ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก & ์ํผ์๋
- ์ด์ฐฝ๊ธฐ: ์ฃผ๋ก โํผ ๊ฒ์ฆโ์ด๋ โ์ด๋ฏธ์ง ๋กค์ค๋ฒโ ๊ฐ์ ๊ฐ๋จํ ๋์ ๊ธฐ๋ฅ์ ์ฐ์.
- ๋ธ๋๋๋ช
๋ณ๊ฒฝ: ์๋ ์ด๋ฆ์ โLiveScriptโ์๋๋ฐ, ๋น์ ์๋ฐ(Java)๊ฐ ์ธ๊ธฐ๋ฅผ ๋๋ฉด์ โJavaScriptโ๋ก ๋ฐ๊ฟจ๋ค๋ ์๋ฌธ.
- ํญ๋ฐ์ ์ฑ์ฅ: 2000๋
๋ ์ค๋ฐ์ Ajax ๊ธฐ๋ฒ(ํ์ด์ง ์๋ก๊ณ ์นจ ์์ด ์๋ฒ์ ํต์ )๊ณผ ํจ๊ป โ์ง์ง ์น ์ ํ๋ฆฌ์ผ์ด์
โ ์๋๋ฅผ ์ด์๊ณ , 2010๋
๋์ Node.js(์๋ฒ ์ธก JS)๋ก ์์ญ ํ๋ โ ํ์ฌ ์น ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ฅ์ด ๋์ต๋๋ค!
5.4 PHP(1995) - ๊น์ง ์กฐ์ฐ์ด์ง๋ง ์ค์ํ ์ธ์ด

๐ก ์ ํจ๊ป ๋ฑ์ฅ?
- 1995๋
์ Java์ JavaScript๋ง์ด ์๋์์ต๋๋ค. PHP ๋ํ ์ด ํด์ ์์๋์ด, ๋์ ์น์ฌ์ดํธ ๊ตฌํ์ ๊ฐ๋จํ ํด ์ฃผ๋ ์๋ฒ ์ฌ์ด๋ ์คํฌ๋ฆฝํธ ์ธ์ด๋ก ๊ธ๋ถ์.
- ๋ผ์ค๋ฌด์ค ๋ฌ๋ํ(Rasmus Lerdorf)๊ฐ ๊ฐ์ธ ํํ์ด์ง ๊ด๋ฆฌ ์ฉ๋๋ก ๋ง๋ ๋๊ตฌ๊ฐ ๋ฐ์ ํด, ์ ์ธ๊ณ ์ค์๊ท๋ชจ ์นํธ์คํ
ํ๊ฒฝ์ ํ์ค์ด ๋์์ฃ .
๐ก ์ํฅ๋ ฅ
- ์๋ํ๋ ์ค(WordPress), ๋ฏธ๋์ด์ํค(MediaWiki) ๋ฑ ์ ๋ช
CMS๊ฐ PHP ๊ธฐ๋ฐ โ ์ ์ธ๊ณ ์๋ง์ ์น์ฌ์ดํธ๊ฐ PHP๋ก ๋์๊ฐ.
- ๋ฌธ๋ฒ์ด ์ฌ์ ์
๋ฌธ์๋ค์ด ๋น ๋ฅด๊ฒ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ข์์.
- ํ์ด์ค๋ถ๋ ์ด์ฐฝ๊ธฐ์ PHP๋ก ์์ํ๋ค๋ ์ฌ์ค! (๋ฌผ๋ก ์ง๊ธ์ ๋ง์ด ์์ ํ๊ณ ๊ณ ์ฑ๋ฅํํ์ง๋ง์.)
5.5 ์๋์ ์๋ฏธ
- ์น ๋ธ๋ผ์ฐ์ ๋ผ๋ ๊ณตํต ํ๋ซํผ์ด ์ ์ธ๊ณ๋ก ํผ์ง๋ฉด์, ์ธํฐ๋ท ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์๋๊ฐ ์ด๋ฆผ.
- Java: ์ํฐํ๋ผ์ด์ฆ ์๋ฒ๋ถํฐ ๋ชจ๋ฐ์ผ(์๋๋ก์ด๋)๊น์ง ์์ฐ๋ฅด๋ ๋ฒ์ฉ ์ธ์ด๋ก ์น์น์ฅ๊ตฌ.
- JavaScript: โ์น ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ ์ ์ผํ ์ธ์ดโ๋ก ์๋ฆฌ ์ก๊ณ , ์ดํ Node.js์ ๋ค์ํ ํ๋ ์์ํฌ(React, Angular, Vue ๋ฑ)๋ก ํญ๋ฐ์ ์ฑ์ฅ.
- PHP: ์ค์๊ท๋ชจ ์น์ฌ์ดํธ ~ CMS ์ค์ฌ์ ๊ด๋ฒ์ํ ์ํ๊ณ ํ์ฑ.
ํ์ค ์์ฝ: 1990๋
๋ ์ค~ํ๋ฐ์ โ์น์ ๊ณง ๋ฏธ๋!โ๋ผ๋ ๋ถ์๊ธฐ ์์์, ์๋ฐ(Java)๊ฐ ์๋ฒ๋ฅผ, ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ํด๋ผ์ด์ธํธ๋ฅผ, ๊ทธ๋ฆฌ๊ณ PHP๊ฐ ์ฝ๊ฒ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค ์ ์๋ ์คํฌ๋ฆฝํธ ์ธ์ด๋ก ๋์คํ๋๋ ์๊ธฐ์์ฃ .
5.6 ์ฌ๋ฏธ์๋ ์ํผ์๋ ๋ชจ์
- Java vs JavaScript ์ด๋ฆ ํท๊ฐ๋ฆผ
- ๋ง์ ์ด๋ณด์๋ค์ด โ์๋ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๋น์ทํ ์ธ์ด๋?โ๋ผ๊ณ ๋ฌผ์์ง๋ง, ์ฌ์ค์ ๋ฌธ๋ฒ ์คํ์ผ๋ ์ฉ๋๋ ๊ฝค ๋ค๋ฆ. ์ด๋ฆ๋ง ๋น์ทํ๋ค๊ณ ๋ณด๋ฉด ๋ผ์.
- ๋ธ๋ผ์ฐ์ ์ ์(Browser Wars)
- ๋ท์ค์ผ์ดํ vs ๋ง์ดํฌ๋ก์ํํธ(IE) ๊ฐ ๋ธ๋ผ์ฐ์ ์์ฅ ๊ฒฝ์์ด ๊ทน์ฌํด์, JS ํ์คํ๊ฐ ํผ๋์ ๊ฒช๊ธฐ๋ ํ์ด์.
- โ๋จํ(LAMP)โ ์คํ
- Linux, Apache, MySQL, PHP(Python/Perl) ์กฐํฉ์ด ์ ๋ ดํ๋ฉด์๋ ์์ ์ ์ธ ์น ์๋น์ค ์ธํ๋ผ๋ก ๊ฐ๊ด๋ฐ์.
- ๋ท์ปด ๋ฒ๋ธ
- 90๋
๋ ๋ง ~ 2000๋
๋ ์ด ์น ์คํํธ์
์ด ์ฐํ์ฃฝ์ ์๊ฒจ๋๊ณ , ์ฃผ๊ฐ๊ฐ ํญ๋ฑํ๋ค๊ฐ ๊ฐ์๊ธฐ ๋ถ๊ดด๋ ๊ฒฝ์ ์ฌ๊ฑด. ๊ทธ๋ฌ๋ ๊ทธ ๊ณผ์ ์์ ์น ๊ธฐ์ ์ ๋์ฑ ์ฑ์ํด์ก์ต๋๋ค.
7. 2010๋
๋ ์ดํ: JavaScript ์ฒํ + ๋ชจ๋ฐ์ผ, AI, ๊ทธ๋ฆฌ๊ณ ์ ํฅ ๊ฐ์๋ค ๐

7.1 ์๋์ ๋ฐฐ๊ฒฝ
2000๋
๋๊ฐ ์น๊ณผ ๊ธฐ์
์๋ฒ์ ๋ฐ์ ๊ธฐ์๋ค๋ฉด, 2010๋
๋ ์ดํ๋ ๋ชจ๋ฐ์ผ(์ค๋งํธํฐ)๊ณผ ํด๋ผ์ฐ๋, AI, ๋น
๋ฐ์ดํฐ ๋ฑ ๋ค์ํ ๊ธฐ์ ํจ๋ฌ๋ค์์ด ๊ฒน์ณ์ ํญ๋ฐ์ ์ผ๋ก ์ฑ์ฅํ๋ ์๊ธฐ์
๋๋ค.
- ์ค๋งํธํฐ์ด ์ ์ธ๊ณ์ธ์๊ฒ ๋ณด๊ธ๋๋ฉด์, ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ(iOS, ์๋๋ก์ด๋)์ด ์ค์ํ ์์ฅ์ผ๋ก ๋ถ์.
- ํด๋ผ์ฐ๋ ์๋น์ค(AWS, GCP, Azure)์ ๋น
๋ฐ์ดํฐ/AI๊ฐ ์ฃผ๋ฅ๊ฐ ๋๋ฉด์, ์๋ฒ ์ธก์์๋ ๊ณ ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ ๋์์ ์๊ตฌํ๋ ์ธ์ด๋ค์ด ์ฃผ๋ชฉ๋ฐ๊ฒ ๋์ฃ .
- ๊ทธ๋ฆฌ๊ณ JavaScript๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋์ด ์๋ฒ(Node.js), ๋ฐ์คํฌํฑ, ๋ชจ๋ฐ์ผ ์ฑ ๋น๋ ๋ฑ ์ ๋ฐฉ์๋ก ๋ป์ด๋๊ฐ๋ฉฐ โ๊ฑฐ์ ๋ชจ๋ ๊ณณ์์ JSโ ํ์์ด ๋ฒ์ด์ง๊ฒ ๋ฉ๋๋ค.
7.2 JavaScript & Node.js: ํ์คํ์ผ๋ก ํ์ฅ

๐ ๋๊ฐ/์ด๋ป๊ฒ?
- Node.js(2009): ๋ผ์ด์ธ ๋ฌ(Ryan Dahl)์ด ๊ตฌ๊ธ V8 ์๋ฐ์คํฌ๋ฆฝํธ ์์ง ๊ธฐ๋ฐ์ผ๋ก ์๋ฒ์์ ๋์ํ๋ JS ๋ฐํ์์ ๊ฐ๋ฐ.
- ๊ฒฐ๊ณผ: โํด๋ผ์ด์ธํธ์์๋ง ์ฐ์ด๋ JS๊ฐ ์ด์ ์๋ฒ๋ ์ฅ์
ํ ์ ์๋ค!โ๋ ํ์ ์ ์ฌ๊ฑด.
๐ ์ด๋ค ์ ์ด ์ธ๊ธฐ ์์ธ?
- ํ์คํ ๊ฐ๋ฐ: ํ๋ก ํธ์๋, ๋ฐฑ์๋ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฐ๋ฉด, ํ ์ธ์ด๋ก ์ ์ฒด๋ฅผ ์์ฐ๋ฅผ ์ ์์.
- ๋น๋๊ธฐ I/O, ์ฑ๊ธ ์ค๋ ๋: ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก, ์ค์๊ฐ ์ฑํ
ยท์คํธ๋ฆฌ๋ฐ ๋ฑ์ ์ ๋ฆฌ.
- npm(Node Package Manager): ์คํ์์ค ํจํค์ง๋ค์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ์์ด๋ฉด์, JS ์ํ๊ณ๊ฐ ํญ๋ฐ์ ์ฑ์ฅ.
๐ ํ๋ก ํธ์๋ ํ๋ ์์ํฌ์ ๋ฑ์ฅ
- React(ํ์ด์ค๋ถ, 2013), Angular(๊ตฌ๊ธ, 2010, AngularJS๋ก ์์), Vue.js(์๋ฐ ์ , 2014) ๋ฑ
- ์ด์ ์นํ์ด์ง๋ ๋จ์ํ ๋ฌธ์๊ฐ ์๋๋ผ ์ฑ๊ธ ํ์ด์ง ์ ํ๋ฆฌ์ผ์ด์
(SPA) ํํ๋ก ์งํ, JS์ ์ญํ ์ด ๋์ฑ ์ปค์ง.
๐ ์ํผ์๋
- โJS๋ ์กฐ์ฐ์ด ์๋ ์ฃผ์ฐ!โ: 90๋
๋์ ๊ฐ๋จํ ์น ํผ ๊ฒ์ฆ ์ ๋์์ง๋ง, ์ง๊ธ์ ํ๋ก ํธ์๋, ๋ฐฑ์๋, ๋ชจ๋ฐ์ผ(React Native)๊น์ง ์ ๋ นํ๋ ํต์ฌ ์ธ์ด๊ฐ ๋จ.
- MEAN, MERN ์คํ: MongoDB, Express.js, Angular/React, Node.js ์กฐํฉ์ผ๋ก ์น ์๋น์ค๋ฅผ โJS๋ง์ผ๋กโ ๋ง๋ค ์ ์๋ ์๋.
7.3 TypeScript(2012): ๋๊ท๋ชจ JS ํ๋ก์ ํธ์ ํด๋ต

๐ ๋๊ฐ ๋ง๋ค์๋?
- ๋ง์ดํฌ๋ก์ํํธ(MS)๊ฐ โJavaScript๋ ์ข์๋ฐ, ๋๊ท๋ชจ ์ฝ๋ ๊ด๋ฆฌ๊ฐ ํ๋ค์ดโฆโ๋ผ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฐ.
๐ ์ด๋ค ํน์ง?
- ์ ์ ํ์
(Static Type)
- JavaScript์ ์๋ ํ์
์ ์ธ์ ์ถ๊ฐํด, ์ปดํ์ผ ๋จ๊ณ์์ ์ค๋ฅ๋ฅผ ์ฒดํฌ.
- JS์ 100% ํธํ
- ๊ธฐ์กด JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํจ๊ป ์ฌ์ฉํ ์ ์๊ณ , ๊ฒฐ๊ณผ๋ฌผ์ ํ์ค JS๋ก ํธ๋์คํ์ผ(transpile)๋จ.
- IDEยท์๋ํฐ ์ง์
- Visual Studio Code ๋ฑ์์ ์๋ ์์ฑ, ํ์
ํํธ๊ฐ ๋น์ ๋ฐํด, ๋๊ท๋ชจ ํ๋ก์ ํธ ์ ์ง๋ณด์๊ฐ ํจ์ฌ ์์.
๐ ์ํฅ๋ ฅ
- ์ด์ฐฝ๊ธฐ์ Angular๊ฐ ๊ธฐ๋ณธ ์ธ์ด๋ก ์ฑํํ๋ฉด์ ์ ๋ช
ํด์ก๊ณ , ์ดํ React, Vue.js ๋ฑ ๋ค๋ฅธ ํ๋ ์์ํฌ์์๋ ์ ๊ทน์ ์ผ๋ก ๋์
.
- ๊ธฐ์
์ฉ ์น ํ๋ก์ ํธ๋ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ TS๋ฅผ ์ฑํํ๋ ์ถ์ธ๊ฐ ๊ฐํ๋ฅด๊ฒ ๋์ด๋จ โ TIOBE ์งํ ๋ฑ์์ ๋งค๋
์์ ์์น ์ค.
7.4 Python์ AI/๋ฐ์ดํฐ ๊ณผํ ๋
์ฃผ

๐ค ์ด๋์ ๊ฐ์๊ธฐ?
- ์ฌ์ค 2000๋
๋๋ถํฐ Python์ด ์ธ๊ธฐ๋ฅผ ๋์์ง๋ง, 2010๋
๋ ์ค๋ฐ๋ถํฐ ๋น
๋ฐ์ดํฐ, ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋์ด ๊ฐ๊ด๋ฐ์ผ๋ฉด์ ์์ ํญ์ฃผ ๋ชจ๋๋ก ๋์
.
๐ค ์ด๋ค ์ ์ด ๊ฐ์ ?
- ํ๋ถํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: NumPy, SciPy, Pandas, Matplotlib, Scikit-learn, TensorFlow, PyTorch ๋ฑ.
- ๊ฐ๋ฐ ์๋ & ์ฌ์ด ๋ฌธ๋ฒ: ์ฐ๊ตฌ, ์คํ, ํ๋กํ ํ์ดํ์ ์ต์ .
- ๋ํยท์ฐ๊ตฌ์ ์ฑํ: ๊ต์ก๊ณผ ์ฐ๊ตฌ์์ ํ์ค์ฒ๋ผ ์ฐ์ด๋, ๊ฐ๋ฐ์ ํ๋ ์์ฐํ ์ปค์ง.
๐ค ์ํผ์๋
- โAI ํ๋กํ ํ์
์ ์ผ๋จ ํ์ด์ฌ์ผ๋ก ํ๋คโ: ๋ง์ ์คํํธ์
์ด๋ ์ฐ๊ตฌ์์์, C++๋ก ๊ณ ์ฑ๋ฅ ๊ตฌํํ๊ธฐ ์ ์ Python์ผ๋ก ๊ฐ๋
๊ฒ์ฆ(PoC)์ ๋จผ์ ํจ.
- ๋น
๋ฐ์ดํฐ ํ๋ซํผ(Spark, Hadoop ์ํ๊ณ ๋ฑ)์๋ Python API๊ฐ ์ ๊ณต๋์ด, ๋ฐ์ดํฐ ๋ถ์ ๋ถ์ผ์์ ์ฌ์ค์ 1๋ฑ ์ธ์ด.
7.5 ๋ชจ๋ฐ์ผ ์๋: Swift(2014), Kotlin(2011, 2017 ๊ตฌ๊ธ ๊ณต์ ์ง์)

๐ฑ Swift: iOS, macOS
- ๋๊ฐ?: ์ ํ(Apple)์ด Objective-C๋ฅผ ๋์ฒดํ๋ ค๊ณ ๋ง๋ฆ.
- ์ฅ์ : ๋ฌธ๋ฒ ๊ฐ๊ฒฐ, ์์ ์ฑ(์ต์
๋, ARC), ์ฑ๋ฅ ํฅ์.
- ์ํผ์๋: 2014๋
๋ฐํ ํ, ๋น ๋ฅด๊ฒ iOS ๊ฐ๋ฐ์๋ค์ด Swift๋ก ์ ํ. ์ด์ iOS/macOS ๊ธฐ๋ณธ ์ธ์ด ์ง์.
๐ฑ Kotlin: ์๋๋ก์ด๋
- ๋๊ฐ?: JetBrains(์ธํ
๋ฆฌJ ๋ง๋ ํ์ฌ).
- ์ด๋ค ํน์ง?: Java์ 100% ํธํ + ๊ฐ๊ฒฐํ ๋ฌธ๋ฒ + Null ์์ ์ฑ.
- 2017๋
๊ตฌ๊ธ ๊ณต์ ์ง์ ์ ์ธ: ์ดํ ์๋๋ก์ด๋ ์ง์์์ โJava ๋์ Kotlinโ์ด ๋์ธ๋ก ์๋ฆฌ ์ก์.
7.6 Go, Rust: ์ ํฅ ๊ฐ์๋ค์ ๋ฑ์ฅ

โต Go(2009, ๊ตฌ๊ธ)
- ๊ฐ๋ฐ ๋ชฉํ: C ์ธ์ด์ฒ๋ผ ๋น ๋ฅธ ์ฑ๋ฅ๊ณผ ๊ฐ๊ฒฐํจ, ๋์์ ๋คํธ์ํฌ/์๋ฒ ํ๋ก๊ทธ๋๋ฐ์ ์ต์ ํ๋ ๋ฌธ๋ฒ.
- ๊ณ ๋ฃจํด(goroutine)์ผ๋ก ๋์์ฑ ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ณ ํจ์จ์ ์ผ๋ก!
- DevOps, ํด๋ผ์ฐ๋ ๋ถ์ผ์์ ์ ์ฐจ ์ธ๊ธฐ ์์น.
๐ฆ Rust(2010, ๋ชจ์ง๋ผ)
- ๊ฐ๋ฐ ๋ชฉํ: C/C++์ฒ๋ผ ๊ณ ์ฑ๋ฅ/์์คํ
๋ ๋ฒจ ์ ๊ทผ ๊ฐ๋ฅ, ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ ๋ฌธ์ ๋ฅผ ์ปดํ์ผ ํ์์ ํด๊ฒฐ.
- ๋งค๋
๊ฐ๋ฐ์ ๋ง์กฑ๋ 1์๋ฅผ ์ฐ๋ ์ธ์ด๋ก ํ์ !
- ์ ์ฐจ OS ๊ฐ๋ฐ, ๋ธ๋ผ์ฐ์ ์์ง, ๊ฒ์ ์์ง, ์๋ฒ ๋๋ ๋ฑ์์ ์ฑํ ์ฆ๊ฐ.
7.7 ์๋์ ์๋ฏธ
- JavaScript โ์๋งจ์ผโ?
- ํ๋ก ํธ์๋ โ ๋ฐฑ์๋(๋
ธ๋) โ ๋ชจ๋ฐ์ผ(React Native) โ ๋ฐ์คํฌํฑ(Electron) โฆ ์ ๋ฐฉ์ ํ์ฅ.
- TypeScript๊ฐ ๋ฑ์ฅํด ๋๊ท๋ชจ ํ๋ก์ ํธ์๋ ์ ํฉํด์ง๋ฉด์ ๋์ฑ ํํํด์ง.
- Python โ๋ฐ์ดํฐ ์์ขโ
- AI, ๋จธ์ ๋ฌ๋, ๋ฐ์ดํฐ ๋ถ์ ๋ถ์ผ์์ ์ ๋์ ์ง์.
- ์ด๋ณด์์๊ฒ๋ ์ฝ๊ณ , ์ ๋ฌธ๊ฐ์๊ฒ๋ ๊ฐ๋ ฅํ ๋๊ตฌ.
- ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ ์ ๋ฌธ ์ธ์ด
- iOS = Swift, ์๋๋ก์ด๋ = Kotlin โ โ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ=Javaโ ์์ ์ด ์ ์ฐจ ์ฌํธ.
- ์์คํ
& ์๋ฒ์ ์ ์ ํ ๋ฐ๋
- Go, Rust ๋ฑ์ C/C++ ์์ญ์ ๋์ฒดํ๊ฑฐ๋ ๋ณด์ํ๋ ค๋ ์๋๋ก ๊ฐ๊ด๋ฐ์.
- โ์ฑ๋ฅ & ์์ ์ฑ๋ ํฌ๊ธฐํ ์ ์๋ค!โ๋ ์๋ก์ด ์๊ตฌ.
๊ฒฐ๋ก : 2010๋
๋ ์ดํ, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์์ฅ์ โํ ์ธ์ด๊ฐ ๋ชจ๋ ๊ฑธ ๋ค ํ๋ ์๋๊ฐ ์๋๋ผ, ๊ฐ์ ์ ๋ฌธ ๋ถ์ผ์ ๋ง๋ ์ธ์ด๋ค์ด ๊ณต์กดโ ํ๋ ๋ชจ์ต์ด ๋์ฑ ๋๋ ทํด์ก์ด์.
7.8 ์ฌ๋ฏธ์๋ ์ํผ์๋ ๋ชจ์
- Node.js ํ์ ์คํ ๋ฆฌ
- ๋ผ์ด์ธ ๋ฌ์ด โ์น ์๋ฒ๊ฐ ํ์ผ ์
๋ก๋ ์ค์ ๋ฉ์ถฐ์๋ ๋ชจ์ต(์ฐจ๋จ I/O)์ ๋ณด๊ณ ์ถฉ๊ฒฉ๋ฐ์โ ๋น๋๊ธฐ I/O ๋ฐฉ์์ ์ฐ๊ตฌํ๋ค๊ฐ Node.js๋ฅผ ๋ง๋ค์๋์.
- TypeScript vs Flow
- ํ์ด์ค๋ถ์ JS ํ์
์ฒดํน ๋๊ตฌ โFlowโ๋ฅผ ๋ง๋ค์์ง๋ง, MS์ TS๊ฐ ๋ ํธ๋ฆฌํ๊ฒ ๋ค๊ฐ์๋ฉด์ ๋์ธ๊ฐ ๋ ๊ฑด TS ์ชฝ์ด์์ต๋๋ค.
- Rust์ โ๋น๋์๋ฌโ ์ฌ๋์ด
- ๋ฌ์คํธ๋ ์ปดํ์ผ ์๋ฌ๊ฐ ๋งค์ฐ ์๊ฒฉํ๊ณ ์ฅํฉํ๋ฐ, ์ด๊ฒ ์คํ๋ ค โ๊ฐ๋ฐ์๋ฅผ ๋ณด์ดํผ๋โ ๋ฉ์์ง์ฒ๋ผ ๋ฐ์๋ค์ฌ์ ธ ์ฌ๋๋ฐ๊ณ ์๋ค๋ ํ๋ฌธ์ดโฆ!
- Kotlin = ์ฝํ๋ฆฐ ์ฌ
- Kotlin์ด๋ผ๋ ์ด๋ฆ์ ๋ฌ์์ ์ํธํํ
๋ฅด๋ถ๋ฅดํฌ ๊ทผ๊ต์ โ์ฝํ๋ฆฐ ์ฌโ์์ ๋ฐ์จ ๊ฑฐ๋ผ๊ณ ํด์. JetBrains ๋ณธ์ฌ๊ฐ ์ํธํํ
๋ฅด๋ถ๋ฅดํฌ์ ์๊ธฐ๋ ํ๊ณ ์.
8. ํํธ๋ณ ์์ฝ & ์์ผ๋ก์ ๋ฏธ๋ ๐ญ
8.1 ์๋๋ณ ํ์ด๋ผ์ดํธ
์ด์ ๊น์ง ์ดํด๋ณธ ์๋๋ค์ ํ๋์ ์ ๋ฆฌํด๋ณผ๊น์?

-
1950~1960๋
๋:
- ๋ํ ์ธ์ด: FORTRAN, COBOL, LISP
- ์์ง: ๋ฉ์ธํ๋ ์ + ํ์น์นด๋, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ฐ๋
์์ฒด๊ฐ ์์ํ๋ ์์
- ์์: ๊ณผํ ๊ณ์ฐ(FORTRAN), ๊ธฐ์
์
๋ฌด(COBOL), AI ์ฐ๊ตฌ(LISP) ๋ฑ โ๋ชฉ์ ๋ณ ์ธ์ดโ ์ถํ
-
1970~1980๋
๋:
- ๋ํ ์ธ์ด: C, Pascal
- ์์ง: ์ ๋์ค(UNIX) ์ด์์ฒด์ , ์์คํ
ํ๋ก๊ทธ๋๋ฐ ํ์ค(C), ์ปดํจํ
๊ต์ก(ํ์ค์นผ)
- ์์: C ์ธ์ด๊ฐ ์ด์์ฒด์ ๋ฐ ํ๋์จ์ด ๋ฐ์ ์์ญ์ ์ฅ์
, โ๊ณ ์์ค ์ธ์ด๋ก OS ๊ฐ๋ฐโ ์๋
-
1980~1990๋
๋ ์ด์ค๋ฐ:
- ๋ํ ์ธ์ด: C++(๊ฐ์ฒด์งํฅ), Objective-C(์ ํ ์ํ๊ณ)
- ์์ง: ๊ฐ์ฒด์งํฅ(OOP) ๋ถ, ๋๊ท๋ชจ ์ํํธ์จ์ด ํ๋ก์ ํธ์ ๋ฑ์ฅ
- ์์: C++๊ฐ ์ฑ๋ฅ+OOP๋ฅผ ๋์์ ์ถ๊ตฌํ๋ฉฐ ๋๊ธฐ์
ยท๊ฒ์ยท์์คํ
์ ๋ถ์ผ์์ ๋์ธ
-
1990๋
๋ ์ค~ํ๋ฐ:
- ๋ํ ์ธ์ด: Java(์๋ฒ), JavaScript(ํ๋ก ํธ), PHP(์น ์คํฌ๋ฆฝํธ)
- ์์ง: ์น ๋ธ๋ผ์ฐ์ ๋ณด๊ธ, WWW ํญ๋ฐ, ๋ท์ปด ์ดํ
- ์์: ์ธํฐ๋ท/๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์๋ ๊ฐ๋ง โ โ์น ๊ฐ๋ฐโ์ด๋ผ๋ ์๋ก์ด ํจ๋ฌ๋ค์
-
2000๋
๋:
- ๋ํ ์ธ์ด: C# & .NET(MS), Python, Ruby on Rails
- ์์ง: ์ํฐํ๋ผ์ด์ฆ ์์ฅ(MS vs Java), ์คํ์์ค ์ง์์ ๋์ ์ธ์ด ๋ถ์, ์น์๋น์ค ๊ณ ๋ํ
- ์์: ์์ฐ์ฑยท๊ฐ๋ฐ ํธ์์ฑ ์ค์, MVC ์น ํ๋ ์์ํฌ(Django, Rails)๋ก ๋น ๋ฅธ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํด์ง
-
2010๋
๋ ์ดํ:
- ๋ํ ์ธ์ด: JavaScript(Node.js), TypeScript, Python(AI/๋ฐ์ดํฐ), Swift(iOS), Kotlin(์๋๋ก์ด๋), Go, Rust
- ์์ง: ๋ชจ๋ฐ์ผ ์๋, ํด๋ผ์ฐ๋ยท๋น
๋ฐ์ดํฐยทAI ๋ถ, JS์ ์ ๋ฐฉ์ ํ์ฅ, ์ ์ ํ์
์ธ์ด์ ์ฌ์ฃผ๋ชฉ
- ์์: โํ ์ธ์ดโ ๋
์ฃผ ๋์ , ๋ถ์ผ๋ง๋ค ์ต์ ํ๋ ์ธ์ด๋ค์ด ๊ณต์กด. JS/TS๋ ์น์ ๋์ด ๋ชจ๋ ํ๋ซํผ์์ ํ์ฝ, Python์ AI ๋ถ์ผ ๋
๋ณด์ , ๋ชจ๋ฐ์ผ์ SwiftยทKotlin ์๊ฐ์ฒด์
8.2 ์์ผ๋ก์ ์ ๋ง

-
AI ์๋:
- Python์ด ๊ฐ์ธ ์ ์งํ ๊ฒ์ผ๋ก ์์๋๋, C++/Rust/Go ๋ฑ ํผํฌ๋จผ์ค๊ฐ ํ์ํ ์์ญ์์๋ ๋์ ์์๊ฐ ์๊ธธ ๊ฒ.
- ์ ์ฐจ AI ๋ชจ๋ธ ์ต์ ํ, ๊ฒฝ๋ํ ๋ฑ์ ์ํด ๋ค์ํ ์ธ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํผ์ฌํ ๋ฏ.
-
์น ์ํ๊ณ:
- JavaScript & TypeScript๊ฐ ๊ณ์ํด์ ์น์ ํ์ค ์ง์๋ฅผ ์งํฌ ์ ๋ง.
- WebAssembly(์์ฆ)๋ก C/C++/Rust ๋ฑ๋ ๋ธ๋ผ์ฐ์ ์์ ๋๋ฆด ์ ์๊ฒ ๋๋ฉด์, JS์ โํจ๊ปโ ์ฐ๋ ์๋๊ฐ ์ด๋ฆด ๊ฐ๋ฅ์ฑ๋ ๋์.
-
ํด๋ผ์ฐ๋/์๋ฒ:
- Go, Rust, Kotlin, TypeScript(Node.js) ๋ฑ์ด ์๋ฒยทํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์๋น์ค์์ ๊ฒฝ์ ์ค.
- ์ปจํ
์ด๋ํ, ๋ง์ดํฌ๋ก์๋น์ค ๋ฑ ์ํคํ
์ฒ๊ฐ ์ธ๋ถํ๋๋ฉด์, ์ฌ๋ฌ ์ธ์ด๊ฐ ํผ์ฌํ๋ polyglot ํ๊ฒฝ๋ ๋ง์์ง ์ ๋ง.
-
๋ชจ๋ฐ์ผยท๋ฉํฐํ๋ซํผ:
- ๋ค์ดํฐ๋ธ ์ฑ(iOS = Swift, ์๋๋ก์ด๋ = Kotlin) ์ฒด์ ๊ฐ ๊ตณ์ด์ก์ง๋ง, ํฌ๋ก์ค ํ๋ซํผ(Flutter, React Native, Jetpack Compose Multiplatform ๋ฑ)๋ ์ฑ์ฅ ์ค.
- ํ ์ธ์ด๋ก ๋ชจ๋ฐ์ผยท์นยท๋ฐ์คํฌํฑ์ ๋ชจ๋ ์ปค๋ฒํ๋ ค๋ ์๋๋ ๊ณ์๋ ๊ฒ.
-
์ธ์ด ์์ฒด์ ์งํ:
- ๊ธฐ์กด ์ธ์ด๋ ๋ฒ์ ์
ํ๋ฉฐ ์๋ก์ด ๊ธฐ๋ฅ์ ๋์
(Python 3, C++ 20/23, Java 17+ LTS, C# 11 ๋ฑ).
- ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ, ๋น๋๊ธฐ ์ง์, ๋ฉํฐ์ฝ์ด ํ์ฉ ๋ฑ ํ๋ ์๊ตฌ์ฌํญ์ ๋ฐ์ํด ๊ธฐ์กด ์ธ์ด๊ฐ ๋์ฑ ๋ฐ์ ํ ๊ฒ.
๊ฒฐ๋ก : โํ๋ก๊ทธ๋๋ฐ ์ธ์ดโ๋ ์๋ ํ๋ฆ๊ณผ ํ๋ซํผ ๋ณํ์ ๋ฐ๋ผ ๊ณ์ํด์ ์๋ก์ด ์ธ์ด๊ฐ ํ์ด๋๊ฑฐ๋, ๊ธฐ์กด ์ธ์ด๊ฐ ์งํํฉ๋๋ค.
ํ ์ธ์ด๊ฐ ์์ ํ ๋ชจ๋ ๊ฒ์ ํด๊ฒฐํ๊ธฐ๋ ํ๋ค์ง๋ง, ๊ฐ์ ์ ๋ฌธ ๋ถ์ผ๋ฅผ ๋งก์ ๊ณต์กดํ๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ณ ์์ด์.
8.3 ๋งบ์๋ง: ์ญ์ฌ๋ฅผ ์๋ฉด ๋ฏธ๋๊ฐ ๋ณด์ธ๋ค!
์ฌ๊ธฐ๊น์ง 1950๋
๋ ๋ฉ์ธํ๋ ์ ์๋๋ถํฐ 2010๋
๋ ์ดํ ๋ชจ๋ฐ์ผ & AI ์๋๊น์ง, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค์ด ์ด๋ป๊ฒ ํฅ๋ง์ฑ์ ๋ฅผ ๊ฑฐ๋ญํด ์๋์ง ์ดํด๋ดค์ต๋๋ค.
- ๊ณผ๊ฑฐ์ โํ ์๋๋ฅผ ์ฅ์
ํ ์ธ์ดโ๊ฐ ์์๋ค๋ฉด, ํ์ฌ๋ ๋ค์์ฑ์ด ์ค์ํด์ก๋ค๊ณ ๋ณผ ์ ์์ด์.
- ๊ฐ ์ธ์ด๋ง๋ค ์ฒ ํ๊ณผ ํน์ง์ด ๋ค๋ฅด๊ณ , ๊ทธ์ ๋ง๋ ์ ์ ํ ๋ถ์ผ๊ฐ ์กด์ฌํ๊ธฐ ๋ง๋ จ์ด์ฃ .
- ํ๋ก๊ทธ๋๋จธ๋ผ๋ฉด ์๋ก์ด ์ธ์ด๋ ๊ณ์ ํ์ตํ๋ฉด์, ๊ทธ ์ธ์ด๊ฐ โ์ ๋ง๋ค์ด์ก๊ณ , ์ด๋ ๋ถ๋ถ์ ๊ฐ์ ์ด ์๋์งโ ๋ฐฐ๊ฒฝ์ ์ดํดํ๋ฉด ํจ์ฌ ๋ ๋์ ์์ผ๋ฅผ ๊ฐ์ง ์ ์๋ต๋๋ค.
๋์ผ๋ก, ์ด ์๋ฆฌ์ฆ๋ฅผ ํตํด โํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ญ์ฌโ๊ฐ ์กฐ๊ธ ๋ ๊ฐ๊น๊ฒ ๋๊ปด์ง๊ธธ ๋ฐ๋ผ์.
์ฆ๊ฑฐ์ด ์ฝ๋ฉ ํ์๊ธธ! ๐
๐ ๋ถ๋ก: ๋ ์ฝ์ด๋ณผ ๋งํ ์๋ฃ
- โThe C Programming Languageโ (K&R) โ C ์ธ์ด ๋ฐ์ด๋ธ
- โStructure and Interpretation of Computer Programsโ(SICP) โ LISP, ํจ์ํ ์ฌ๊ณ ๋ฐฉ์์ ๋ฐฐ์ธ ์ ์๋ ๋ช
์
- โDesign Patternsโ(GoF) โ ๊ฐ์ฒด์งํฅ ํจ๋ฌ๋ค์์ ์ ์
- โThe Pragmatic Programmerโ โ ๋ค์ํ ์ธ์ด๋ฅผ ํ์ตํ๋ฉฐ ์ฝ๋ฉ ์ฒ ํ์ ๋ํ๊ธฐ ์ข์ ์ฑ
- GitHub, Stack Overflow Developer Survey โ ์ต์ ์ธ์ด ํธ๋ ๋, ๋ง์กฑ๋, ์ธ๊ธฐ ์์๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธ ๊ฐ๋ฅ
์ธ์ ๋ ๊ถ๊ธํ ๋ถ๋ถ ์์ผ๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์!
Happy Coding!
์๋๋ณ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ด์ผ๊ธฐ" ๊ธ์ ํฅ๋ฏธ๋กญ๊ฒ ์ฝ์์ต๋๋ค! ๐๐ป
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ์ ๊ณผ์ ์ ํ๋์ ๋ณผ ์ ์๋๋ก ์ ๋ฆฌํด ์ฃผ์ ์ ์ ์ตํ์ด์. ํนํ, C ์ธ์ด๊ฐ ์์คํ ํ๋ก๊ทธ๋๋ฐ์ ๋ฏธ์น ์ํฅ๊ณผ JavaScript์ ํ์ฅ์ด ์ธ์์ ์ด์์ต๋๋ค.
์์ผ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์ด๋ค ๋ฐฉํฅ์ผ๋ก ๋ฐ์ ํ ์ง ๊ธฐ๋๋๋ค์. ์ข์ ๊ธ ๊ฐ์ฌํฉ๋๋ค!
poki