Google ์ง์›, C++ ๋Œ€์ฒด๋ฅผ ๋ชฉํ‘œ๋กœ Carbon ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ฐœ๋ฐœ

Google ์ง์›์€ C++๋ฅผ ์‹คํ—˜์ ์œผ๋กœ ๋Œ€์ฒดํ•˜์—ฌ ์–ธ์–ด๋ฅผ ํ™•์žฅํ•˜๊ณ  ๊ธฐ์กด ๋‹จ์ ์„ ์ œ๊ฑฐํ•˜๋Š” Carbon ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” ๊ธฐ๋ณธ C++ ์ด์‹์„ฑ์„ ์ง€์›ํ•˜๊ณ  ๊ธฐ์กด C++ ์ฝ”๋“œ์™€ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Carbon ์ฝ”๋“œ๋กœ ์ž๋™ ๋ณ€ํ™˜ํ•˜์—ฌ ๊ธฐ์กด ํ”„๋กœ์ ํŠธ์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Carbon์—์„œ ํŠน์ • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•˜์—ฌ ๊ธฐ์กด C++ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Carbon ์ปดํŒŒ์ผ๋Ÿฌ๋Š” LLVM ๋ฐ Clang ๊ฐœ๋ฐœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์€ Apache 2.0 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

์นด๋ณธ์˜ ์ฃผ์š” ํŠน์ง•:

  • ๊ฒฐ๊ณผ ์ฝ”๋“œ๋Š” ๋น„ํŠธ ์ˆ˜์ค€์—์„œ ์ฃผ์†Œ ๋ฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋‚ฎ์€ ์ˆ˜์ค€์˜ ์•ก์„ธ์Šค๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ C++์— ํ•„์ ํ•˜๋Š” ์„ฑ๋Šฅ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.
  • ํด๋ž˜์Šค ์ƒ์† ๋ฐ ํ…œํ”Œ๋ฆฟ์„ ํฌํ•จํ•œ ๊ธฐ์กด C++ ์ฝ”๋“œ์™€์˜ ์ด์‹์„ฑ.
  • ๋น ๋ฅธ ์กฐ๋ฆฝ ๋ฐ ๊ธฐ์กด C++์šฉ ์กฐ๋ฆฝ ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ตํ•ฉ ๊ธฐ๋Šฅ.
  • ์„œ๋กœ ๋‹ค๋ฅธ Carbon ๋ฒ„์ „ ๊ฐ„์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • NULL ํฌ์ธํ„ฐ ์—ญ์ฐธ์กฐ ๋ฐ ๋ฒ„ํผ ์˜ค๋ฒ„๋Ÿฐ๊ณผ ๊ฐ™์€ after-free ์ทจ์•ฝ์„ฑ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€