๊ตฌ๊ธ€์ด C++๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•œ ์‹คํ—˜์  ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์นด๋ณธ(carbon)์„ ๊ณต๊ฐœํ–ˆ๋‹ค.


20์ผ(ํ˜„์ง€์‹œ๊ฐ„) ๊ตฌ๊ธ€์˜ ์ฑˆ๋“ค๋Ÿฌ ์บ๋Ÿฌ์Šค ์˜คํ”ˆ์†Œ์Šค ์—”์ง€๋‹ˆ์–ด๋Š” ์บ๋‚˜๋‹ค ํ† ๋ก ํ† ์—์„œ ์—ด๋ฆฐ ๊ฐœ๋ฐœ์ž ์ปจํผ๋Ÿฐ์Šค C++๋…ธ์Šค(CPP North)์—์„œ ์นด๋ณธ์„ ์†Œ๊ฐœํ–ˆ๋‹ค.


์นด๋ณธ์€ 1985๋…„ ๊ณต๊ฐœ ํ›„ ์ „ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜์ธ C++๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. ์ˆ˜์‹ญ ๋…„์— ๊ฑธ์นœ ๊ธฐ์ˆ  ๋ฐœ์ „์„ ๊ฐ๋‹นํ•˜์ง€ ๋ชปํ•ด ๊ฐœ๋ฐœ์ž์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑ์‹œํ‚ค๋Š” ๋ฐ C++๊ฐ€ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.


ํŠนํžˆ ์ฑˆ๋“ค๋Ÿฌ ์บ๋Ÿฌ์Šค๋Š” ํ‘œ์ค€ํ™”๋ฅผ ์ง€ํ–ฅํ•˜๋Š” ๊ด€๋ฃŒ์  ์œ„์›ํšŒ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ์ˆ˜๋…„์— ๊ฑธ์ณ ์ด๋ค„์ง€๋Š” ๋“ฑ IT์—…๊ณ„์˜ ๋น ๋ฅธ ๊ธฐ์ˆ  ๋ณ€ํ™”์— ๋Œ€์ฒ˜ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ง€์ ํ–ˆ๋‹ค.


์บ๋Ÿฌ์Šค๋Š” "ํ˜„์žฌ ์œ„์›ํšŒ ๊ตฌ์กฐ๋Š” ์–ธ์–ด์— ์ ๊ทน์ ์œผ๋กœ ๊ธฐ์—ฌํ•˜๋Š” ์ „๋ฌธ๊ฐ€์™€ ์‚ฌ๋žŒ๋“ค๋กœ ๊ตฌ์„ฑ๋œ ํฌ๊ด„์ ์ด๊ณ  ํ™˜์˜ํ•˜๋Š” ํŒ€๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ณด๋‹ค ๊ตญ๊ฐ€์™€ ํšŒ์‚ฌ๋ฅผ ๋Œ€ํ‘œํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค"๋ฉฐ โ€œ์นด๋ณธ์€ ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ฃผ๋„ํ•˜๋Š” ๊ฐœ๋ฐฉ์ ์ธ ํ™˜๊ฒฝ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹คโ€๊ณ  ๋ฐํ˜”๋‹ค.


์นด๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ์ฝ”๋“œ ์ €์žฅ์†Œ์ธ ๊นƒํ—ˆ๋ธŒ์—์„œ ์œ ์ง€ ๊ด€๋ฆฌ๋˜๋ฉฐ, ๊ฐœ๋ฐœ์ž๋Š” ๋””์Šค์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์ œํ•œ์—†์ด ์˜๊ฒฌ์„ ๋…ผ์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.


์นด๋ณธ์€ C++์™€ ๋™์ผํ•œ ์ˆ˜์ค€์˜ ์„ฑ๋Šฅ์„ ์ง€์›ํ•˜๋ฉฐ, ์ƒ์†์—์„œ ํ…œํ”Œ๋ฆฟ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๊ธฐ์กด C++ ์ฝ”๋“œ์™€ ์ƒํ˜ธ ์šด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋น ๋ฅด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœํ™˜๊ฒฝ๊ณผ ์ตœ์‹  OS ํ”Œ๋žซํผ, ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€์›ํ•œ๋‹ค.


๋˜ํ•œ, C++์˜ ๊ณ ์งˆ์ ์ธ ๋ณด์•ˆ ์ทจ์•ฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„๊ทธ ๋“ฑ์„ ํ•ด๊ฒฐํ•˜๊ณ , ์˜คํ”ˆ์†Œ์Šค ๊ฐœ๋ฐœ๋ฐฉ์‹์— ์ ํ•ฉํ•œ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.


์บ๋Ÿฌ์Šค๋Š” C++์˜ ๋Œ€์ฒด์ œ๋กœ ์ฃผ๋ชฉ๋ฐ›๊ณ  ์žˆ๋Š” ๋Ÿฌ์ŠคํŠธ์™€ ์ฐจ์ด์ ์œผ๋กœ ํ˜ธํ™˜์„ฑ์„ ๊ฐ•์กฐํ–ˆ๋‹ค.


