C++ ์ธ์ด ์ฐฝ์์์ธ Bjarne Stroustrup์ ์กฐ์ง์ด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋ฐ์์๊ฒ ๋งก๊ธฐ๋ C ๋ฐ C++์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๋ฒ์ด๋ ์ธ์ด๋ฅผ ์ ํธํ๋๋ก ๊ถ์ฅํ๋ NSA ๋ณด๊ณ ์์ ๊ฒฐ๋ก ์ ๋ํด ์ด์๋ฅผ ์ ๊ธฐํ์ต๋๋ค. โโ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํ๊ฑฐ๋ ์ปดํ์ผ ํ์ ๋ฉ๋ชจ๋ฆฌ ์์ ๊ฒ์ฌ๋ฅผ ์ํํ๋ C#, Go, Java, Ruby, Rust ๋ฐ Swift์ ๊ฐ์ ๊ฒ์ ๋๋ค.
Stroustrup์ ๋ฐ๋ฅด๋ฉด NSA ๋ณด๊ณ ์์ ์ธ๊ธ๋ ๋ณด์ ์ธ์ด๋ ์ค์ ๋ก ๊ทธ์ ๊ด์ ์์ ์ค์ํ ์์ฉ ํ๋ก๊ทธ๋จ์์ C++๋ณด๋ค ์ฐ์ํ์ง ์์ต๋๋ค. ํนํ, ์ต๊ทผ ๊ฐ๋ฐ๋ C++ ์ฌ์ฉ์ ๋ํ ๊ธฐ๋ณธ ๊ถ์ฅ ์ฌํญ(C++ ํต์ฌ ์ง์นจ)์์๋ ์์ ํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ์ ๋ค๋ฃจ๊ณ ์์ผ๋ฉฐ ์ ํ ๋ฐ ๋ฆฌ์์ค์ ๋ํ ์์ ํ ์์ ์ ๋ณด์ฅํ๋ ๋๊ตฌ ์ฌ์ฉ์ ๊ท์ ํ๊ณ ์์ต๋๋ค. ์ด๋ก ์ธํด ์๊ฒฉํ ๋ณด์ ๋ณด์ฅ์ด ํ์ํ์ง ์์ ๊ฐ๋ฐ์๋ ๊ธฐ์กด ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Stroustrup์ C++ ํต์ฌ ์ง์นจ์ ๋ฐ๋ฅด๋ ์ฐ์ํ ์ ์ ๋ถ์๊ธฐ๊ฐ ์๋ก์ด ๋ณด์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ ๋ ดํ ๋น์ฉ์ผ๋ก C++ ์ฝ๋์ ์์ ์ ๋ณด์ฅํ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋๋ถ๋ถ์ ํต์ฌ ์ง์นจ์ Microsoft Visual Studio์ ํฌํจ๋ ์ ์ ๋ถ์๊ธฐ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์์ ํ๋กํ์ ์ด๋ฏธ ๊ตฌํ๋์ด ์์ต๋๋ค. Clang ๊น๋ํ ์ ์ ๋ถ์๊ธฐ์์๋ ์ผ๋ถ ๊ถ์ฅ ์ฌํญ๋ ๊ณ ๋ ค๋ฉ๋๋ค.
NSA ๋ณด๊ณ ์๋ ๋ณด์๊ณผ ์์ ์ฑ์ ์ํฅ์ ๋ฏธ์น๋ ๋ค๋ฅธ ๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฌธ์ ๋ฅผ ์ ์ธํ๊ณ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ์๋ง ์ด์ ์ ๋ง์ถ๋ค๋ ๋นํ๋ ๋ฐ์์ต๋๋ค. Stroustrup์ ๋ณด์์ ์ฝ๋ฉ ์คํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ ์ ๋ถ์๊ธฐ์ ์กฐํฉ์ ํตํด ๋ค์ํ ์ธก๋ฉด์ ๋ฌ์ฑํ ์ ์๋ ๋ ๋์ ๊ฐ๋ ์ผ๋ก ๋ด ๋๋ค. ์ ํ ๋ฐ ๋ฆฌ์์ค ์์ ์ ์์ ์ฑ์ ๋ณด์ฅํ๋ ๊ท์น์ ํฌํจ์ ์ ์ดํ๋ ค๋ฉด ์ฝ๋ ๋ฐ ์ปดํ์ผ๋ฌ ์ต์ ์ ์ฃผ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ณด์๋ณด๋ค ์ฑ๋ฅ์ด ๋ ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์
์์ ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ํ์ํ ๊ฒฝ์ฐ์๋ง ๋ณด์์ ๋ณด์ฅํ๋ ๊ธฐ๋ฅ์ ์ ํ์ ์ผ๋ก ์ ์ฉํ ์ ์์ต๋๋ค. ๋ณด์ ๋๊ตฌ๋ ๋ฒ์ ํ์ธ ๋ฐ ์ด๊ธฐํ ๊ท์น์ผ๋ก ์์ํ ๋ค์ ๋ณด๋ค ์๊ฒฉํ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์ฝ๋๋ฅผ ์ ์ง์ ์ผ๋ก ์กฐ์ ํ๋ ๋ฑ ๋จํธ์ ์ธ ๋ฐฉ์์ผ๋ก ์ ์ฉ๋ ์๋ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru