Microsoft์ C# 12 ํ๋ก๋์ ๋ฆด๋ฆฌ์ค: ๊ตฌ๋ฌธ ๊ฐ์ํ ๋ฐ ์คํ ์๋ ํฅ์
์ฃผ๋ชฉํ ๋งํ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ Microsoft์ C# 12์ ์ต์ ๋ฒ์ ์ ํฌ๊ฒ ํฅ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.

IT ์ ๊ณ๋ ์ต๊ทผ ๋ง์ดํฌ๋ก์ํํธ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ C# 12์ ์ถ์๋ฅผ ํ์ํ๊ณ ์์ต๋๋ค. ์ฌ์ ์๋์ด ์ด์ .NET 8 ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ซํผ์ ์ผ๋ถ๊ฐ ๋ ์ด ์๋ก์ด ๋ชจ๋ธ์ ๋ณด๋ค ๋น ๋ฅธ ํ๋ก๊ทธ๋จ ์คํ๊ณผ ๊ฒฐํฉ๋ ๋ณด๋ค ๊ฐ๋จํ ๊ตฌ๋ฌธ์ ์ ๊ณตํ์ฌ ์ธ์ด์ ์ฃผ์ ๋ฐ์ ์ ์๋ฆฝ๋๋ค.
.NET 8 ํ๋ซํผ์ ํ์ ์์๋ก 11์ 14์ผ ๊ณต๊ฐ ๋๋ฉ์ธ์ ๊ณต๊ฐ๋ C# 12๋ .NET 8, Visual Studio 2022 ๋๋ Visual Studio Code C# Dev Kit ํ์ฅ ๋ค์ด๋ก๋๋ฅผ ํตํด ์ฝ๊ฒ ์ก์ธ์คํ ์ ์์ต๋๋ค.
์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ ๋ฆฌํ๊ธฐ ์ํ ๋ ธ๋ ฅ์ ์ผํ์ผ๋ก C# 12์์๋ ์ปฌ๋ ์ ์, ๋ชจ๋ ํด๋์ค ๋ฐ ๊ตฌ์กฐ์ฒด๋ก ํ์ฅ๋ ๊ธฐ๋ณธ ์์ฑ์, ๋ชจ๋ ์ ํ์ ๋ณ์นญ์ ์ง์ ํ๋ ๊ตฌ๋ฌธ, ๋๋ค ์์ ๊ธฐ๋ณธ ๋งค๊ฐ ๋ณ์์ ๊ฐ์ ๋ช ๊ฐ์ง ํ์ ์ ์ธ ๊ธฐ๋ฅ์ ์ถ์ํฉ๋๋ค. ์ด๋ฌํ ์ปฌ๋ ์ ํํ์์ ๋ณด๋ค ๋ช ํํ ๊ตฌ๋ฌธ์ ๋์ ํ์ฌ ์ผ๋ฐ ์ปฌ๋ ์ ๊ฐ ์์ฑ์ ๋จ์ํํฉ๋๋ค. Microsoft๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ธ๊ธํ๋ฉด์ ์ด๋ฌํ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํด๋ ์ฑ๋ฅ์ด ์ ํ๋์ง ์๋๋ก ํ๊ฒ ๋ค๋ ํ์ฌ์ ์์ง๋ฅผ ๊ฐ์กฐํ์ต๋๋ค.
๊ฒ๋ค๊ฐ ์ฝ๋ ์คํ ์๋๋ ํฅ์๋์์ต๋๋ค. C# 12์๋ 'ref readonly' ๋งค๊ฐ ๋ณ์์ ์ธ๋ผ์ธ ๋ฐฐ์ด์ด ์ถ๊ฐ๋์์ต๋๋ค. 'ref readonly' ๋งค๊ฐ๋ณ์๋ฅผ ํตํฉํ๋ฉด 'ref readonly' ๋งค๊ฐ๋ณ์์ ํ์ํ ์ธ์๊ฐ ๋ณ์์ฌ์ผ ํ๋ ๊ฒฝ์ฐ ๊ฐ ๋๋ ์ฐธ์กฐ๋ณ๋ก ๋งค๊ฐ๋ณ์ ์ ๋ฌ์ ๊ถ๊ทน์ ์ผ๋ก ํผํฉํ ์ ์์ต๋๋ค. ๋ฐ๋ฉด, ๊ตฌ์กฐ์ฒด ๊ธฐ๋ฐ ๊ณ ์ ๊ธธ์ด ๋ฐฐ์ด ์ ํ์ธ ์ธ๋ผ์ธ ๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ๋ฅผ ์กฐ์ํ๋ ์์ ํ ์ ๊ทผ ๋ฐฉ์์ ์ ์ํฉ๋๋ค. ์คํ ๋จ๊ณ์ ๊ธฐ๋ฅ์ด์ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ์ ์ ๊ณต๋๋ ์ธํฐ์ ํฐ๋ ๋ฉ์๋ ํธ์ถ์ ๋ฆฌ๋๋ ์ ์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
C# ํ๋ซํผ์ SystemDiagnostics.CodeAnalysis.ExperimentalAttribute ๋ผ๋ ์๋ก์ด ์คํ์ ์์ฑ๋ ์ ๊ณตํฉ๋๋ค. ์ด๋ ์๋ก์ด ๊ธฐ๋ฅ์ด๋ ๊ตฌํ์ ๋ํ Microsoft์ ์ ์ ์ ์ ์ฅ์ ๋ํ๋ด๋ ํ์ ์ญํ ์ ํฉ๋๋ค. ์ฝ๋๊ฐ ์คํ์ ์ผ๋ก ๋ถ๋ฅ๋ ํ์์ด๋ ๋ฉค๋ฒ๋ฅผ ํ์ฉํ๋ ๊ฒฝ์ฐ ํธ์ถ ์ฝ๋์ ์คํ์ ํ์๋ ํฌํจ๋์ด ์์ง ์์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ExperimentalAttribute๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช ์์ ์ปดํ์ผ๋ฌ ์ต์ ์ด๋ #pragma๋ฅผ ํตํด ๊ฐ๋ณ ๊ธฐ๋ฅ์ ๋ํ ์ค๋ฅ๋ฅผ ์ต์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ง๋จ ID๊ฐ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ExperimentalAttribute ํ๊ทธ๋ฅผ ๋ฐ์ ์ ์๋ ํ์, ๋ฉค๋ฒ ๋ฐ ์ด์ ๋ธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์คํ์ ๊ธฐ๋ฅ์ ์ํํด ๋ณผ ์ ์์ต๋๋ค.
์ด๋ฒ ๋ฌ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ธ๊ธฐ๋์ ๋ฐ๋ผ ์์๋ฅผ ๋งค๊ธฐ๋ Tiobe ์ง์์์๋ C# 12๊ฐ JavaScript ๋ฐ PHP์ ๊ฐ์ ์ธ์ด๋ฅผ ์ ์น๊ณ 5์์ ์ฌ๋์ต๋๋ค. 2022๋ 11์์ ์ถ์๋ C# 11์ ๋ค๋ฅผ ์ด์ด ๋ฌธ์์ด ๋ฆฌํฐ๋ด, ์ผ๋ฐ ์ํ ๋ฑ์ ๊ธฐ๋ฅ์ ์๋ํ์ต๋๋ค.
AppMaster may find C# 12's advancements beneficial, given that they combine enhanced syntax and an optimal performance that aligns well with the AppMaster 's popular low-code/ no-code approach to application development.