๋Ÿฌ์ŠคํŠธ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „ ์„ฑ๋Šฅ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ๊ตฌ์ถ•๋œ ๋˜ ๋‹ค๋ฅธ ์ตœ๊ทผ ์–ธ์–ด๋‹ค. ์ตœ๊ทผ ์•„๋งˆ์กด, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ(MS) ๋“ฑ์—์„œ C++๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ์ ๊ทน ํ™œ์šฉํ•˜๊ณ  ์žˆ๋‹ค.


00bb13982b3d36f8eca2e52077487aca.jpg

์นด๋ณธ๊ณผ C++๋ฅผ ๋™์‹œ์— ํ™œ์šฉํ•œ ์ฝ”๋“œ(์ด๋ฏธ์ง€=๊นƒํ—ˆ๋ธŒ)


์นด๋ณธ์€ ๊ธฐ์กด C++์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋ฟ ์•„๋‹ˆ๋ผ ๊ตฌ์กฐ๋„ ๋น„์Šทํ•ด ํ•™์Šต์ด ํ•„์š”ํ•œ ๋Ÿฌ์ŠคํŠธ์™€ ๋‹ฌ๋ฆฌ ๊ธฐ์กด ๊ฐœ๋ฐœ์ž์˜ ์ง„์ž… ์žฅ๋ฒฝ์„ ๋‚ฎ์ท„๋‹ค.


์บ๋Ÿฌ์Šค๋Š” โ€œ์นด๋ณธ์€ ๋Ÿฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์–ด๋ ค์šด ๋Œ€๊ทœ๋ชจ C++ ์ฝ”๋“œ๋ฒ ์ด์Šค ํ”„๋กœ์ ํŠธ๋‚˜ C++ ์ƒํƒœ๊ณ„๋ฅผ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ๊ฐœ๋ฐœํ•œ ๊ฒƒโ€์ด๋ผ๋ฉฐ โ€๋Ÿฌ์ŠคํŠธ๋Š” ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ์—” ํ›Œ๋ฅญํ•˜์ง€๋งŒ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ ์ „ํ™˜์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์€ ๋งŒํผ ๋Ÿฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉ ์ค‘์ธ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•  ๊ฒƒโ€์ด๋ผ๊ณ  ์„ค๋ช…ํ–ˆ๋‹ค.


์นด๋ณธ ๊ฐœ๋ฐœ ํŒ€์€ ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ฐธ์—ฌ๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์—ฐ๋ง๊นŒ์ง€ ๊ตฌ๊ธ€์„ ๋น„๋กฏํ•œ ๋‹ค๋ฅธ ๋‹จ์ผ ๊ธฐ์—…์˜ ๊ธฐ์—ฌ๋„๋ฅผ 50% ๋ฏธ๋งŒ์œผ๋กœ ์ค„์ผ ๊ณ„ํš์ด๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ๋…๋ฆฝ ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์— ํ”„๋กœ์ ํŠธ๋ฅผ ๋„˜๊ธฐ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค.


์ถœ์ฒ˜:ย https://zdnet.co.kr/view/?no=20220721165257



์ถ”๊ฐ€๋กœ ๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ README์— ์ ํžŒ ๋‚ด์šฉ


Carbon์€ ๊ทผ๋ณธ์ ์œผ๋กœ C++๋ฅผ ์ ์ง„์ ์œผ๋กœ ๋ฐœ์ „์‹œํ‚ค๋ ค๋Š” ์‹œ๋„๊ฐ€ ์•„๋‹ˆ๋ผ ํ›„์† ์–ธ์–ด ์ ‘๊ทผ๋ฒ•์ด๋‹ค. ๊ธฐ์กด C++ ์ฝ”๋“œ๋ฒ ์ด์Šค ๋ฐ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋Œ€๊ทœ๋ชจ ์ฑ„ํƒ ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋ฟ๋งŒ ์•„๋‹ˆ๋ผ C++์™€์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์ค‘์‹ฌ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ๋‹ค.


์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” C++์˜ ๊ธฐ์กด ์ƒํƒœ๊ณ„ ์œ„์— ๊ตฌ์ถ•ํ•˜์—ฌ ๊ธฐ์กด ํˆฌ์ž, ์ฝ”๋“œ๋ฒ ์ด์Šค ๋ฐ ๊ฐœ๋ฐœ์ž ์ง‘๋‹จ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋ฅธ ์ƒํƒœ๊ณ„๋ฅผ ์œ„ํ•ด ์ด ๋ชจ๋ธ์„ ๋”ฐ๋ฅด๋Š” ๋ช‡ ๊ฐ€์ง€ ์–ธ์–ด๊ฐ€ ์žˆ์œผ๋ฉฐ, ์นด๋ณธ์€ C++์™€ ์œ ์‚ฌํ•œ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค.

  • JavaScript โ†’ TypeScript
  • Java โ†’ Kotlin
  • C++ โ†’ Carbon


๊นƒํ—ˆ๋ธŒ:ย https://github.com/carbon-language/carbon-lang