์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
Visual Studio์—์„œ ๋„˜์–ด์˜ด
Microsoft Visual Studio



1. ๊ฐœ์š”2. ํŠน์ง•3. ์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ4. ์—ญ๋Œ€ ๋ฒ„์ „
4.1. Visual Studio 97 (5.0)4.2. Visual Studio 6.04.3. Visual Studio.Net (2002) (7.0)4.4. Visual Studio.Net 2003 (7.1)4.5. Visual Studio 2005 (8.0)4.6. Visual Studio 2008 (9.0)4.7. Visual Studio 2010 (10.0)4.8. Visual Studio 2012 (11.0)4.9. Visual Studio 2013 (12.0)4.10. Visual Studio 2015 (14.0)4.11. Visual Studio 2017 (15.0)4.12. Visual Studio 2019 (16.0)
5. ์ œํ’ˆ๊ตฐ
5.1. ํ˜„์žฌ ์ œ๊ณต๋˜๋Š” ์ œํ’ˆ๊ตฐ
5.1.1. Visual Studio Express Edition5.1.2. Visual Studio Community5.1.3. Azure DevOps5.1.4. Visual Studio Code5.1.5. Visual Studio for Mac5.1.6. Visual Studio Professional5.1.7. Visual Studio Enterprise5.1.8. Blend for Visual Studio
5.2. ํ˜„์žฌ ์ œ๊ณต์ด ์ค‘๋‹จ๋œ ์ œํ’ˆ๊ตฐ
5.2.1. Visual Studio Ultimate
6. ๊ธฐํƒ€

1. ๊ฐœ์š”[ํŽธ์ง‘]

๊ณต์‹ ํ™ˆํŽ˜์ด์ง€
๊ณต์‹ ๊ธฐ์ˆ  ๋ฌธ์„œ

1997๋…„๋ถ€ํ„ฐ ํ˜„์žฌ๊นŒ์ง€ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ๋ฐฐํฌ ๋ฐ ํŒ๋งค ์ค‘์ธ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด์ž ํ†ตํ•ฉ ํŒจํ‚ค์ง€.

์ด๊ฑฐ ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฉด ์œˆ๋„์šฐ์—์„œ ๋Œ์•„๊ฐ€๋Š” ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ชจ๋‘ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋งŒํผ ์šฉ๋Ÿ‰์ด ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ์ค€ 80GB, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ธฐ์ค€ 150GB ์ •๋„๋กœ ๋งค์šฐ ํฌ๊ณ  ๋˜ ์„ค์น˜ ๊ณผ์ •๋„ ์ƒ๋‹นํžˆ ๊ธธ๋‹ค. ๋‹ค๋งŒ ๊ทธ ๋งŽ์€ ๊ฒƒ๋“ค์„ ๋ฐ˜๋“œ์‹œ ๋‹ค ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†๊ณ , ๊ด€๋ จ ์ง€์‹์ด ์—†๋‹ค๋ฉด ์ตœ์ดˆ์— ์ •ํ•ด ์ฃผ๋Š” ๋Œ€๋กœ๋งŒ ๊น”๋ฉด ์ถฉ๋ถ„ํžˆ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

2. ํŠน์ง•[ํŽธ์ง‘]

๊ธฐ์กด์— ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ์ œ์ž‘ํ•˜๋˜ ์ปดํŒŒ์ผ๋Ÿฌ์ธ Microsoft C/C++ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๋‚˜์ค‘์— Visual C++๋กœ ๊ฐœ๋ช…ํ•˜๋ฉด์„œ, ๊ฐ™์ด 'Visual'์„ ์ ‘๋‘์–ด๋กœ ๋ถ™์ด๋˜ Visual Basic๊ณผ ํ•ฉ์ณ์„œ ํŒจํ‚ค์ง€๋กœ ๋‚ด๋†“์€ ๊ฒƒ. ์ดˆ๊ธฐ์—๋งŒ ํ•ด๋„ DOS ์‹œ์ ˆ์—๋Š” Borland C++์—, DOS ํ›„๊ธฐ์—๋Š” Watcom C++์— ๋’ค์ณ์กŒ์œผ๋‚˜ Windows ์‹œ๋Œ€๋กœ ๋“ค์–ด์„œ๋ฉด์„œ ๊ธ‰๊ฒฉํžˆ ์„ธ๋ฅผ ๋ถˆ๋ ค ์ง€๊ธˆ์€ ์œˆ๋„์šฐ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ ๋…๋ณด์ ์ธ ์›ํƒ‘์„ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ์ฝ”๋“œ ๋ฒ ์ด์Šค๋กœ๋Š” C++๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ๊ณ , UI ๋“ฑ ์ผ๋ถ€๋ถ„์— ํ•œํ•ด C#์ด ์‚ฌ์šฉ๋˜์—ˆ๋‹ค.

๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ๊ฐœ๋ฐœํ•œ IDE์ธ ๋งŒํผ ์œˆ๋„์šฐ ์ง„์˜์—์„œ๋Š” ์‚ฌ์‹ค์ƒ ํ‘œ์ค€ ๊ฐœ๋ฐœ ํˆด๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋””๋ฒ„๊น… ๋ถ€๋ถ„์— ์žˆ์–ด์„œ๋Š” ํƒ€์˜ ์ถ”์ข…์„ ๋ถˆํ—ˆํ•œ๋‹ค. ๋‹จ์ ์ด๋ผ๋ฉด C์–ธ์–ด ์‚ฌ์–‘(C99, C11, C18)์˜ ์—…๋ฐ์ดํŠธ ์ง€์›์ด ๋ถ€์กฑํ•œ ์ ์ด ์žˆ๋‹ค. ์• ์ดˆ์— Visual C++๋Š” C๋ฅผ ์“ฐ์ž๊ณ  ๋‚˜์˜จ ๊ฒŒ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ๋•Œ๋ฌธ์— C11, C18์€ ์ปค๋…• C99 ๋ฌธ๋ฒ•์กฐ์ฐจ ์ œ๋Œ€๋กœ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ C++์— ๋Œ€ํ•œ ์ง€์›์€ ์•„์ง ํ‘œ์ค€์œผ๋กœ ์ •ํ•ด์ง€์ง€ ์•Š์€ ๊ฒƒ๋“ค๋„ ์‹คํ—˜ ๊ธฐ๋Šฅ์œผ๋กœ ์ง€์›ํ•  ์ •๋„๋กœ ์ง€์›์ด ์ข‹๋‹ค. ํ…์ŠคํŠธ ์ž๋™์™„์„ฑ(์ธํ…”๋ฆฌ์„ผ์Šค)๊ณผ ๋””๋ฒ„๊น… ์˜ต์…˜[1], ๋ฐฉ๋Œ€ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ƒํƒœ๊ณ„๋Š” ๋‹ค๋ฅธ ํˆด๋“ค์ด ๋ฒ”์ ‘ํ•˜๊ธฐ ์–ด๋ ค์šด ์ˆ˜์ค€์„ ๋ณด์—ฌ์ฃผ๋ฉฐ ํ˜„์กดํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ๋“ค์˜ ์ƒ๋‹น์ˆ˜๊ฐ€ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋ฅผ ์ด์šฉํ•ด ์ œ์ž‘๋˜์—ˆ๋‹ค. ๋˜ํ•œ ๋‹ค์ˆ˜์˜ ๊ฐœ๋ฐœ ํˆด์ด๋‚˜ SDK๋“ค์ด ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์— ๊ธฐ๋ฐ˜ํ•ด์„œ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜•ํƒœ๋กœ ์ œ๊ณต๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Š˜์–ด๋‚˜๊ณ  ์žˆ๊ณ , ์–ธ๋ฆฌ์–ผ ์—”์ง„์ด๋‚˜ ์œ ๋‹ˆํ‹ฐ ์—”์ง„ ๋“ฑ์˜ ๋ฒ”์šฉ ๊ฒŒ์ž„ ์—”์ง„๋“ค๋„ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋ฅผ ๊ธฐ๋ณธ ์Šคํฌ๋ฆฝํŠธ ์—๋””ํ„ฐ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ATMEL Studio 7 ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์•„์˜ˆ VS์˜ ์—๋””ํ„ฐ ๋ถ€๋ถ„๋งŒ ๋–ผ์–ด์™€์„œ ์ž์‚ฌ IDE์— ์“ฐ๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ๋‹ค.

ํ•˜๋‚˜์˜ ํŒจํ‚ค์ง€ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋ณ„๋„์˜ ๊ฐœ๋ฐœ ํˆด์ด ํ•„์š” ์—†๋‹ค. (๊ตณ์ด ์“ด๋‹ค๋ฉด Visual AssistX๋‚˜ SVN ํ”Œ๋Ÿฌ๊ทธ์ธ ์ •๋„) ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์˜ ์ด ํŒจํ‚ค์ง€ ์•ˆ์—๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์ด ๋‹ค ๋“ค์–ด ์žˆ๋‹ค. ์‹ฌ์ง€์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋„ ์ค€๋‹ค! ํŠนํžˆ C++ ๋นŒ๋“œ ํ™˜๊ฒฝ์„ ์ž์ฒด์ ์œผ๋กœ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์ดˆ๋ณด์ž์—๊ฒŒ ์ปค๋‹ค๋ž€ ์žฅ์ ์ด๋‹ค. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ๋‹ค์Œ์œผ๋กœ ๋งŽ์ด ์“ฐ์ด๋Š” VS Code C/C++ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋‚˜ JetBrains์˜ CLion๋งŒ ๋ด๋„, ํˆด ์ž์ฒด๋Š” ํ›Œ๋ฅญํ•˜์ง€๋งŒ C++๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ, ๋””๋ฒ„๊ฑฐ ๋ฐ Make/CMake ๋“ฑ์˜ ๋นŒ๋“œ ํ™˜๊ฒฝ์„ ์Šค์Šค๋กœ ์„ธํŒ…ํ•ด์•ผ ํ•˜๋ฉฐ ์ด๋ฅผ ์ˆ™์ง€ํ•˜์ง€ ๋ชปํ•˜๋ฉด ์‹œ์ž‘๋ถ€ํ„ฐ ๋‚œ๊ด€์— ๋ถ€๋”ชํžˆ๊ฒŒ ๋œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.[2]

๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ ์ •์ฑ…์ƒ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์ €๋ณ€์„ ๋„“ํžˆ๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ์ƒ์šฉ ์ปดํŒŒ์ผ๋Ÿฌ ์ œ์กฐ์‚ฌ๋“ค์—์„œ๋Š” ํ•˜๊ธฐ ์–ด๋ ค์šด ํŒŒ๊ฒฉ์ ์ธ ํ”„๋กœ๋ชจ์…˜์„ ๋งŽ์ด ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์€ ๋งˆ์Œ๋งŒ ๋จน์œผ๋ฉด ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ˜„์žฌ๋Š” ๊ฐœ์ธ ์‚ฌ์šฉ์ž์— ํ•œํ•ด ํˆด ์ž์ฒด๋ฅผ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณตํ•˜๋Š” ์ค‘์ด๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๊ฐœ๋ฐœ, ํŒ๋งคํ•˜๋Š” ๊ฒฝ์Ÿ์‚ฌ์˜ ์˜ˆ๋กœ ๊ตฌ Borland์˜ ํ›„์‹ ์ธ ์ฝ”๋“œ๊ธฐ์–ด ๋“ฑ์ด ์žˆ๋‹ค. ์ด์ชฝ์€ ์ˆ˜๋ฐฑ๋งŒ ์›์„ ๊ฐ€๋ณ๊ฒŒ ํ˜ธ๊ฐ€ํ•˜๋Š” ๋“ฑ ํŒจํ‚ค์ง€ ๊ฐ€๊ฒฉ์ด ๋งŒ๋งŒ์น˜ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์—…์—์„œ๋Š” ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ์ œ๊ณตํ•˜๋Š” 1๋…„ ๋ผ์ด์„ ์Šค(์ •ํ™•ํ•œ ๊ธฐ๊ฐ„์€ ํ”„๋กœ๊ทธ๋žจ ๋ฒ„์ „๋งˆ๋‹ค ์•ฝ๊ฐ„์”ฉ ๋‹ค๋ฆ„)์˜ ํ”„๋กœํŽ˜์…”๋„ ๋ฒ„์ „์ด๋‚˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ํฌ๊ฒŒ Visual Basic(Visual Basic .NET), C++(+ Win32 API, MFC), C#(ASP.NET, WinForms, WPF) ์„ธ ๊ฐœ๋กœ ๋‚˜๋‰œ๋‹ค [3]. Python์€? ๋˜ํ•œ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๋‹ต๊ฒŒ ์ด ์–ธ์–ด๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” UI ์ œ์ž‘๋„๊ตฌ(๋””์ž์ธ ํˆด)๋„ ์ œ๊ณต๋œ๋‹ค. UI๋ฅผ ๋งŒ๋“ค ๋•Œ ์ˆœ์ˆ˜ ๋‚ ์ฝ”๋”ฉ(ํƒ€์ดํ•‘ ๋…ธ๊ฐ€๋‹ค)์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹๋„ ์žˆ์ง€๋งŒ ๊ทธ๋ž˜๋„ ๋Œ€๋ถ€๋ถ„์€ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋ฅผ ์ด์šฉํ•ด UI๋ฅผ ๋งŒ๋“ ๋‹ค. ์™œ๋ƒ๋ฉด ๋‚ ์ฝ”๋”ฉ์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ์ชฝ์ด ์†๋„๋„ ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ๋•Œ๋Š” ํŽธํ•˜์ง€๋งŒ ๋””์ž์ธ ํˆด์„ ์‚ฌ์šฉํ•˜๋Š” ์ชฝ์ด ๊ฒฐ๊ณผ๋ฌผ๋„ ์ด์˜๊ณ  ์ƒ์‚ฐ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ.

ํ”„๋กœ๊ทธ๋žจ์˜ ์—„์ฒญ๋‚œ ํฌ๊ธฐ์™€ ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์— ๋น„ํ•ด ์ตœ์ ํ™”๋Š” ์ƒ๋‹นํžˆ ์ž˜ ๋˜์–ด ์žˆ์–ด, ์ €์‚ฌ์–‘ ํ™˜๊ฒฝ์—์„œ๋„ ๋ฌธ์ œ ์—†์ด ์ž˜ ๋Œ์•„๊ฐ„๋‹ค. ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์— ์‹ ๊ฒฝ์„ ๋งŽ์ด ์“ฐ๋Š” ์ด์œ ๋Š” ์•„๋ฌด๋ฆฌ ์šด์˜์ฒด์ œ๊ฐ€ ์ข‹์•„๋„ ๊ทธ ์šด์˜์ฒด์ œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์—†๋‹ค๋ฉด ์šด์˜์ฒด์ œ๋Š” ๋ฌด์šฉ์ง€๋ฌผ์ด๋ผ๋Š” ์‚ฌ์‹ค์„ ๊ณผ๊ฑฐ๋ถ€ํ„ฐ ์ฒ ์ €ํ•˜๊ฒŒ ํ•™์Šตํ•ด ์™”๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ MS์—์„œ๋„ ๊ฐœ๋ฐœ์ž๋“ค์— ๋Œ€ํ•œ ์ง€์›์€ ๋‹ค๋ฅธ ์—…์ฒด๋“ค์— ๋น„ํ•ด ํ™”๋ˆํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํŽธ์ด๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฒ„์ „์ด ์ถœ์‹œ๋˜๊ธฐ ์ „์—๋„ ๋ฐฑ๋งŒ์› ๊ฐ€๊น๊ฒŒ ํ•˜๋Š” ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋ฅผ ์‹ฌ์‹ฌํ•˜๋ฉด ๋ฌด๋ฃŒ๋กœ ๋ฟŒ๋ ค๋Œ”์œผ๋ฉฐ, ๋‹ค๋‹ˆ๋Š” ๋Œ€ํ•™์ด MSDN AA์— ๊ฐ€์ž…๋˜์–ด ์žˆ๋‹ค๋ฉด ์•ก๋ฉด๊ฐ€๋กœ๋Š” ์ˆ˜์ฒœ ๋‹ฌ๋Ÿฌ ์ด์ƒ์„ ํ˜ธ๊ฐ€ํ•˜๋Š” ์–ผํ‹ฐ๋ฐ‹ ๋ฒ„์ „๋„ ๋ฌด๋ฃŒ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. 2013๋…„๋ถ€ํ„ฐ๋Š” ์•„์˜ˆ ํ”„๋กœํŽ˜์…”๋„ ๋ฒ„์ „๊ณผ ๊ธฐ๋Šฅ์ด ๋น„์Šทํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฒ„์ „์„ ๊ฐœ์ธ ์‚ฌ์šฉ์ž์— ํ•œํ•˜์—ฌ ๋ฌด๋ฃŒ๋กœ ํ’€๊ณ  ์žˆ๋‹ค.

๊ฒŒ๋‹ค๊ฐ€ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์˜ ์™„์„ฑ๋„์™€ ํŽธ์˜์„ฑ์€ ์‹ฌ์ง€์–ด MS๋‚˜ ์œˆ๋„์šฐ๋ฅผ ์‹ซ์–ดํ•˜๋Š” ๋น„(้ž) ์œˆ๋„์šฐ ๊ฐœ๋ฐœ์ž๋“ค๋„ ์ธ์ •ํ•˜๊ณ  ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„. ๋ฌผ๋ก  ์•„์˜ˆ ํŽธ์ง‘์˜ ๊ฐœ๋… ์ž์ฒด๊ฐ€ ๋‹ค๋ฅธ vi/Emacs ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์€ ํ‰๊ฐ€ ๊ธฐ์ค€์ด ๋‹ค๋ฅด๊ฒ ์ง€๋งŒ, IDE๋กœ์„œ์˜ ์•ˆ์ •์„ฑ์ด๋‚˜ ํŽธ์ง‘ ๊ธฐ๋Šฅ, ๋ฐ˜์‘ ์†๋„, ์ธํ…”๋ฆฌ์„ผ์Šค ๋“ฑ ์ „๋ฐ˜์ ์ธ ๋ฉด์—์„œ ์ดํด๋ฆฝ์Šค CDT๋‚˜ Xcode๋ณด๋‹ค ํ›จ์”ฌ ์šฐ์ˆ˜ํ•˜๋ฉฐ ๋ถ€๊ฐ€์ ์ธ ๊ธฐ๋Šฅ๋“ค๋„ ํƒ„ํƒ„ํ•˜๋‹ค. ์‚ฌ์‹ค vi ๊ฐ™์€ ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์œ ์ € ์ค‘์—๋Š” ์œ ๋‹‰์Šค C ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋งŽ์€๋ฐ, C๋Š” IDE์˜ ํ•„์š”์„ฑ์ด ์ƒ๋Œ€์ ์œผ๋กœ ์ ์€ ์–ธ์–ด์ธ ๋ฐ๋‹ค๊ฐ€ ๊ฒฐ์ •์ ์œผ๋กœ MS์—์„œ ๋ฏธ๋Š” ์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์—์„œ๋„ ์ง€์›์€ ์—ด์•…ํ•˜๋‹ค. ์ฆ‰, ์ด ์‚ฌ๋žŒ๋“ค์—๊ฒŒ VS๋Š” ์–ด์ฐจํ”ผ vi๋ณด๋‹ค ํŽธ์ง‘ ํŽธ์˜์„ฑ๋„ ๋–จ์–ด์ง€๋ฉด์„œ ๋ฌด๊ฒ๊ณ  ์œก์ค‘ํ•œ ๋ผ์ง€์ผ ๋ฟ.(...) ๊ทธ๋ ‡๋‹ค๋ฉด ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ๋ฅผ ์“ฐ์ž ์œˆ๋„์šฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋” ์ด์ƒ C๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฑฐ์˜ ์—†๋‹ค. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์—์„œ ์ œ๋Œ€๋กœ ์ง€์› ์•ˆ ํ•˜๋Š” ๊ฒƒ๋„ ์žˆ์ง€๋งŒ ๋‹น์žฅ ์ˆœ์ˆ˜ C๋กœ GUI ์ฒ˜๋ฆฌํ•˜๊ธฐ๊ฐ€ ์™„์ „ ์ƒ๋…ธ๊ฐ€๋‹ค์ด๊ธฐ ๋•Œ๋ฌธ. ๋ญ ๊ทธ ์ง“ ํ•œ๋ฒˆ ํ•˜๊ณ  ๋‚˜๋ฉด ์œˆ๋„์šฐ๋ฅผ ์‹ฌ์ธต์ ์œผ๋กœ ์ดํ•ดํ•˜๊ฒŒ ๋˜๋Š” ์žฅ์ ์€ ์žˆ๋‹ค. ์œ ๋‹‰์Šค ์ง„์˜์—์„œ๋Š” ์ปค๋งจ๋“œ ๋ผ์ธ์—์„œ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ GUI๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฝค ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์•„์ง C ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ํ™œ๋ฐœํ•œ ํŽธ์ด๋‹ค. ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋‚จ์•„์žˆ๋Š” ๋ถ„์•ผ ์ค‘ ํ•˜๋‚˜๊ฐ€ OS(ํŠนํžˆ ์ปค๋„)์ธ๋ฐ, ์œˆ๋„์šฐ ์—ญ์‹œ C๋กœ ๊ฐœ๋ฐœ๋˜๊ธฐ๋Š” ํ•˜์ง€๋งŒ ๋ฌธ ๊ฑธ์–ด ์ž ๊ทธ๊ณ  ํšŒ์‚ฌ ๋‚ด์—์„œ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด๋‹ˆ ์ผ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์€ ๋จผ ๋‚˜๋ผ ์ผ๋กœ ๋А๋ผ๋Š” ๋“ฏ.

๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์—๋Š” ๋‹จ์ˆœ ๊ฐœ๋ฐœ ํˆด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒ€ ์ž‘์—…์„ ์œ„ํ•œ ์„œ๋ฒ„๋„ ์ œ๊ณตํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ๊ฐค๋Ÿฌ๋ฆฌ์—์„œ ์—ฌ๋Ÿฌ IDE๋ฅผ ๋‹ค์šด๋ฐ›์•„, ์ž์‹ ๋งŒ์˜ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์„ธ๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ž์‹ ๋งŒ์˜ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ํ…Œ๋งˆ๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค๋“ ์ง€, ์‹ฌ์ง€์–ด๋Š” ์ด๋Ÿฐ ๊ฑฐ๋ผ๋“ ์ง€ ๋ง์ด๋‹ค. ์ด IDE๋Š” Microsoft 2015 Tech Days์—์„œ๋„ ์†Œ๊ฐœ๋œ ๋ฐ” ์žˆ๋‹ค. ๋งˆ์†Œ ์ง์›์ด ์†Œ๊ฐœ๋ฅผ ํ•ด ์ฃผ๋Š”๋ฐ, ํ•‘ํฌํ•‘ํฌํ•œ ์ปค์Šคํ…€ ํ…Œ๋งˆ๋ฅผ ์ ์šฉ์‹œ์ผœ ๋†“๊ณ , '๋นŒ๋“œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํ”„๋กœ๋‚˜๋งˆ์ดน์ด ์œ™ํฌ๋„ ํ•ด ์ค๋‹ˆ๋‹ค' ํ•˜๋ฉด์„œ ๋นŒ๋“œ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €๋”๋‹ˆ ์•ž์ž๋ฆฌ์— ์•‰์•„ ์žˆ๋˜ ์‚ฌ๋žŒ๋“ค์ด ํ™˜ํ˜ธ์„ฑ์„ ์งˆ๋ €๋‹ค. ํ•ด๋‹น TechDays Korea 2015, 1๋ถ„ 40์ดˆ ๊ฒฝ ์ฐธ๊ณ 

๋˜ํ•œ ์ด์šฉ์ž์˜ ์ˆ˜๋งŒํผ์ด๋‚˜ ๋‹ค์–‘ํ•œ ์„œ๋“œํŒŒํ‹ฐ ์ฐธ์—ฌ๋„ ํ™œ๋ฐœํ•ด์„œ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์— ๋„์ „๊ณผ์ œ๋ฅผ ๋ถ€๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ๋งŒ๋“ค์–ด์ ธ ์žˆ๋‹ค. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค/๋„์ „๊ณผ์ œ ํ•ญ๋ชฉ ์ฐธ์กฐ.

๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜์ด ๋‚˜์˜ค๋ฉด์„œ ๊ฐœ์ธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณตํ•˜๊ฒŒ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ์ธ์šฉ์œผ๋กœ ์“ธ ๊ฒฝ์šฐ ๋” ์ด์ƒ ๊ตฌ์ž…์— ๋ถ€๋‹ด์„ ๊ฐ€์ง€์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ํ•™์ƒ ์‹ ๋ถ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด Microsoft DreamSpark์—์„œ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์™€ ํ•จ๊ป˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œˆ๋„์šฐ ์„œ๋ฒ„, SQL ์„œ๋ฒ„ ๋“ฑ์„ ๋ฌด๋ฃŒ๋กœ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๋Œ€ํ•™์ƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ค‘, ๊ณ ๋“ฑํ•™์ƒ๋„ ํฌํ•จ๋˜๋ฉฐ ์ดˆ๋“ฑํ•™์ƒ ์—ญ์‹œ ํ•™๊ต์˜ ๋„์„œ๋Œ€์ถœ์ฆ์„ ์ด์šฉํ•ด ํ•™์ƒ์‹ ๋ถ„ ์ฆ๋ช…์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•™๊ต์—์„œ ์ด๋ฉ”์ผ์„ ๋ฐœ๊ธ‰ํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ณธ์ธ์˜ ์ด๋ฆ„๊ณผ ์žฌํ•™๊ธฐ๊ฐ„์„ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฅ˜ ๋˜๋Š” ํ•™์ƒ์ฆ์„ ์ฐ์–ด์„œ ์‹ ์ฒญ์–‘์‹์— ์ฒจ๋ถ€ํ•ด ์ธ์ฆํ•  ์ˆ˜ ์žˆ๋‹ค. ์ดˆ, ์ค‘, ๊ณ ๋“ฑํ•™์ƒ์€ ํ•™๊ต ์ด๋ฉ”์ผ์„ ํ•™์ƒ๋“ค์—๊ฒŒ ์ฃผ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฑฐ์˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ๋ผ๋ฉด ์ดˆ, ์ค‘, ๊ณ ๋“ฑํ•™์ƒ๋„ ์ด์ชฝ์— ํฌํ•จ๋œ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ์ž์„ธํ•œ ๊ฒƒ์€ Microsoft DreamSpark ํ•ญ๋ชฉ ์ฐธ๊ณ .

3. ์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ[ํŽธ์ง‘]

  • ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2019 ๊ธฐ์ค€
    • ์šด์˜์ฒด์ œ
    • ํ•˜๋“œ์›จ์–ด
      • 1.8GHz ์ด์ƒ์˜ ํ”„๋กœ์„ธ์„œ ์ฟผ๋“œ ์ฝ”์–ด ์ด์ƒ ์ถ”์ฒœ
      • 2GB RAM(8GB RAM ์ถ”์ฒœ)(๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ 2.5GB ์ด์ƒ)
      • ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„: ์„ค์น˜๋œ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ์ตœ์†Œ 800MB, ์ตœ๋Œ€ 210GB์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋ฉฐ, ์ผ๋ฐ˜์ ์ธ ์„ค์น˜์—๋Š” 20~50GB์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
      • ํ•˜๋“œ ๋””์Šคํฌ ์†๋„: ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋ ค๋ฉด SSD(๋ฐ˜๋„์ฒด ๋“œ๋ผ์ด๋ธŒ)์— Windows ๋ฐ Visual Studio๋ฅผ ์„ค์น˜ํ•˜์„ธ์š”.
      • ์ตœ์†Œ ๋””์Šคํ”Œ๋ ˆ์ด ํ•ด์ƒ๋„ 720p(1280x720)๋ฅผ ์ง€์›ํ•˜๋Š” ๋น„๋””์˜ค ์นด๋“œ. Visual Studio๋Š” WXGA(1366x768) ์ด์ƒ ํ•ด์ƒ๋„์—์„œ ๊ฐ€์žฅ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2017 ๊ธฐ์ค€
    • ์šด์˜์ฒด์ œ
    • ํ•˜๋“œ์›จ์–ด
      • 1.8GHz ์ด์ƒ์˜ ํ”„๋กœ์„ธ์„œ ๋“€์–ผ ์ฝ”์–ด ์ด์ƒ ๊ถŒ์žฅ
      • RAM 2GB. 4GB์˜ RAM์„ ๊ถŒ์žฅํ•จ(๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ์†Œ 2.5GB)
      • ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„: ์„ค์น˜๋œ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ์ตœ๋Œ€ 130GB์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„, ์ผ๋ฐ˜์ ์ธ ์„ค์น˜์—๋Š” 20~50GB์˜ ์—ฌ์œ  ๊ณต๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
      • ํ•˜๋“œ ๋””์Šคํฌ ์†๋„: ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋ ค๋ฉด SSD(๋ฐ˜๋„์ฒด ๋“œ๋ผ์ด๋ธŒ)์— Windows ๋ฐ Visual Studio๋ฅผ ์„ค์น˜ํ•˜์„ธ์š”.
      • ์ตœ์†Œ ๋””์Šคํ”Œ๋ ˆ์ด ํ•ด์ƒ๋„ 720p(1280x720)๋ฅผ ์ง€์›ํ•˜๋Š” ๋น„๋””์˜ค ์นด๋“œ. Visual Studio๋Š” WXGA(1366x768) ์ด์ƒ ํ•ด์ƒ๋„์—์„œ ๊ฐ€์žฅ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2015 ๊ธฐ์ค€
    • ์šด์˜์ฒด์ œ
    • ํ•˜๋“œ์›จ์–ด
      • 1.6GHz ์ด์ƒ์˜ ํ”„๋กœ์„ธ์„œ
      • 1GB(32๋น„ํŠธ) ๋˜๋Š” 2GB(64๋น„ํŠธ) RAM(๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ 512MB ์ถ”๊ฐ€ ํ•„์š”)
      • 4GB์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„
      • 5400RPM์˜ ํ•˜๋“œ ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ
      • 1024x768 ์ด์ƒ ๋””์Šคํ”Œ๋ ˆ์ด ํ•ด์ƒ๋„๋กœ ์‹คํ–‰๋˜๋Š” DirectX 9 ์ง€์› ๋น„๋””์˜ค ์นด๋“œ
  • ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2013 ๊ธฐ์ค€
    • ์šด์˜์ฒด์ œ
    • ํ•˜๋“œ์›จ์–ด
      • 1.6GHz ์ด์ƒ์˜ ํ”„๋กœ์„ธ์„œ
      • 1GB(32๋น„ํŠธ) ๋˜๋Š” 2GB(64๋น„ํŠธ) RAM(๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ 512MB ์ถ”๊ฐ€ ํ•„์š”)
      • 20GB์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„ (์ต์Šคํ”„๋ ˆ์Šค for Windows ์—๋””์…˜์€ 11GB, ์ต์Šคํ”„๋ ˆ์Šค for Windows Desktop ์—๋””์…˜์€ 5GB)
      • 5400RPM์˜ ํ•˜๋“œ ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ
      • 1024x768 ์ด์ƒ ๋””์Šคํ”Œ๋ ˆ์ด ํ•ด์ƒ๋„๋กœ ์‹คํ–‰๋˜๋Š” DirectX 9 ์ง€์› ๋น„๋””์˜ค ์นด๋“œ
  • ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2012 ๊ธฐ์ค€
    • ์šด์˜์ฒด์ œ
    • ํ•˜๋“œ์›จ์–ด
      • 1.6GHz(๊ธฐ๊ฐ€ํ—ค๋ฅด์ธ ) ์ด์ƒ์˜ ํ”„๋กœ์„ธ์„œ
      • 1GB(32๋น„ํŠธ) ๋˜๋Š” 2GB(64๋น„ํŠธ) RAM(๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ 512MB ์ถ”๊ฐ€ ํ•„์š”)
      • 10GB์˜ ํ•˜๋“œ ๋””์Šคํฌ ์—ฌ์œ  ๊ณต๊ฐ„ (์ต์Šคํ”„๋ ˆ์Šค ์—๋””์…˜์€ 4GB)
      • 5,400RPM ํ•˜๋“œ ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ
      • 1024x768 ์ด์ƒ ํ•ด์ƒ๋„๋กœ ์‹คํ–‰๋˜๋Š” DirectX 9 ์ง€์› ๋น„๋””์˜ค ์นด๋“œ
  • ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2010 ๊ธฐ์ค€
    • ์šด์˜์ฒด์ œ
    • ํ•˜๋“œ์›จ์–ด
      • 1.6GHz(๊ธฐ๊ฐ€ํ—ค๋ฅด์ธ ) ์ด์ƒ์˜ ํ”„๋กœ์„ธ์„œ
      • 1GB(32๋น„ํŠธ) ๋˜๋Š” 2GB(64๋น„ํŠธ) RAM (๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ 512MB ์ถ”๊ฐ€ ํ•„์š”)
      • 3GB์˜ ํ•˜๋“œ ๋””์Šคํฌ ์—ฌ์œ  ๊ณต๊ฐ„
      • 5,400RPM ํ•˜๋“œ ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ
      • 1024x768 ์ด์ƒ ํ•ด์ƒ๋„๋กœ ์‹คํ–‰๋˜๋Š” DirectX 9 ์ง€์› ๋น„๋””์˜ค ์นด๋“œ

4. ์—ญ๋Œ€ ๋ฒ„์ „[ํŽธ์ง‘]

4.1. Visual Studio 97 (5.0)[ํŽธ์ง‘]



1997๋…„ 2์›”์— ์ถœ์‹œ๋œ ์ตœ์ดˆ์˜ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค.
๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋กœ์จ๋Š” ์ตœ์ดˆ ๋ฒ„์ „์ด์ง€๋งŒ ๊ธฐ์กด ๋น„์ฃผ์–ผ C++๊ณผ ๋น„์ฃผ์–ผ ๋ฒ ์ด์ง์˜ ๋ฒ„์ „ ๋„˜๋ฒ„๋ฅผ ๋”ฐ๋ผ 5.0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค.

4.2. Visual Studio 6.0[ํŽธ์ง‘]


(๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 6.0์˜ ํŒจํ‚ค์ง€)


(๋น„์ฃผ์–ผ C++ 6.0์˜ ์Šคํ”Œ๋ž˜์‹œ ์ด๋ฏธ์ง€)

1998๋…„ 6์›”์— ์ถœ์‹œ๋œ ๋‘ ๋ฒˆ์งธ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋กœ, ํ•จ๊ป˜ ๋“ค์–ด์žˆ๋Š” Visual Basic 6.0์€ ์ •๋ง ๊ฑธ์ž‘์ด์ง€๋งŒ, Visual C++ 6.0์€ 90๋…„๋Œ€ ๋ง๊ณผ 2000๋…„๋Œ€๋ฅผ ์‚ด์•„๊ฐ„ ๊ฐœ๋ฐœ์ž๋“ค์˜ ํšŒํ•œ์ด ์„œ๋ ค ์žˆ๋Š” ์ œํ’ˆ. ์ง€๊ธˆ๋„ IT ๊ด€๋ จ ํ•™๊ณผ๋‚˜ ํ•™์›์—์„œ๋Š” ํ˜„์—ญ์œผ๋กœ ๋Œ๋ฆฌ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. ์‹ฌ์ง€์–ด ํ˜„์—…์—์„œ๋„!! ๋”ฑํžˆ ์„ฑ๋Šฅ์ด๋‚˜ ๊ธฐ๋Šฅ์ด ์ข‹์•„์„œ ๊ทธ๋Ÿฐ ๊ฒƒ์€ ์•„๋‹ˆ๊ณ , ์ดํ›„์˜ ๋ฒ„์ „๋“ค์ด C/C++ ํ‘œ์ค€ ๊ทœ๊ฒฉ ์ง€์›์„ ๊ฐ•ํ™”ํ•˜๋ฉด์„œ ์ด์ „ ์†Œ์Šค๊ฐ€ ์ปดํŒŒ์ผ์ด ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ฐธ๊ณ ๋กœ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ง€์›์„ ์ค‘๋‹จํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ Windows Vista ์ดํ›„ ๋ฒ„์ „์—์„œ๋Š” ์„ค์น˜ํ•˜๊ธฐ๋„ ํž˜๋“ค๋‹ค. ์œˆ๋„์šฐ ๋น„์Šคํƒ€ ์ด์ƒ๋ถ€ํ„ฐ๋Š” ์„ค์น˜ exe์—์„œ ์šฐํด๋ฆญ > ์†์„ฑ > ํ˜ธํ™˜์„ฑ > Windows XP SP3์„ ๋งž์ถ”๊ณ  ์ ์šฉํ•˜๋ฉด ์„ค์น˜ ๊ฐ€๋Šฅํ•˜๋‹ค. ์‚ฌ์–‘์ด ๋†’๋‹ค๋ฉด ์†ํŽธํ•˜๊ฒŒ Windows XP ๊ฐ€์ƒ๋จธ์‹ ์„ ๋งŒ๋“ค์–ด์„œ ๊น”๋ฉด ๋œ๋‹ค. ๋‹น์—ฐํžˆ ์šฉ๋Ÿ‰์€ 64GB ์ •๋„๋กœ ๋„‰๋„‰ํ•˜๊ฒŒ.

Visual C++ 6.0์„ ๋ณ„๋‹ค๋ฅธ ์ด์œ  ์—†์ด ์•„์ง๋„ ์“ฐ๊ณ  ์žˆ๋‹ค๋ฉด ์ตœ์†Œํ•œ 2010 ์ด์ƒ์˜ ์ƒ์œ„ ๋ฒ„์ „์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ๊ทธ๋™์•ˆ C++ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์„ฑ๋Šฅ๊ณผ ๋ณด์•ˆ, ์ปดํŒŒ์ผ ์†๋„ ๋“ฑ ๋ชจ๋“  ๋ฉด์—์„œ ์—„์ฒญ๋‚œ ๋ฐœ์ „์„ ์ด๋ฃจ์—ˆ์œผ๋ฉฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋˜ํ•œ ๋งค์šฐ ํ–ฅ์ƒ๋˜์–ด Visual C++ 6.0๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ๋”์šฑ ๊ฐ•๋ ฅํ•œ ์ž๋™ ์™„์„ฑ, ๋””๋ฒ„๊น… ๋“ฑ ๋งค์šฐ ๋†’์€ ์ƒ์‚ฐ์„ฑ์„ ๋ณด์—ฌ ์ค€๋‹ค. ํŠนํžˆ Visual C++ 6.0์€ C++์˜ ํ‘œ์ค€ ํ…œํ”Œ๋ฆฟ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(STL)๋ฅผ ์ œ๋Œ€๋กœ ์ง€์›ํ•˜์ง€ ์•Š์•„์„œ ํ˜„๋Œ€ C++์˜ ๋Œ€๋ถ€๋ถ„ ๊ธฐ๋Šฅ์„ ์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๊ธฐ ์–ด๋ ต๋‹ค! IDE๋Š” ๊ฐ€๋ฒผ์›Œ ๋ณด์—ฌ์„œ ์ปดํŒŒ์ผ๋Ÿฌ๋„ ๊ฐ€๋ฒผ์šธ ๊ฒƒ์ด๋ผ๊ณ  ์†๋‹จํ•˜๊ธฐ ์‰ฌ์šฐ๋‚˜, ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๋ฉ€ํ‹ฐ์ฝ”์–ด CPU ์ง€์›, ์ƒˆ๋กœ์šด C++ ํ‘œ์ค€ ๋ฐ OS ์ง€์›(Visual C++์— ๋”ฐ๋ผ ์˜ค๋Š” MFC๋„ ์ƒˆ๋กœ์šด OS์— ํ•„์š”ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ณ„์† ์ง„ํ–‰๋˜์—ˆ๋‹ค.), Stack Canary์™€ ๊ฐ™์€ ๋ณด์•ˆ ๊ฐ•ํ™” ๋“ฑ์€ VC++ 6.0์—์„œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. 10๋…„์ด๋ผ๋Š” ๊ธด ์‹œ๊ฐ„์ด ์ง€๋‚˜๋Š” ๋™์•ˆ C++ ์–ธ์–ด๋„ ๋งŽ์ด ๋ฐœ์ „ํ–ˆ๋‹ค. ๋‹ค์Œ ๊ธ€์„ ๋ฐ˜๋“œ์‹œ ์ฝ์–ด ๋ณด๋„๋ก ํ•˜์ž: VC++ 6.0์„ ์“ฐ์ง€ ๋ง์•„์•ผ ํ•˜๋Š” ์ด์œ . ๋˜ํ•œ ๋ฐฑ์‹ ์ด ์ปดํŒŒ์ผ๋œ ์‹คํ–‰ํŒŒ์ผ์„ ๋ฐ”์ด๋Ÿฌ์Šค๋กœ ์˜ค์ง„ํ•˜๋Š” ๊ฒฝ์šฐ ์žˆ๋‹ค.

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

VB.NET๊ณผ VB 6.0์€ ๋ฌธ๋ฒ•์€ ๋น„์Šทํ•˜์ง€๋งŒ ์„œ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ ์†Œ์Šค๊ฐ€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์—, VC++ 6.0๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์•„์ง๊นŒ์ง€๋„ ๊ณต์žฅ ์ž๋™ํ™”(FA)์™€ ๊ฐ™์€ ํŠน์ˆ˜ํ•œ ๋ถ„์•ผ์—์„œ ์ˆ˜์š”๊ฐ€ ๋‚จ์•„ ์žˆ๋‹ค. ๋น„๋ก ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ๋Š” ํ–ˆ์ง€๋งŒ, C++์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์–ธ์–ด ์ž์ฒด๊ฐ€ ์™„์ „ํžˆ ๋ฐ”๋€Œ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— VB.NET ์ดํ›„ ๋ฒ„์ „์œผ๋กœ ๊ฐˆ์•„ ํƒ€๋Š” ๊ฒƒ์€ ํ”„๋กœ๊ทธ๋žจ์„ ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•œ ์ˆ˜์ค€์˜ ์ž์›์ด ํ•„์š”ํ•˜๋‹ค. ํŠน์ˆ˜ ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉํ•˜๋Š” VB 6.0๊ณผ LabVIEW ๋“ฑ ์˜ค๋ž˜๋œ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ƒˆ๋กœ์šด ์–ธ์–ด๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์‹ถ์–ด๋„, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋‚œ์ด๋„๊ฐ€ ๋†’์€ ๋ฐ๋‹ค๊ฐ€ ์ˆ˜์š”๋„ ํ•œ์ •๋œ ๋ถ„์•ผ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ž˜๋œ ๋ฒ„์ „์˜ ํ™˜๊ฒฝ์„ ๋ณด์•ˆ ๋ฐ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ๊ฐ์ˆ˜ํ•˜๋”๋ผ๋„ ์œ ์ง€ํ•˜๊ณ  ์žˆ๋‹ค.

VB 6.0 ๋Ÿฐํƒ€์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ตœ์‹  ๋ฒ„์ „์˜ ์œˆ๋„์šฐ์—์„œ๋„ ์ง€์›ํ•ด ์ฃผ๊ณ  ์žˆ์œผ๋ฉฐ, ActiveX[4] ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์ ธ ์žˆ๋Š” ๊ฒƒ๋“ค์€ (์œˆ๋„์šฐ ๊ธฐ๋ฐ˜์˜) ๋‹ค๋ฅธ ๊ธฐ์ˆ ๊ณผ๋„ ์‰ฝ๊ฒŒ ์—ฐ๋™๋œ๋‹ค. ๋‹จ VB 6.0 ๋Ÿฐํƒ€์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ msvbvm60.dll ํŒŒ์ผ์ด ์žˆ์–ด๋„ ์–ธ์–ด ์ง€์› ํŒŒ์ผ์ด ์—†์œผ๋ฉด(ํ•œ๊ตญ์–ด์˜ ๊ฒฝ์šฐ vb6ko.dll) ํ•ด๋‹น ์–ธ์–ด์˜ Visual Basic 6.0์œผ๋กœ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค. ํ”ํžˆ ๋งํ•˜๋Š” Windows Vista ์ดํ›„ OS์—์„œ VB 6.0 ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ์ด ๊ตฌ๋™๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์€ ์ด๊ฒƒ ๋•Œ๋ฌธ์ด๋ฉฐ, vb6ko.dll ํŒŒ์ผ๋งŒ ๋ณต์‚ฌํ•ด ์ฃผ๋ฉด Windows 10์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์‹ค VB 6.0์ด ์‚ด์•„์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์›์ธ์€ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์˜คํ”ผ์Šค. ์—‘์…€์˜ ๋งคํฌ๋กœ ์–ธ์–ด VBA๊ฐ€ ๋ฐ”๋กœ VB 6.0์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ „๋ฌธ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•„๋‹Œ ์ผ๋ฐ˜์ธ๋“ค์—๊ฒ ๊ทธ๋‚˜๋งˆ ๊ฐ€์žฅ ์ ‘ํ•  ๊ธฐํšŒ๊ฐ€ ๋งŽ๊ณ  ์นœ์ˆ™ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ. ํšŒ์‚ฌ์ƒํ™œ์„ ํ•˜๋‹ค ๋ณด๋ฉด ์–ด์ง€๊ฐ„ํ•œ ์ปดํ“จํ„ฐ ์ˆ™๋ จ์ž๋Š” ์—‘์…€์„ ๋” ์ž˜ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด VBA๋ฅผ ๊ฑด๋“œ๋ฆฌ๊ธฐ ๋งˆ๋ จ์ด๋‹ค. VBA๋กœ ์˜จ๊ฐ– ์žก๋‹คํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋‹ค ๋ณด๋ฉด ์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋„ ๊ธฐ์›ƒ๊ฑฐ๋ฆฌ๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋•Œ ์ด ์‚ฌ๋žŒ๋“ค์ด ์ขŒ์ ˆํ•˜๋Š” ์ด์œ ๋Š” ์ผ๋ฐ˜์ ์ธ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฒ„์ „(๋ฌด๋ฃŒ)์„ ๊น”์•˜์„ ๋•Œ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” VB.net์˜ ๋ฌธ๋ฒ•์ด ์™„์ „ํžˆ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ.(...) ์ด ๋•Œ๋ฌธ์— VB 6.0์˜ ์ˆ˜์š”๋Š” ์˜คํ”ผ์Šค๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ง€๊ธˆ๋„ ๊ทผ๊ทผ์ด ์ด์–ด์ ธ ์˜ค๊ณ  ์žˆ์œผ๋ฉฐ, VB.net์˜ ๋ฌธ๋ฒ•์ด VBA์— ๋น„ํ•ด ๋ณต์žกํ•œ ๊ฒƒ์ด ์‚ฌ์‹ค์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งˆ์†Œ ์˜คํ”ผ์Šค ์ธก๋„ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ๋ฐ”๊พธ๋ ค๊ณ  ํ•ด๋„ ์ง€๊ธˆ๊นŒ์ง€์˜ ์—‘์…€ ํŒฌ๋“ค์„ ๋‹ค ๋‚ ๋ ค๋ฒ„๋ฆฌ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๊ณจ์น˜์•„ํ”Œ ๊ฒƒ์ด๋‹ค. ์‹ฌ์ง€์–ด ์ตœ๊ทผ ์˜คํ”ผ์Šค์—๋Š” VBA๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜์—ฌ 64๋น„ํŠธ ์–ธ์–ด๋กœ๊นŒ์ง€ ๋งŒ๋“ค๋ฉด์„œ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์žˆ๋‹ค.

์—ฌ๋‹ด์œผ๋กœ ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ ์ค‘ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ๊ฐ€ ์กด์žฌํ•˜๋Š” SW๋‹ค. ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ ์ž…๋ ฅ๋ž€์„ 1๋กœ ์ฑ„์šด๋‹ค๋ฉด... ๊ทธ๋ ‡๋‹ค๊ณ  ํšŒ์‚ฌ PC ๋“ฑ์—์„œ ์ด๊ฒƒ์„ ์‹œ๋„ํ•˜์ง€๋Š” ๋ง ๊ฒƒ์„ ๊ถŒํ•œ๋‹ค. ํ˜„ ์‹œ์ ์—์„œ๋Š” ๋” ์ด์ƒ ๊ตฌ๋งคํ•  ์ˆ˜ ์—†๋Š” ์–ด๋ฐด๋˜์›จ์–ด ์ทจ๊ธ‰์ด์ง€๋งŒ ์ž˜๋ชปํ•˜๋ฉด SW ๋‹จ์† ํฌ๋ฆฌ๋ฅผ ๋จน์„ ์ˆ˜ ์žˆ๋‹ค.

4.3. Visual Studio.Net (2002) (7.0)[ํŽธ์ง‘]



์•„์˜ˆ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ๋‹ท๋„ท์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋‚˜์˜จ ๊ฒƒ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด, .NET ํ”„๋ ˆ์ž„์›Œํฌ 1.0์„ ๋ผ๊ณ  ๋‚˜์˜จ ์ œํ’ˆ. 2000๋…„ 7์›”์— ์ฒ˜์Œ ์†Œ๊ฐœ๋œ C#์˜ ๋ฐ๋ท”์ž‘์ด๊ธฐ๋„ ํ•˜๋‹ค. ์ด ๋ฒ„์ „๋ถ€ํ„ฐ Visual Basic์ด ์‚ฌ๋ผ์ง€๊ณ , Visual Basic .NET์ด ๋“ฑ์žฅํ–ˆ๋‹ค.

๋˜ํ•œ ์ด ๋ฒ„์ „๋ถ€ํ„ฐ ์‹คํ–‰ ํŒŒ์ผ(*.exe)๊ณผ DLL ํŒŒ์ผ์˜ ๋ฆฌ์†Œ์Šค ํŽธ์ง‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํŒŒ์ผ โ†’ ์—ด๊ธฐ โ†’ ํŒŒ์ผ์—์„œ ์‹คํ–‰ ํŒŒ์ผ ๋˜๋Š” DLL ํŒŒ์ผ์„ ์—ด๋ฉด ๋˜๋ฉฐ, RCData ๊ฐ™์€ ํŠน์ • ์–ธ์–ด ํ˜•์‹์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋Š” ํŽธ์ง‘์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.(๋ฐ”์ด๋„ˆ๋ฆฌ ์—๋””ํ„ฐ๊ฐ€ ์—ด๋ฆฐ๋‹ค.)

4.4. Visual Studio.Net 2003 (7.1)[ํŽธ์ง‘]



2002์˜ ์—…๊ทธ๋ ˆ์ด๋“œ ํŒ์œผ๋กœ .NET ํ”„๋ ˆ์ž„์›Œํฌ 1.1์„ ์ง€์›ํ•œ๋‹ค.

Windows 95, NT 4.0์„ ์ง€์›ํ•˜๋Š” ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์ด๋‹ค.

4.5. Visual Studio 2005 (8.0)[ํŽธ์ง‘]



2005๋…„ 11์›”์— ์ถœ์‹œ๋œ ๋ฒ„์ „์œผ๋กœ ๋“œ๋””์–ด ์จ๋ณผ๋งŒํ•œ ๋‹ท๋„ท ๋“ฑ์žฅ .NET ํ”„๋ ˆ์ž„์›Œํฌ 2.0 ๋ฐ 64๋น„ํŠธ ์šด์˜์ฒด์ œ๋ฅผ ์ง€์›ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์— ๋น„ํ•ด ํ‘œ์ค€ C/C++ ๊ทœ๊ฒฉ ์ ์šฉ ๊ฐ•ํ™”. ์ด ๋ฒ„์ „๋ถ€ํ„ฐ ์ดˆ๋ณด/๋น„์ „๋ฌธ ๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•œ ๋ฌด๋ฃŒ ๋ฐฐํฌ ๋ฒ„์ „์ธ Express ์ œํ’ˆ๊ตฐ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. MSN(์œˆ๋„์šฐ ๋ผ์ด๋ธŒ) ๊ณ„์ •๋งŒ ์žˆ๋‹ค๋ฉด ๊ฐ„๋‹จํ•œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•œ ํ›„ ๋ฌด๋ฃŒ๋กœ ๋“ฑ๋กํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Windows 98, 98 SE, Me๋ฅผ ์ง€์›ํ•˜๋Š” ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์ด๋‹ค.

4.6. Visual Studio 2008 (9.0)[ํŽธ์ง‘]



2007๋…„ 11์›”์— ๋ฐœํ‘œ๋œ ๋ฒ„์ „์œผ๋กœ Windows Vista๋ฅผ ์ •์‹์œผ๋กœ ์ง€์›ํ•˜๊ณ  2014๋…„๊นŒ์ง€ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„์ „ ์ค‘ ํ•˜๋‚˜์˜€๋‹ค. ๋‹ท๋„ท ํ”„๋ ˆ์ž„์›Œํฌ 2.0~3.5๊นŒ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŒ€ ์ž‘์—…์„ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด ๊ฐ•ํ™”๋˜์—ˆ๋‹ค.

C/C++ Runtime DLL์ธ MSVCR90.DLL, MSVCP90.DLL์— Side by Side ๊ธฐ์ˆ ์ด ๋„์ž…๋˜์—ˆ๋‹ค. ๋•๋ถ„์— ๋ณด์•ˆ์ด ๋งค์šฐ ํ–ฅ์ƒ๋˜์—ˆ์ง€๋งŒ, ์ด์ „์ฒ˜๋Ÿผ ๊ฐœ๋ฐœํ•œ EXE ํŒŒ์ผ์— DLL๋งŒ ํ•จ๊ป˜ ๋ณต์‚ฌํ•˜๋ฉด ์‹คํ–‰์ด ๋˜์ง€ ์•Š๋Š”๋‹ค. VC++ Runtime ํŒจํ‚ค์ง€๋ฅผ ๋”ฐ๋กœ ์„ค์น˜ํ•ด ์ฃผ๊ฑฐ๋‚˜, ๊ฐœ๋ฐœํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ค์น˜๋ณธ(msi)๋ฅผ ๋งŒ๋“ค ๋•Œ ๋ณ‘ํ•ฉ ๋ชจ๋“ˆ๋กœ ์ถ”๊ฐ€์‹œ์ผœ ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์›ƒ๊ธด ๊ฒƒ์€ VS 2008์— ๊ธฐ๋ณธ์œผ๋กœ ํฌํ•จ๋œ ์„ค์น˜ ํ”„๋กœ์ ํŠธ ์„ค์ •์—์„œ๋Š” ๋ณ‘ํ•ฉ ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†๋‹ค(...) ๋Œ€์‹  MS์—์„œ ๊ณต์‹์œผ๋กœ ๋ฐ€์–ด์ฃผ๋Š” WiX(Windows Installer XML)๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด๋„๋ก ํ•˜์ž.

2008๋…„์— ์ถœ์‹œ๋œ ์„œ๋น„์ŠคํŒฉ 1๋ถ€ํ„ฐ 2007๋…„์— ์ œ์ •๋œ C++์˜ ํ™•์žฅ ํ‘œ์ค€์ธ C++ TR1์ด ์ ์šฉ๋˜์—ˆ๊ณ , Office 2007 ํ˜•์‹์˜ UI๋ฅผ MFC๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‹จ, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ์ง์ ‘ ๊ฐœ๋ฐœํ•œ ๊ฒŒ ์•„๋‹ˆ๋ผ ์™ธ๋ถ€ ์—…์ฒด์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ ์˜จ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ˆˆ์ฐ๋ฏธ๊ฐ€ ์ข‹์€ ์‚ฌ๋žŒ์ด ๋ณผ ๊ฒฝ์šฐ '์˜คํ”ผ์Šค๋ž‘์€ ๋ญ”๊ฐ€ ์ข€ ๋‹ค๋ฅธ๋ฐ?' ๋ผ๋Š” ๋А๋‚Œ์ด ๋“ค ์ •๋„๋กœ ์•ฝ๊ฐ„ ์—‰์„ฑํ•˜๋‹ค.

์ด ๋ฒ„์ „์˜ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๊นŒ์ง€๋งŒ Windows Mobile 6.5 ์ดํ•˜ ๋ฒ„์ „์˜ ์šด์˜์ฒด์ œ๋ฅผ ํƒ‘์žฌํ•˜๋Š” PDA์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

Express ์—๋””์…˜์—์„œ๋Š” ์ด ๋ฒ„์ „๋ถ€ํ„ฐ C++์—์„œ Win32 ๋„ค์ดํ‹ฐ๋ธŒ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

Windows 2000์„ ์ง€์›ํ•˜๋Š” ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์ด๋‹ค.

4.7. Visual Studio 2010 (10.0)[ํŽธ์ง‘]



2010๋…„ 4์›”์— ์ถœ์‹œ๋œ ๋ฒ„์ „์œผ๋กœ Windows 7์„ ์ •์‹์œผ๋กœ ์ง€์›ํ•˜๋ฉฐ, .NET ํ”„๋ ˆ์ž„์›Œํฌ 2.0~4.0๊นŒ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋จผ์ € UI๊ฐ€ WPF(Windows Presentation Foundation)๋กœ ๋งŒ๋“ค์–ด์ ธ ์žˆ์–ด ๋Œ€๋‹จํžˆ ์œ ์—ฐํ•ด์กŒ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์†Œ์Šค ํŽธ์ง‘๊ธฐ์—์„œ ๊ธ€์ž ํฌ๊ธฐ๋ฅผ ๋ฐ”๊พธ๋ ค๋ฉด ๊ธฐ์กด ๋ฒ„์ „์—์„œ๋Š” ๋ฉ”๋‰ด์— ๋“ค์–ด๊ฐ€ ํฐํŠธ ์กฐ์ •์„ ํ•ด์•ผ ํ–ˆ์ง€๋งŒ, ์ง€๊ธˆ์€ ๋งˆ์šฐ์Šค ํœ ๋กœ๋„ ํฌ๊ธฐ ์กฐ์ •์ด ๊ฐ€๋Šฅ. ํ•˜์ง€๋งŒ ๋•๋ถ„์— ๋žจ์„ ๋งŽ์ด ์žก์•„๋จน์œผ๋ฉฐ, ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๊ฐ€ ๊ตฌ๋ฆฌ๋ฉด ํŽธ์ง‘๊ธฐ๊ฐ€ ๋А๋ ค์ง€๋Š” ํฌํ•œํ•œ ๋ชจ์Šต์„ ๋ณด์—ฌ ์ฃผ๊ธฐ๋„ ํ•œ๋‹ค. WPF ์š”๊ตฌ ์‚ฌํ•ญ์— DirectX 9.0 ๊ฐ€์†๊ธฐ๋Šฅ์ด ์žˆ๋‹ค. UI ์ž์ฒด๊ฐ€ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๋กœ ๊ฐ€์†๋˜์–ด ๋™์ž‘ํ•˜๊ธฐ์— ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๊ฐ€ ๋А๋ฆฌ๊ฑฐ๋‚˜ ์•ˆ ์ข‹์œผ๋ฉด ์ด ๊ฐ€์† ๊ธฐ๋Šฅ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ ์ „์ฒด ํŽธ์ง‘๊ธฐ๊ฐ€ ๋А๋ ค์ง€๋Š” ๊ฒƒ. ๋ณธ๊ฒฉ WPF๋กœ ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ WPF ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ

๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด ๋ฒ„์ „์— ๋น„ํ•ด Visual C++(์™€ MFC) ์ง€์›์ด ๊ฐ•ํ™”๋˜์—ˆ๋‹ค. ํŠนํžˆ ์ธํ…”๋ฆฌ์„ผ์Šค๊ฐ€ ํฌ๊ฒŒ ๊ฐ•ํ™”๋˜์–ด ๊ฑฐ์˜ C# ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๋”ฐ๋ผ์žก๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ncb ํŒŒ์ผ์„ ๋ฒ„๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ๋ณ„๋กœ ๋ณ„๋„์˜ DB๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋•๋ถ„์— ๋””์Šคํฌ ์šฉ๋Ÿ‰์„ ๋ฌด์„ญ๊ฒŒ ์žก์•„๋จน๋Š”๋‹ค. ์กฐ๊ทธ๋งŒ ๊ฑฐ ๋งŒ๋“ค์–ด๋„ ์ˆ˜์‹ญ๋ฉ”๊ฐ€๋Š” ๊ธฐ๋ณธ์ด๊ณ  ์–ด์ง€๊ฐ„ํ•œ ๊ฑฐ ๋งŒ๋“ค๊ณ  ์žˆ์ž๋ฉด ์ž„์‹œ ํŒŒ์ผ๋งŒ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋จน๊ณ  ์žˆ๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๋Œ๋ ค ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ ์ค€๋‹ค๋Š” ํ‰์ด ๋‚˜์˜ฌ ์ •๋„์˜ ์ˆ˜์ค€. ๋˜ํ•œ ๋‹ค์ด์–ผ๋กœ๊ทธ ํŽธ์ง‘๊ธฐ๊ฐ€ ๊ฐ•ํ™”๋˜์–ด ๋ฆฌ๋ณธ ๋ฉ”๋‰ด๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋””์ž์ธ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

devenv.exe(์ฃผ ์‹คํ–‰ํŒŒ์ผ)๊ฐ€ ์ด์ „ ๋ฒ„์ „๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ทน์ ์œผ๋กœ ๋Š˜์–ด๋‚˜๋Š” ๋ฌธ์ œ๋‚˜ ํ™• ๋А๋ ค์ง„ ์†๋„ ๋•Œ๋ฌธ์— ๋ถˆ๋งŒ์„ ๋งŽ์ด ์‚ฌ๊ณ  ์žˆ๋‹ค.

SxS Assembly ๊ธฐ์ˆ ์€ ๋‹ค์‹œ ์‚ฌ๋ผ์กŒ๋‹ค. VS2010์œผ๋กœ ๊ฐœ๋ฐœํ•œ ํ”„๋กœ๊ทธ๋žจ์€ MSVCR100.DLL๊ณผ MSVCP100.DLL๋งŒ ํ•จ๊ป˜ ๋„ฃ์–ด์ฃผ๋ฉด ์ž˜ ๋Œ์•„๊ฐ„๋‹ค. SxS์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด๋Š” ๊ฐœ๋ฐœ์ž๋“ค์˜ ์›์„ฑ์ด ์–ด์ง€๊ฐ„ํžˆ ๋งŽ์•˜๋‚˜ ๋ณด๋‹ค(...)

Express 2010 ํ•œ๊ตญ์–ด ๋ฐฐํฌํŒ

Windows XP, Vista๋ฅผ ์ง€์›ํ•˜๋Š” ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์ด๋‹ค. ์ดํ›„ ๋ฒ„์ „์€ ์„ค์น˜ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

2020๋…„ 8์›” ๊ธฐ์ค€ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ํ™ˆํŽ˜์ด์ง€์˜ "์ด์ „ ๋ฒ„์ „์˜ Visual Studio ๋‹ค์šด๋กœ๋“œ" ํ•ญ๋ชฉ์—์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ๋ฒ„์ „์ด๋‹ค. ํ•œ๊ตญ์–ด๋„ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฉฐ Express, ํ”„๋กœ ์ฒดํ—˜ํŒ ๋ชจ๋‘ ์˜ฌ๋ผ์™€์žˆ๋‹ค.

4.8. Visual Studio 2012 (11.0)[ํŽธ์ง‘]



2012๋…„ 8์›”์— ์ถœ์‹œ๋œ ๋ฒ„์ „์œผ๋กœ, ๊ธฐ๋ณธ์ ์œผ๋กœ .NET ํ”„๋ ˆ์ž„์›Œํฌ 4.0~4.5๊นŒ์ง€ ์ง€์›ํ•˜์ง€๋งŒ 3.5๋ฅผ ์„ค์น˜ํ•˜๋ฉด 2.0๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

2010 ๋ฒ„์ „์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ฌธ์ œ๋‚˜ ์†๋„ ๋ฌธ์ œ๊ฐ€ ๋งŽ์ด ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค. ๋กœ๋”ฉ์ด๋‚˜ ์ปดํŒŒ์ผ ๋“ฑ ์ „๋ฐ˜์ ์ธ ๋ฉด์—์„œ ์ƒ๋‹นํžˆ ๋นจ๋ผ์กŒ๋‹ค. ์ถ”๊ฐ€๋กœ C#์— ๋ฐ€๋ ค ์ฒœ๋•๊พธ๋Ÿฌ๊ธฐ ์ทจ๊ธ‰์ด๋ƒ๋Š” ์†Œ๋ฆฌ๊นŒ์ง€ ๋“ฃ๋˜ C++ ์ง€์›์ด ๋”์šฑ ๊ฐ•ํ™”๋˜์—ˆ๋‹ค. 2010์—์„œ '์–ด์ง€๊ฐ„ํžˆ' C#์„ ๋”ฐ๋ผ์žก์•˜๋‹ค๋ฉด ์ด์ œ๋Š” ์‹ค์ œ๋กœ C#๊ณผ ๊ฐ™์ด ์‹ค์‹œ๊ฐ„ ์ปดํŒŒ์ผ์„ ํ†ตํ•œ ์ธํ…”๋ฆฌ์„ผ์Šค๋ฅผ ์ง€์›ํ•œ๋‹ค. C#์˜ ์ธํ…”๋ฆฌ์„ผ์Šค๋Š” ํ›จ์”ฌ ์ด์ „์— ๊ฑฐ์˜ ์™„๋ฒฝํ•œ ์ˆ˜์ค€์œผ๋กœ ์™„์„ฑ๋˜์–ด ์žˆ์—ˆ๋‹ค. ์–ด๋А ์ •๋„๋ƒ๋ฉด C#์œผ๋กœ ์œˆ๋„์šฐ ์•ฑ์„ ๋งŒ๋“ค ๋•Œ ์ฝ”๋“œ ์ƒ์—์„œ ์ธํ„ฐ๋„ท ๊ธฐ์‚ฌ ๋ชฉ๋ก์„ ์ฝ์–ด์™€ ํ™”๋ฉด์— ๋ฆฌ์ŠคํŠธ๋กœ ์ถœ๋ ฅํ•˜๊ฒŒ ์ฝ”๋”ฉ๋งŒ ํ•ด๋‘์—ˆ๋Š”๋ฐ ์ž ์‹œ ํ›„์— UI ๋””์ž์ธ ์ฐฝ์— ํŒŒ์‹ฑ๋œ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋˜์–ด ์žˆ์—ˆ๋‹ค. ๋˜ํ•œ DirectX๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” GPU๋ฅผ ์ง์ ‘ ์ง€์›ํ•œ๋‹ค.

UI๊ฐ€ ๋ฉ”ํŠธ๋กœ UI๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๊ณ , ๋ฉ”ํŠธ๋กœ UI ์•ฑ์„ ๊ฐœ๋ฐœ(Windows 8, Windows Phone)ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋˜ํ•œ ์†”๋ฃจ์…˜ ๋ฐ ํ”„๋กœ์ ํŠธ์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ์•„์ด์ฝ˜์ด ์ „์ฒด์ ์ธ UI์— ๋”ฐ๋ผ ํ•จ๊ป˜ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”๋ฐ, ๋…ธ๋ž€์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋˜์—ˆ๋˜ ํด๋” ์•„์ด์ฝ˜์ด ํŒŒ์ผ๊ณผ ๊ฐ™์€ ํฐ์ƒ‰ ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ๋˜์–ด์„œ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์กŒ๋‹ค. Windows XP ๋ฐ Windows Vista์— ์„ค์น˜๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค. (Windows 7๋ถ€ํ„ฐ ์„ค์น˜ ๊ฐ€๋Šฅ) Express ์ œํ’ˆ๊ตฐ์€ ์ด ๋ฒ„์ „๋ถ€ํ„ฐ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ(IDE)์ด ๋„์ž…๋˜์—ˆ๋‹ค. ๊ทธ ์ „๊นŒ์ง€์˜ Express ์ œํ’ˆ๊ตฐ์€ VS 6.0์ฒ˜๋Ÿผ ๊ฐ๊ฐ ๊ฐœ๋ณ„ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์—ˆ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2012 ํ™˜๊ฒฝ์—์„œ C++๋ฅผ ์ปดํŒŒ์ผํ•  ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” Windows XP์™€ Server 2003[5]์—์„œ ๊ตฌ๋™์ด ๋˜์งˆ ์•Š๋Š”๋‹ค!''''''[6] ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์ธก์—์„œ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ์•Š๊ฒ ๋‹ค๊ณ  ๋ฒ„ํŒ…๊ธฐ๋‹ค ํ˜„์žฌ๊นŒ์ง€ ํ˜„์—ญ์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” XP์™€ Server 2003์ด ์›Œ๋‚™ ๋งŽ์€ ํƒ“์— ๊ฒฐ๊ตญ ๊ผฌ๋ฆฌ๋ฅผ ๋‚ด๋ฆฌ๊ณ  Update 1์— Windows XP ์ปดํŒŒ์ผ ํ™˜๊ฒฝ์„ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒŒ ์™„๋ฒฝํ•œ ๋ฌผ๊ฑด์ด ์•„๋‹Œํƒ“์— ์ด๋ฅผ ํ†ตํ•ด ์ปดํŒŒ์ผ์„ ์ง„ํ–‰ํ•˜์˜€๋Š”๋ฐ๋„ Windows XP์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ํ˜„์ƒ๋„ ์ข…์ข… ๋ฐœ๊ฒฌ๋˜๋Š” ๋“ฏ ํ•˜๋‹ค. (์ด๋Š” .NET Framework๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” C#์—๋Š” ํ•ด๋‹น๋˜์ง€ ์•Š๋Š” ์ด์•ผ๊ธฐ๋‹ค. ์–ด์ฐจํ”ผ ํ”„๋กœ๊ทธ๋žจ์ด .NET Framework 4 ๋ฒ„์ „์„ ์ง€์›ํ•œ๋‹ค๋ฉด .NET Framework 4๋ฅผ ์„ค์น˜ํ•ด์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.)

๋งŒ์•ฝ ๋‹ท๋„ท ํ™˜๊ฒฝ์œผ๋กœ์˜ ์ „ํ™˜์ด ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์ ํŠธ๋ผ๋ฉด Managed C++(C++/CLI)์˜ ํ™œ์šฉ์„ ๊ฒ€ํ† ํ•ด๋ณผ ์ˆ˜๋„ ์žˆ๋‹ค. ์†์€ ์ข€ ๊ฐ€์ง€๋งŒ ํ†ต์งธ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ๋‚ซ๊ณ , ์ƒˆ๋กœ ์ถ”๊ฐ€๋˜๋Š” ๊ธฐ๋Šฅ์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ท๋„ท์œผ๋กœ ๊ฐœ๋ฐœํ•ด์„œ ์—ฐ๋™ํ•ด๋„ ๋˜๋Š” ๋“ฑ์˜ ์žฅ์ ์ด ์žˆ๋‹ค.

4.9. Visual Studio 2013 (12.0)[ํŽธ์ง‘]

2013๋…„ 10์›” Windows 8.1๊ณผ ํ•จ๊ป˜ ์ถœ์‹œ๋œ ๋ฒ„์ „์œผ๋กœ, ์œˆ๋„์šฐ์˜ ๋ฐœํ‘œ ์ฃผ๊ธฐ๊ฐ€ ์งง์•„์ง€๋ฉด์„œ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋„ ๊ฑฐ๊ธฐ์— ๋งž์ถฐ ์•ฝ 1๋…„ ๋งŒ์— ํ›„์† ๋ฒ„์ „์ธ 2013 ๋ฒ„์ „์ด ๋“ฑ์žฅํ•˜์˜€๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์—ญ์‹œ๋‚˜ ์‹œ๊ฐ„์ด ๋ชจ์ž๋ž๋Š”์ง€ ๋ง๋งŒ ํ›„์† ๋ฒ„์ „์ผ ๋ฟ .NET ํ”„๋ ˆ์ž„์›Œํฌ 4.5์—์„œ 4.5.1๋กœ ๋งˆ์ด๋„ˆ ์—…๋ฐ์ดํŠธ(๋ฒ„์ „ ๋„˜๋ฒ„์•ผ ์ˆซ์ž์ผ ๋ฟ์ด๊ธด ํ•˜์ง€๋งŒ, ๊ทธ๋ž˜๋„ ๊ธฐ์กด ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋Š” ๋ณดํ†ต 1.0 ํ˜น์€ 0.5 ๋‹จ์œ„์”ฉ ๋ฒ„์ „์—…์„ ํ•ด์„œ ๋‚˜์™”๋‹ค.),[7] C++11๋„ GCC๋Š” ๊ฑฐ์˜ ๋‹ค ์ง€์›์ด ๋˜์–ด๊ฐ€๋Š” ์ƒํƒœ๊ณ , ๋ฌด์„œ์šด ์‹ ์ธ์ธ Clang์€ C++11๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ง€๋‚œ 11์›” 6์ผ C++11์˜ ๋งˆ์ด๋„ˆ ์—…๋ฐ์ดํŠธ ๋ฒ„์ „์ธ C++14์˜ ๊ธฐ๋Šฅ๋“ค๊นŒ์ง€ ๋ชจ๋‘ ์ง€์›ํ•œ๋‹ค๊ณ  ๋ฐœํ‘œ๊ฐ€ ๋‚œ ๋ฐ˜๋ฉด, VC++ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋งˆ์ด๋„ˆ ์—…๋ฐ์ดํŠธ์— ๊ทธ์ณ C++11 ์ง€์›์— ์ง€์ง€๋ถ€์ง„ํ•œ ์ƒํ™ฉ์ด๋‹ค. C# ์—ญ์‹œ ์ƒํ™ฉ์€ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š์•„์„œ, Roslyn ์—…๋ฐ์ดํŠธ๊ฐ€ ๋’ค๋กœ ๋ฏธ๋ค„์ ธ์„œ ๋ณ€ํ•œ ๊ฑด ๊ฑฐ์˜ ์—†๋‹ค. C๋Š” ์• ์ดˆ์— MS์—์„œ ๋ฒ„๋ฆฐ ์–ธ์–ด๋ผ ๋ณ„ ๋ณ€ํ™”๊ฐ€ ์—†๊ธด ํ•˜์ง€๋งŒ, C++11์„ ์ง€์›ํ•˜๋Š” ์™€์ค‘์— ๊ทธ์— ํ•„์ˆ˜์ ์ธ C99 ๊ธฐ๋Šฅ ๋ช‡๊ฐœ๊ฐ€ ๋ฌป์–ด๊ฐ€๋Š” ์‹์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ๋‹ค.(...) ๋•๋ถ„์— ์ด๊ฒŒ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2012 ๋งˆ์ด๋„ˆ ์—…๋ฐ์ดํŠธ ๋ฒ„์ „์ด์ง€ ๋ฌด์Šจ 2013์ด๋ƒ๋ฉฐ ์‹ ๋‚˜๊ฒŒ ๊นŒ์ด๊ณ  ์žˆ๋‹ค. ์‚ฌ์‹ค ์—…๋ฐ์ดํŠธ๊ฐ€ ๋งŽ์ด ์ด๋ฃจ์–ด์ง„ ๋ถ€๋ถ„์ด ์žˆ๋Š”๋ฐ 2012๊นŒ์ง€๋„ ๋ณ‘๋ง›์˜ ๊ธฐ์šด์ด ๋„˜์น˜๋˜ F# ํˆด์€ ์ด๋ฒˆ 2013์—์„œ ์ƒ๋‹นํžˆ ๋ณด๊ฐ•๋˜์—ˆ๋‹ค. ๋ฌธ์ œ๋Š” F# ์‚ฌ์šฉ์ž๊ฐ€ ๋„ˆ๋ฌด๋‚˜ ์ ๋‹ค ๋ณด๋‹ˆ ๊ทธ๊ฑธ ๋А๋‚„ ์‚ฌ๋žŒ๋„ ๋ณ„๋กœ ์—†๋‹ค๋Š” ๊ฑฐ(...) ๋‹คํ–‰ํžˆ 2013 ๋ฒ„์ „๋ถ€ํ„ฐ๋Š” ๊ธฐ๋ณธ ํด๋” ์•„์ด์ฝ˜์ด ์˜ˆ์ „์ฒ˜๋Ÿผ ๋…ธ๋ž€์ƒ‰์œผ๋กœ ๋‹ค์‹œ ์ ์šฉ๋˜์—ˆ์œผ๋ฉฐ, ํ˜„์žฌ ์ตœ์‹  ๋ฒ„์ „๊นŒ์ง€ ๊ณ„์† ์ ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

์ด ๋ฒ„์ „๋„ Windows Vista์— ์„ค์น˜ํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๊ฒƒ๋„ ๋ชจ์ž๋ผ Windows 7๋„ ์„œ๋น„์Šค ํŒฉ 1์ด ์„ ํ–‰ ์„ค์น˜๋œ ์ƒํƒœ์—ฌ์•ผ๋งŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. 2013๋…„ 4์›” 9์ผ์— Windows 7์˜ ์˜ค๋ฆฌ์ง€๋„ ๋นŒ๋“œ ๋ฒ„์ „์˜ ์ง€์›์ด ์ด๋ฏธ ์ข…๋ฃŒ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ. ๋‹คํ–‰ํžˆ 2012 ์—…๋ฐ์ดํŠธ 1์—์„œ ๊ธ‰ํ•˜๊ฒŒ ์ง€์›ํ•ด์คฌ๋˜ Windows XP ํƒ€๊ฒŸ ํ”Œ๋žซํผ์ด 2013์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•˜์—ฌ ํƒ€๊ฒŸ ํ”Œ๋žซํผ์€ ์—ฌ์ „ํžˆ Windows XP๋ถ€ํ„ฐ ๊ฐ€๋Šฅํ•˜๋‹ค.

2014๋…„ 11์›” ๊ทธ๋ ‡๊ฒŒ ๋Œ€์ฐจ๊ฒŒ ๊นŒ์ด๋˜ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2013์— ๊ฐ‘์ž‘์Šค๋Ÿฐ ๋ณ€ํ™”๊ฐ€ ๋ถˆ์—ˆ๋Š”๋ฐ, ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2013๋ถ€ํ„ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜์€ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค Professional ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๋‹ด์œผ๋ฉด์„œ, ๊ฐœ์ธ ๊ฐœ๋ฐœ์ž, ํ•™์ƒ, 5์ธ ์ดํ•˜ ์†Œ๊ทœ๋ชจ ์Šคํƒ€ํŠธ์—… ๊ธฐ์—…์—๊ฒŒ ๋ฌด๋ฃŒ๋กœ ๋ฐฐํฌํ•˜๊ณ  ์žˆ๋‹ค. (์ œํ’ˆ์†Œ๊ฐœ ๋ฐ ๋‹ค์šด๋กœ๋“œ) ์•„๋ž˜ Visual Studio Community ํ•ญ๋ชฉ ์ฐธ์กฐ.

Windows 10์—์„œ๋Š” ํ˜ธํ™˜์„ฑ ๋ชจ๋“œ๊ฐ€ ์„ค์ •๋˜์—ˆ๋‹ค๋ฉฐ ์„ค์น˜๋˜์ง€ ์•Š๋Š”๋‹ค. ๋‹คํ–‰ํžˆ ์—…๋ฐ์ดํŠธ 4 ๋˜๋Š” 5๊ฐ€ ์ ์šฉ๋œ ๋ฒ„์ „์€ ์„ค์น˜ ๊ฐ€๋Šฅํ•˜๋‹ค.

4.10. Visual Studio 2015 (14.0)[ํŽธ์ง‘]

2015๋…„ 7์›” 20์ผ ํŒŒ์ด๋„ ๋ฆด๋ฆฌ์ฆˆ ์ด๋ฒคํŠธ์—์„œ ์ •์‹ ๋ฐœํ‘œ๋œ ๋ฒ„์ „.[8] Windows 10์„ ๊ธฐ๋ณธ ์ง€์›ํ•˜๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ .NET ํ”„๋ ˆ์ž„์›Œํฌ 5.0์ด ์•„๋‹Œ 4.6๊นŒ์ง€ ์ง€์›. ์—…๋ฐ์ดํŠธ์‹œ ๋งˆ์ด๋„ˆ ์—…๋ฐ์ดํŠธ๋œ ๋ฒ„์ „๊นŒ์ง€ ์ง€์›ํ•œ๋‹ค. ์ด์ „ ๋ฒ„์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 3.5๋ฅผ ์„ค์น˜ํ•˜๋ฉด 2.0๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

Visual Studio "14" CTP๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๊ณต๊ฐœ๋˜๊ณ  ์žˆ๋˜ ๋ฒ„์ „์ด Visual Studio 2015๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๊ณต์‹ ๋ฐœํ‘œ๋˜์—ˆ๋‹ค. ํ”„๋ฆฌ๋ทฐ ๋ฒ„์ „์—์„œ ์ฃผ๋ชฉํ•  ๋งŒํ•œ ์ ์€ C++11 ๊ณผ C++14์˜ ์ง€์›์ด ๋Œ€ํญ ๋Š˜์–ด๋‚œ ์ (C++11/C++14/C++17 Features in VS 2015 Preview)๊ณผ Clang ์ปดํŒŒ์ผ๋Ÿฌ์˜ ์ง€์›(!!!) ๋ฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋ฐ”์ผ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ์ง€์›์ด๋‹ค. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์— ๋”ธ๋ฆฐ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” ์œˆ๋„์šฐ์˜ Hyper-V๋ฅผ ์ด์šฉํ•ด์„œ ๊ตฌ๊ธ€์˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ณด๋‹ค ๋” ๋น ๋ฅด๋‹ค.

ํ–ฅ์ƒ๋œ ๋‹ท๋„ท ๋ฉ”๋ชจ๋ฆฌ ๋””๋ฒ„๊น…๋„ ์ข‹์€ ํ‰๊ฐ€๋ฅผ ๋ฐ›๊ณ  ์žˆ์œผ๋ฉฐ, ์ด ๊ธฐ๋Šฅ์€ ๊ตฌ๋ฒ„์ „ ๋‹ท๋„ท์œผ๋กœ ์ž‘์—…ํ•œ ํ”„๋กœ์„ธ์Šค๋‚˜ ๋คํ”„์—๋„ ํฐ ๋ฌธ์ œ ์—†์ด ๋™์ž‘ํ•œ๋‹ค.

์ฃผ์š” ์ œํ’ˆ๊ตฐ์œผ๋กœ ๋ฌด๋ฃŒ ๋ฒ„์ „์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฒ„์ „๊ณผ ์ƒ์šฉ ๋ชฉ์ ์˜ ํ”„๋กœํŽ˜์…”๋„ ๋ฒ„์ „, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์„ ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ž์„ธํ•œ ๋ฒ„์ „๋ณ„ ์ฐจ์ด์ ์€ ์—ฌ๊ธฐ ์ฐธ์กฐ: #

ํŠน๊ธฐํ•  ์‚ฌํ•ญ์€ Visual Studio 2010 ์‹œ๋ฆฌ์ฆˆ๋ถ€ํ„ฐ ์กด์žฌํ–ˆ๋˜ ์–ผํ‹ฐ๋ฐ‹ ์ œํ’ˆ๊ตฐ๊ณผ ํ”„๋ฆฌ๋ฏธ์—„ ์ œํ’ˆ๊ตฐ์ด ์‚ฌ๋ผ์กŒ๋‹ค๋Š” ๊ฑด๋ฐ(ํ•˜์ง€๋งŒ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๋Š” ์‚ด์•„์žˆ๋‹ค), ๊ทธ๋ ‡๋‹ค๊ธฐ ๋ณด๋‹ค๋Š” ์ œํ’ˆ๊ตฐ ๊ฐ„์˜ ๊ธฐ๋ŠฅํŽธ์ฐจ๋ฅผ ์กฐ์ •ํ•˜๊ธฐ์œ„ํ•ด ๋ชจ์ข…์˜ ๊ฐœํŽธ์ด ์ด๋ฃจ์–ด์ง„ ๋“ฏ. ๊ธฐ๋Šฅ๋น„๊ตํ‘œ๋ฅผ ์—ด๋žŒํ•ด ๋ณด๋ฉด ๊ธฐ์กด์˜ ํ”„๋กœํŽ˜์…”๋„ ์ œํ’ˆ๊ตฐ์€ ๊ณต๊ฐœ์šฉ์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ 2015 ์ œํ’ˆ๊ตฐ์— ๋Œ€์‘๋˜๊ณ , ๊ธฐ์กด ํ”„๋ฆฌ๋ฏธ์—„ ์ œํ’ˆ๊ตฐ์€ ํ”„๋กœํŽ˜์…”๋„ 2015, ๊ธฐ์กด ์–ผํ‹ฐ๋ฐ‹ ์ œํ’ˆ๊ตฐ์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ 2015์— ๊ฐ๊ฐ ๋Œ€์‘๋  ๋“ฏ ์‹ถ๋‹ค. ์–ผํ• ํ‘œ๋งŒ ๋ด์„œ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ”„๋กœํŽ˜์…”๋„์˜ ์ฐจ์ด๊ฐ€ ํฌ์ง€ ์•Š์€ ๋“ฏ ๋ณด์ด๋‚˜ ์‚ฌ์‹ค ์—„์—ฐํžˆ ๊ธฐ๋Šฅ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ์ƒ์‚ฐ์„ฑ ์ธก๋ฉด์—์„œ๋Š” ๊ทธ ์„ธ์„ธํ•œ ์ฐจ์ด๊ฐ€ ์–ด๋งˆ์–ด๋งˆํ•œ ๊ฒฐ๊ณผ๋ฌผ์˜ ๊ฒฉ์ฐจ๋ฅผ ๋งŒ๋“ ๋‹ค. ํ”„๋กœํŽ˜์…”๋„๊ณผ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์˜ ๊ธฐ๋Šฅ ์ฐจ์ด๋Š” ๊ธฐ์กด ํ”„๋ฆฌ๋ฏธ์—„๊ณผ ์–ผํ‹ฐ๋ฐ‹์˜ ์ฐจ์ด๋ณด๋‹ค ์ž‘์•„์กŒ๋Š”๋ฐ, ์ด๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ๋™์ผํ•œ ๊ฐ€์šด๋ฐ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ œํ’ˆ๊ตฐ์— ๋‹จ์ง€ ๋‹ค์ˆ˜๊ฐ€ ์ง„ํ–‰ํ•˜๋Š” ํฐ ๊ทœ๋ชจ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ํ…Œ์ŠคํŠธ ํˆด ๋ฐ ๋ช‡๋ช‡ ์ž์ž˜ํ•œ ์†”๋ฃจ์…˜ ์ •๋„๋งŒ ํƒ‘์žฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ.

4.11. Visual Studio 2017 (15.0)[ํŽธ์ง‘]



2017๋…„ 3์›” 7์ผ์— ์ •์‹ ๊ณต๊ฐœ๋œ ๋ฒ„์ „์œผ๋กœ, ๊ธฐ๋ณธ์ ์œผ๋กœ .NET ํ”„๋ ˆ์ž„์›Œํฌ 4.7๊นŒ์ง€ ์ง€์›. ์—…๋ฐ์ดํŠธ ์‹œ ๋งˆ์ด๋„ˆ ์—…๋ฐ์ดํŠธ๋œ ๋ฒ„์ „๊นŒ์ง€ ์ง€์›ํ•œ๋‹ค. ์ด ๋ฒ„์ „๋ถ€ํ„ฐ .NET ํ”„๋ ˆ์ž„์›Œํฌ 3.5 ๋ฏธ๋งŒ ๋ฒ„์ „์€ ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค.

2016๋…„ 3์›” 30์ผ Visual Studio "15" Preview ๋ฒ„์ „์„(๋ณ€๊ฒฝ์ ) ํ†ตํ•ด 2015 ํ›„์† ๋ฒ„์ „์˜ ์กด์žฌ๊ฐ€ ํ™•์ธ๋˜์—ˆ๊ณ , Connect 2016 ํ–‰์‚ฌ์—์„œ RC ๋ฒ„์ „์ด ๊ณต๊ฐœ๋˜๋ฉด์„œ ์ •์‹ ๋ช…์นญ์ด Visual Studio 2017๋กœ ํ™•์ •๋˜์—ˆ๋‹ค.

๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2012๋ถ€ํ„ฐ 2015๊นŒ์ง€ ์‚ฌ์šฉ๋œ ์„ค์น˜ํ•˜๋‹ค ์† ํ„ฐ์ง€๋Š” ์ธ์Šคํ†จ๋Ÿฌ๋ฅผ ๊ต์ฒดํ•˜์—ฌ, ์ƒˆ๋กœ์šด UI์™€ ๋น ๋ฅธ ์„ค์น˜์†๋„๋ฅผ ๊ฐ–๋Š” ์ƒˆ๋กœ์šด ์ธ์Šคํ†จ๋Ÿฌ๋ฅผ ์„ ๋ณด์˜€๋‹ค. 2017 ๋ฒ„์ „๋ถ€ํ„ฐ๋Š” ๊ณผ๊ฑฐ์˜ ์„œ๋น„์ŠคํŒฉ์ด๋‚˜ ์—…๋ฐ์ดํŠธ๋ผ๋Š” ๋ช…์นญ ์—†์ด 15.x ๊ฐ™์€ ์†Œ์ˆ˜ ์ฒซ์งธ์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ๊ทธ ์—ญํ• ์„ ๋Œ€์‹ ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ๋ฒ„๊ทธ ํ”ฝ์Šค ์ฐจ์›์˜ ์ž์ž˜ํ•œ ์—…๋ฐ์ดํŠธ๋Š” ์†Œ์ˆ˜ ๋‘˜์งธ์ž๋ฆฌ ์ดํ•˜์˜ ์ˆซ์ž๋กœ ๊ตฌ๋ถ„๋˜์ง€๋งŒ ๊ธฐ๋Šฅ์ ์ธ ๋ณ€๊ฒฝ์ ์€ ์—†๋‹ค.

Windows 10 Creators Update ๋ฒ„์ „์ผ ๊ฒฝ์šฐ Windows SDK 10.0.15063 ๋ฒ„์ „์ด ๊ธฐ๋ณธ์œผ๋กœ ํฌํ•จ๋˜๋ฉฐ, Anniversary Update ์ด์ „ ๋ฒ„์ „์ด๋ผ๋„ ๋ณ„๋„์˜ ๋‹ค์šด๋กœ๋“œ ์„ค์น˜๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ, ์ฒ˜์Œ์— ์„ค์น˜ํ•  ๋•Œ๋ถ€ํ„ฐ ์œ ๋‹ˆํ‹ฐ ์—”์ง„, ์–ธ๋ฆฌ์–ผ ์—”์ง„, Cocos2d-x, ๊ฒŒ์ž„๋ฉ”์ด์ปค ๋“ฑ์˜ ์œ ๋ช… ๊ฒŒ์ž„ ์—”์ง„๋“ค๊ณผ ํ•จ๊ป˜ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์ƒˆ๋กญ๋‹ค. ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์ด ๋Š˜์–ด๋‚˜๋‹ค ๋ณด๋‹ˆ ๋ชจ๋“  ํ•ญ๋ชฉ๋“ค์„ ๋‹ค ์„ค์น˜ํ•˜๋ฉด ๋ฌด๋ ค 80.47GB๋‚˜ ๋œ๋‹ค. ์ด ์ค‘ ๋Œ€๋ถ€๋ถ„์€ ์•ˆ๋“œ๋กœ์ด๋“œ SDK๋‹ค. ์‹ค์ œ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ SDK๋Š” ์šฉ๋Ÿ‰์„ ๋งŽ์ด ์žก์•„๋จน์œผ๋ฉฐ ๊ทธ๊ฑธ ๋‹ค ์„ค์น˜ํ•œ๋‹ค๋ฉด 100GB๊ฐ€ ๋„˜๋Š”๋‹ค.(...)

์ด ๋ฒ„์ „๋ถ€ํ„ฐ ํ’€์˜ต์…˜ ์„ค์น˜ ์šฉ๋Ÿ‰์ด ๊ธ‰์ƒ์Šน๋˜์—ˆ๊ณ  ์ธ์Šคํ†จ๋Ÿฌ์˜ ์„ค์น˜ ์†๋„๋„ ์–ด๋А ์ •๋„ ๊ฐœ์„ ๋˜์–ด์„œ ๊ทธ๋Ÿฐ๊ฑด์ง€ ์˜คํ”„๋ผ์ธ ์„ค์น˜๋ฅผ ์œ„ํ•œ iso ํŒŒ์ผ์ด ๋”ฐ๋กœ ์ œ๊ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹ ์— ์˜คํ”„๋ผ์ธ ์„ค์น˜๋ฅผ ์œ„ํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์ด ๊ณต๊ฐœ๋˜์—ˆ์œผ๋ฉฐ, ์˜คํ”„๋ผ์ธ์œผ๋กœ ์„ค์น˜ํ•˜๋ ค๋ฉด ์•„๋ž˜์˜ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค.
  • ์ ๋‹นํ•œ ๊ณณ์— ํด๋”๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค.
  • ๋‹ค์šด๋กœ๋“œ๋ฐ›์€ ์„ค์น˜ํŒŒ์ผ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰ํ•œ๋‹ค. : "vs_community.exe --layout ์„ค์น˜ํŒŒ์ผ ๋ฐ›์„ ๊ฒฝ๋กœ". ๊ทธ๋Ÿฌ๋ฉด ์ž ์‹œ ๊ธฐ๋‹ค๋ฆฌ๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์˜จ ํ›„ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋œจ๋ฉด์„œ ์‹ค์ œ ์„ค์น˜ํŒŒ์ผ์„ ๋ฐ›๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.[9]
  • ๋‹ค ๋ฐ›์•˜์œผ๋ฉด ๊ทธ๊ฑธ iso๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์˜คํ”„๋ผ์ธ ์„ค์น˜๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค.
    ๋„คํŠธ์›Œํฌ๊ฐ€ ์ „ํ˜€ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ์ธํŠธ๋ผ๋„ท ๋“ฑ์—์„œ ์„ค์น˜ํ•  ๊ฒฝ์šฐ์—๋Š” ์‹คํ–‰ํŒŒ์ผ ์„ค์น˜ ์ „์— certificates ํด๋”์˜ ์ธ์ฆ์„œ๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. Windows 7์˜ ๊ฒฝ์šฐ์—๋Š” ์ธ์ฆ์„œ ์…‹ ๋ชจ๋‘๋ฅผ, Windows 8.1 ์ด์ƒ์—์„  vs_installer_opc.SignCertificates.p12 ํŒŒ์ผ๋งŒ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค. #

์ด๊ณณ์—์„œ๋„ ์˜คํ”„๋ผ์ธ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•˜๊ณ  ์žˆ๋‹ค.

4.12. Visual Studio 2019 (16.0)[ํŽธ์ง‘]



2019๋…„ 4์›” 2์ผ ์ •์‹ ๋ฐœํ‘œ๋œ ๋ฒ„์ „์œผ๋กœ .NET ํ”„๋ ˆ์ž„์›Œํฌ 4.8๊นŒ์ง€ ์ง€์›.

2018๋…„ 6์›” 6์ผ์— ์ฒ˜์Œ ๋ฐœํ‘œ๋˜์—ˆ๋‹ค.
2018๋…„ 12์›” 6์ผ์— ํ”„๋ฆฌ๋ทฐ ๋ฒ„์ „์ด ์ถœ์‹œ๋˜์—ˆ๋‹ค. ํ•œ๊ธ€ ์ง€์›์€ ๋˜๋‚˜ ์ผ๋ถ€๋Š” ์˜์–ด๋กœ ๋ณด์ด๋Š” ํŽธ์ด๋‹ค.
2019๋…„ 4์›” 2์ผ ์ •์‹์œผ๋กœ ์ถœ์‹œ๋˜์—ˆ๋‹ค.

๊ฐ™์€ ๋ฒ„์ „ ๋‚ด์—์„œ๋„ ์ƒˆ๋กœ์šด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ๋“ค์ด ๋ˆ„์ ๋˜๋ฉด์„œ ๊ฒฐ๊ตญ ๊ณต์‹ ์š”๊ตฌ ์‚ฌ์–‘์ด ์˜ฌ๋ผ๊ฐ”๋‹ค. CPU ํด๋Ÿญ์€ 1.8 GHz ๊ทธ๋Œ€๋กœ์ง€๋งŒ ์ถ”์ฒœ ์‚ฌ์–‘์ด ๋“€์–ผ ์ฝ”์–ด CPU์—์„œ ์ฟผ๋“œ ์ฝ”์–ด CPU๋กœ ๋†’์•„์กŒ์œผ๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰๋„ ์ตœ์†Œ ์šฉ๋Ÿ‰์€ 2 GB ๊ทธ๋Œ€๋กœ์ธ ๋ฐ˜๋ฉด ๊ถŒ์žฅ ์šฉ๋Ÿ‰์ด 4 GB์—์„œ 8 GB๋กœ ๋†’์•„์กŒ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๋ชจ๋‚˜ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์— ๋‚ด์žฅ๋œ ์ˆ˜๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์„ ๊ฐ์•ˆํ•˜๋ฉด ์š”๊ตฌ ์‚ฌ์–‘ ์ƒํ–ฅ์€ ๋‹น์—ฐํ•œ ๊ฒƒ์ด๊ธด ํ•˜์ง€๋งŒ, ์ด๋งˆ์ €๋„ ์ˆ˜ GB ๋‹จ์œ„์˜ ์›ฌ๋งŒํ•œ ์ƒ์šฉ ํ”„๋กœ๊ทธ๋žจ๊ธ‰ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์—์„œ๋Š” ์—ฌ์ „ํžˆ ์ตœ์†Œ ์‚ฌ์–‘ ์ทจ๊ธ‰์ด๋‹ค.

Windows 7 SP1์˜ ์—ฐ์žฅ ์ง€์› ์ข…๋ฃŒ 9๊ฐœ์›”์„ ์•ž๋‘” ์‹œ์ ์—๋„ Windows 7 SP1์„ ์ง€์›ํ•œ๋‹ค. ๋•๋ถ„์— ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๋กœ ๋ถ€๋“์ด Windows 7์„ ์‚ฌ์šฉํ•  ์ˆ˜๋ฐ–์— ์—†๋Š” ๊ฐœ๋ฐœ์ž๋“ค๋„ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2019๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ 2020๋…„ 12์›” ๊ธฐ์ค€ ํ˜„์žฌ ์ตœ์‹  ๋ฒ„์ „์ด 2019์ด๋ฏ€๋กœ Windows 7์„ ์ง€์›ํ•˜๋Š” ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์ด ๋  ๊ฒƒ์ด๋‹ค.

์ธ์Šคํ†จ๋Ÿฌ๋Š” ์ด์ „ 2017 ๋ฒ„์ „๊ณผ ๋™์ผํ•˜์ง€๋งŒ, ์„ค์น˜ํ•˜๋ ค๋ฉด .NET Framework 4.6์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ์ง„ํ–‰๋œ๋‹ค.

์Šคํ”Œ๋ž˜์‹œ ์Šคํฌ๋ฆฐ์ด ๋ณ€๊ฒฝ๋˜์—ˆ๊ณ , ์„ค์น˜ ์™„๋ฃŒ ํ›„ ์‹คํ–‰ํ•˜๋ฉด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์‹œ ํŒŒ์ผ ๋ฉ”๋‰ด์— ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ณ„๋„์˜ ์ฐฝ์ด ๋จผ์ € ๋‚˜ํƒ€๋‚œ ๋‹ค์Œ ํ”„๋กœ์ ํŠธ/์†”๋ฃจ์…˜ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ๋‚˜ ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ๊ฐ€ ์™„๋ฃŒ๋œ ํ›„์—์•ผ ์ต์ˆ™ํ•œ ์‹œ์ž‘ ํŽ˜์ด์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆœ์„œ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค. ์ด์ „ 2017 ๋ฒ„์ „์—์„œ ํ™•์žฅํŒฉ์œผ๋กœ ์ง€์›ํ•˜๋˜ Live Share๊ฐ€ ์ •์‹์œผ๋กœ ๋“ค์–ด์™”์œผ๋ฉฐ, ๋””๋ฒ„๊ทธ ๋ชจ๋“œ์—์„œ ๋ณ€์ˆ˜๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ๊ทธ ์™ธ์— ์ „๋ฐ˜์ ์ธ UI๋Š” 2017๊ณผ ๊ฑฐ์˜ ๋น„์Šทํ•˜๋‹ค.

์ด์ „ ๋ฒ„์ „๊นŒ์ง€๋Š” Windows 8.1 SDK๋ถ€ํ„ฐ[10][11] ์‹ ๋ฒ„์ „์ด ๋‚˜์˜ฌ ๋•Œ๋งˆ๋‹ค SDK ํ•ญ๋ชฉ์ด ์ฐจ๊ณก์ฐจ๊ณก ์ถ”๊ฐ€๋˜๋ฉด์„œ ํญ ๋„“์€ ์„ ํƒ๊ถŒ์„ ์ œ๊ณตํ–ˆ์œผ๋‚˜, ์ด ๋ฒ„์ „๋ถ€ํ„ฐ๋Š” 10.0.15063 ์ด์ „ ๋ฒ„์ „ SDK ํ•ญ๋ชฉ๋“ค์ด ๋ชฝ๋•… ์ œ์™ธ๋˜์—ˆ๋‹ค. Windows 10.0.15063 SDK์™€ ํ•จ๊ป˜ ๋‚˜์˜จ Windows 10 ๋ฒ„์ „ 1703์ด 2018๋…„ 10์›”์— ์ด๋ฏธ ์ง€์› ์ข…๋ฃŒ๋˜์—ˆ๊ณ , Windows 10 ๋ฒ„์ „ 1709 ์ดํ›„์— ๋‚˜์˜จ SDK๋งŒ ์ง€์› ๊ธฐ๊ฐ„์ด ๋‚จ์€ ์ƒํƒœ์˜€๊ธฐ ๋•Œ๋ฌธ์ธ ๋“ฏํ•˜๋‹ค.

๋”ฐ๋ผ์„œ ์ด ๋ฒ„์ „์—์„œ๋Š” Windows 10.0.16299 ๋ฒ„์ „ ์ด์ƒ์˜ SDK๋งŒ ์ธ์Šคํ†จ๋Ÿฌ๋ฅผ ํ†ตํ•ด ์ œ๊ณตํ•˜๋ฏ€๋กœ 10.0.15063 ์ด์ „ ๋ฒ„์ „๋“ค์„ ์ด์šฉํ•˜๋ ค๋ฉด Windows SDK ์•„์นด์ด๋ธŒ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ๋ฐ›์•„์„œ ์„ค์น˜ํ•œ ํ›„ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•˜๋ฉฐ, ๋ฐ˜๋Œ€๋กœ ์ธ์Šคํ†จ๋Ÿฌ ๋‚ด์—์„œ Windows 10.0.18362 SDK๋Š” ์ด ๋ฒ„์ „์—์„œ๋งŒ ์ œ๊ณตํ•˜๋ฏ€๋กœ 2017 ์ด์ „ ๋ฒ„์ „์—์„œ 10.0.18362 SDK๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์—ญ์‹œ Windows SDK ์•„์นด์ด๋ธŒ๋ฅผ ํ†ตํ•ด ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ๋ฐ›์•„์„œ ์„ค์น˜ ํ›„ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. 2017 ๋ฒ„์ „์˜ ์ธ์Šคํ†จ๋Ÿฌ์—์„œ๋Š” Windows 10 ๋ฒ„์ „ 1809์™€ ํ•จ๊ป˜ ์ถœ์‹œ๋œ Windows 10.0.17763 SDK๊นŒ์ง€๋งŒ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ.

๋ฒ„๊ทธ ์ค‘ ํ•˜๋‚˜๋กœ, ํด๋ž˜์Šค๋Š” ๋งŒ๋“ค์–ด์ ธ ์žˆ๋Š”๋ฐ ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ์—์„œ ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๊ณ  ๋‚˜์˜จ๋‹ค. ๋ฌผ๋ก  ์ปดํŒŒ์ผํ•˜๋ฉด ์˜ค๋ฅ˜ ์—†์ด ์ž˜ ๋œ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ซ์•˜๋‹ค๊ฐ€ ์—ฌ๋Š” ๊ฒƒ์ด๋‹ค.

๋˜ํ•œ ์‹ฌ๊ฐํ•œ ๋ฒ„๊ทธ๊ฐ€ ํ•˜๋‚˜ ์žˆ๋Š”๋ฐ, ์œˆ๋„์šฐํผ์˜ ๋ผ๋ฒจ ๋“ฑ ์†์„ฑ์—์„œ ํ…์ŠคํŠธ๋ฅผ ๋ณ€๊ฒฝ(์ค„์„ ํŽผ์ณ์„œ)ํ•˜๊ณ  ๋‹ค๋ฅธ ๊ณณ์„ ํด๋ฆญํ•˜๋ฉด ๊ฐ‘์ž๊ธฐ ๋ž™์ด ๊ฑธ๋ฆฌ๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถ”๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋‹ค. ์ด ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋œ๋‹ค๋ฉด, ์ž‘์—…ํ•˜๋˜ ํŒŒ์ผ์„ ๋‚ ๋ ค๋จน์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์กฐ์‹ฌํ•ด์•ผ ํ•œ๋‹ค.

์ตœ๊ทผ ์ผ๋ถ€ ๊ตญ๊ฐ€์—์„œ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ๋‹ค์šด๋กœ๋“œ ์†๋„๊ฐ€ ์›Œ๋‚™ ๋А๋ ค์ง„ ์ƒํƒœ๋‹ค. ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋‹ค์šด๋กœ๋“œ ์†๋„๊ฐ€ KT๋ผ๋„ ์ดˆ๋‹น kB ๋‹จ์œ„๋กœ ๋‚˜์™€์„œ ๋งŽ์ด ๋А๋ฆฌ๋‹ค.

์ฐธ๊ณ ๋กœ ์œ ๋‹ˆํ‹ฐ(๊ฒŒ์ž„ ์—”์ง„)์— ๊ธฐ๋ณธ์œผ๋กœ ๋“ค์–ด์žˆ๋‹ค!

5. ์ œํ’ˆ๊ตฐ[ํŽธ์ง‘]

5.1. ํ˜„์žฌ ์ œ๊ณต๋˜๋Š” ์ œํ’ˆ๊ตฐ[ํŽธ์ง‘]

5.1.1. Visual Studio Express Edition[ํŽธ์ง‘]

๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์˜ ๋ฌด๋ฃŒ ๋ฒ„์ „. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2005์—์„œ ์ตœ์ดˆ๋กœ ๋‚˜์™”๋‹ค. ์ •์‹ ๋ฒ„์ „์— ๋น„ํ•ด ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ธฐ๋Šฅ๊ณผ ๊ฐ™์€ ๋ช‡๋ช‡ ๊ธฐ๋Šฅ์ด ์ œํ•œ๋˜์–ด ์žˆ๊ณ , C++์—์„  MFC ๋ฐ ๋ฆฌ์†Œ์Šค ํŽธ์ง‘๊ธฐ๊ฐ€ ๋น ์ ธ์žˆ๋‹ค. MFC ์‚ฌ์šฉ์ž๋Š” ๋‹ค๋ฅธ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋Œ€์ฒดํ•ด ๋ณด๋„๋ก ํ•˜์ž. Win32 API๋ฅผ ์จ์„œ ์ผ์ผ์ด ๋…ธ๊ฐ€๋‹ค๋ฅผ ํ•˜๋ฉด ๋œ๋‹ค. WPF๋กœ ๋„˜์–ด๊ฐ€๋„ ๋œ๋‹ค. wxWidgets, Qt, GTK ๋“ฑ์„ ๋ฌด๋ฃŒ๋กœ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

Community๊ฐ€ ๊ฐœ์ธ์šฉ์œผ๋กœ๋Š” ๋ฌด๋ฃŒ์ด์ง€๋งŒ ๊ธฐ์—…์—์„œ๋Š” ๊ทœ๋ชจ ๋˜๋Š” ๋ชฉ์ ์˜ ์ œํ•œ์„ ๋‘๊ณ  ์žˆ๋Š” ๊ฒƒ์— ๋น„ํ•ด ๊ธฐ์—…์—์„œ๋„ ์—ฌ์ „ํžˆ ์ œํ•œ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด ์žฅ์ .

๋‹ค๋งŒ ์–ธ์–ด/ํ™˜๊ฒฝ ๋ณ„๋กœ ์ข…๋ฅ˜๊ฐ€ ์ƒ๋‹นํžˆ ์„ธ์„ธํžˆ ๋‚˜๋‰œ๋‹ค. 2005๋ถ€ํ„ฐ 2010๊นŒ์ง€๋Š”๊นŒ์ง€๋Š” ๋น„์ฃผ์–ผ ๋ฒ ์ด์ง, C++, C#, ์›น ๊ฐœ๋ฐœ์ž, J#(2005๋งŒ), ์œˆ๋„์šฐ ํฐ(2010๋งŒ)๊ณผ ๊ฐ™์ด ๋‚˜๋‰˜์–ด ์žˆ์—ˆ๊ณ , 2012๋ถ€ํ„ฐ๋Š” ์›น(ASP.NET), ์œˆ๋„์šฐ(๋ฉ”ํŠธ๋กœ ์•ฑ), ์œˆ๋„์šฐ ๋ฐ์Šคํฌํ†ฑ(PC์šฉ ์œˆ๋„์šฐ), ํŒ€ ํŒŒ์šด๋ฐ์ด์…˜, ์œˆ๋„์šฐ ํฐ์œผ๋กœ ๊ฐœํŽธ๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  2015๋ถ€ํ„ฐ๋Š” ๋ฐ์Šคํฌํ†ฑ(PC์šฉ ์œˆ๋„์šฐ), ์›น, ์œˆ๋„์šฐ(์œ ๋‹ˆ๋ฒ„์…œ ํ”Œ๋žซํผ), ํŒ€ ํŒŒ์šด๋ฐ์ด์…˜์œผ๋กœ ๊ตฌ์„ฑ์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2013๋ถ€ํ„ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜์ด ์ถœ์‹œ๋˜๋ฉด์„œ Express ์—๋””์…˜์€ 2013์—์„œ ๋๋‚  ๊ฒƒ์œผ๋กœ ๋ณด์˜€์œผ๋‚˜, ๋’ค๋Šฆ๊ฒŒ 2015์˜ Express ๋ฒ„์ „์ด ์ถœ์‹œ๋˜์—ˆ๋‹ค.

2017๋…„ 10์›” Express 2017 ๋ฒ„์ „์ด Community ๋ฒ„์ „ ์ถœ์‹œ ์ดํ›„์— ์ถœ์‹œ๋˜์—ˆ๋‹ค. ์ด ์ œํ’ˆ์ด Express ์ œํ’ˆ๊ตฐ์˜ ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์ด ๋  ์˜ˆ์ •์ด๋ฉฐ, Desktop ๋ฒ„์ „๋งŒ ์žˆ๊ณ  ๋‹ค๋ฅธ ๋ฒ„์ „(Web, UWP)์€ ์ถœ์‹œ๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ๋Š” ์•ž์œผ๋กœ์˜ ๊ฐœ๋ฐœ์— ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜์ด๋‚˜ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ๋‹ค. #

5.1.2. Visual Studio Community[ํŽธ์ง‘]

๊ฐœ์ธ ์‚ฌ์šฉ์ž์šฉ ๋ฌด๋ฃŒ ๋ฒ„์ „์ด๋‹ค. ์ด๊ณณ์—์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.[12] 2013 ๋ฒ„์ „๋ถ€ํ„ฐ ๋‚˜์˜ค๊ธฐ ์‹œ์ž‘ํ•˜์˜€์œผ๋ฉฐ, 2019๋…„ 4์›” ํ˜„์žฌ ์ตœ์‹  ๋ฒ„์ „์€ 2019์ด๋‹ค. ๋ณ„๊ฐœ์˜ ์ œํ’ˆ๊ตฐ์ด ์•„๋‹ˆ๋ฏ€๋กœ ์ผ๋ฐ˜ํŒ(ํŒ๋งค์šฉ)๊ณผ ๋ฒ„์ „์ด ๊ฐ™๊ณ  ๊ธฐ๋Šฅ๋„ ํ”„๋กœํŽ˜์…”๋„ ๋ฒ„์ „๊ณผ ํฐ ์ฐจ์ด๋Š” ์—†๋‹ค. Windows Forms, WPF, UWP, Xamarin ์•ฑ์„ ๋ชจ๋‘ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. ์ต์Šคํ”„๋ ˆ์Šค ๋ฒ„์ „์„ ๋Œ€์ฒดํ•  ๊ฒƒ์ด๋ผ๋Š” ์˜ˆ์ƒ๋„ ์žˆ์—ˆ์ง€๋งŒ ์ด์šฉ ์กฐ๊ฑด์ด ๋‹ฌ๋ผ์„œ์ธ์ง€ ์ผ๋‹จ 2017์€ ์ต์Šคํ”„๋ ˆ์Šค ๋ฒ„์ „์ด ๋‚˜์™”๋‹ค.

๋ฌผ๋ก  ๋ฌด๋ฃŒ๋ผ๊ณ  ํ•ด์„œ ์™„์ „ํžˆ ๋งˆ์Œ๋Œ€๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ณ  ๋‹น์—ฐํžˆ ์ด์šฉ ์กฐ๊ฑด์— ์ œ์•ฝ์ด ์žˆ๋‹ค. ์ผ๋‹จ ๋…๋ฆฝ๋œ ๊ฐœ์ธ ๊ฐœ๋ฐœ์ž๋Š” ๋‹น์—ฐํžˆ ์ด์šฉ์— ์ œํ•œ์ด ์—†์œผ๋ฉฐ ์ƒ์—…์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ๋„ ์ƒ๊ด€์—†๋‹ค. ํ•˜์ง€๋งŒ ์กฐ์ง์˜ ๊ฒฝ์šฐ(ํšŒ์‚ฌ ํฌํ•จ) ๊ต์œก[13], ํ•™์ˆ ์  ์—ฐ๊ตฌ ์ˆ˜ํ–‰, ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์—ฌ ๋ชฉ์ ์œผ๋กœ๋Š” ๋ฌด์ œํ•œ์œผ๋กœ ์ด์šฉ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ด์™ธ์˜ ๋ชฉ์ ์˜ ๊ฒฝ์šฐ์—๋Š” ํšŒ์‚ฌ[14]๊ฐ€ ์•„๋‹Œ ๋‹จ์ฒด์ผ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ตœ๋Œ€ 5์ธ์œผ๋กœ ์ œํ•œ๋˜๋ฉฐ, ํšŒ์‚ฌ์—์„œ๋Š” ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์ข€ ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ "์‚ฌ์šฉ๊ถŒ ๊ณ„์•ฝ์„œ(2015)", "์‚ฌ์šฉ๊ถŒ ๊ณ„์•ฝ์„œ(2017)", "์‚ฌ์šฉ๊ถŒ ๊ณ„์•ฝ์„œ(2019)"๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค.

์ฐธ๊ณ ๋กœ ์œ ๋‹ˆํ‹ฐ ์—”์ง„์— ๊ธฐ๋ณธ์ ์œผ๋กœ ํฌํ•จ๋˜์–ด์žˆ๋‹ค!

5.1.3. Azure DevOps[ํŽธ์ง‘]

GitHub์™€ ๋น„์Šทํ•˜๊ฒŒ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค์ด๋‹ค. Microsoft Azure ํ”Œ๋žซํผ ๊ธฐ๋ฐ˜์ด๋‹ค.

5.1.4. Visual Studio Code[ํŽธ์ง‘]

Visual Studio Team Services์—์„œ ์—๋””ํ„ฐ ๋ถ€๋ถ„๋งŒ ๋–ผ์„œ ๋งŒ๋“  ํ…์ŠคํŠธ ์—๋””ํ„ฐ์ด๋‹ค. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ ์ฐธ๊ณ .

5.1.5. Visual Studio for Mac[ํŽธ์ง‘]

2017๋…„ 5์›”์— Xamarin Studio 6.1์ด Visual Studio for Mac 7.0์œผ๋กœ ํƒˆ๋ฐ”๊ฟˆํ•˜์˜€๋‹ค. iOS, Android, macOS, ASP.NET, Unity ๋“ฑ์˜ ๊ฐœ๋ฐœ์ด ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค. .NET์˜ ์˜คํ”ˆ ์†Œ์Šค ๊ตฌํ˜„์ฒด์ธ .NET Core๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— macOS์—์„œ C#๊ณผ .NET Framework๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค! ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์˜ ํฐ ์žฅ์  ์ค‘ ํ•˜๋‚˜์˜€๋˜ ์ธํ…”๋ฆฌ์„ผ์Šค ์—ญ์‹œ ์ง€์›๋œ๋‹ค. ๋‹ค๋งŒ iOS/macOS ์•ฑ ๊ฐœ๋ฐœ ์‹œ์—๋Š” Xcode๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

5.1.6. Visual Studio Professional[ํŽธ์ง‘]

๋Œ€ํ‘œ์ ์ธ ์œ ๋ฃŒ ๋ฒ„์ „. ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์— ๋น„ํ•ด ์ €๋ ดํ•˜์ง€๋งŒ, Team Service๋กœ ๋Œ€ํ‘œ๋˜๋Š” ๊ธฐ๋Šฅ๋“ค๊ณผ ํ…Œ์ŠคํŠธ ๊ด€๋ จ ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

5.1.7. Visual Studio Enterprise[ํŽธ์ง‘]

Professional๋กœ๋Š” ๋Œ€๊ทœ๋ชจ ๊ฐœ๋ฐœ์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๋ฒ„์ „. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ, ํŠนํžˆ ๋นต๋นตํ•œ ํ…Œ์ŠคํŠธ ๋„๊ตฌ๋“ค์€ ์ด ๋ฒ„์ „์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

5.1.8. Blend for Visual Studio[ํŽธ์ง‘]

XAML๋กœ GUI์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฒ„์ „. ๋ณดํ†ต ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์ด๊ฒƒ๋„ ํ•จ๊ป˜ ์„ค์น˜๋œ๋‹ค.

5.2. ํ˜„์žฌ ์ œ๊ณต์ด ์ค‘๋‹จ๋œ ์ œํ’ˆ๊ตฐ[ํŽธ์ง‘]

5.2.1. Visual Studio Ultimate[ํŽธ์ง‘]

2013๋ถ€ํ„ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜์ด ๋“ฑ์žฅํ•˜๊ณ  ํƒ€ ๋ฒ„์ „๋“ค์˜ ์„ฑ๋Šฅ๋„ ํ–ฅ์ƒ๋˜๋ฉด์„œ 2015๋…„๋ถ€ํ„ฐ ์‚ฌ๋ผ์กŒ๋‹ค.

6. ๊ธฐํƒ€[ํŽธ์ง‘]

์•„์ด์ฝ˜์ด 2008 ๋ฒ„์ „๊นŒ์ง€๋Š” ํ˜•ํ˜•์ƒ‰์ƒ‰์˜ ์œก๊ฐํ˜• ๋ชจ์–‘, 2010 ๋ฒ„์ „์—์„œ๋Š” ํ‘ธ๋ฅธ์ƒ‰ ๊ณ„์—ด๋กœ(ํ•˜๋Š˜์ƒ‰~๋ณด๋ผ์ƒ‰) ๋ฐ”๋€Œ๊ณ  ๋‘ฅ๊ทผ ๋ซผ๋น„์šฐ์Šค์˜ ๋ ๋ฅผ ๋ณธ๋œฌ ๋“ฏํ–ˆ์œผ๋‚˜, Windows 8๋ถ€ํ„ฐ ์‹œ์ž‘๋œ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๋กœ๊ณ  ๋‹จ์ˆœํ™” ์ž‘์—…์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋„ 2012 ๋ฒ„์ „๋ถ€ํ„ฐ ๋‚˜๋น„๋„ฅํƒ€์ด๋ฅผ ์ƒ๊ฐ๋‚˜๊ฒŒ ํ•˜๋Š” ๋ณด๋ผ์ƒ‰ ๊ณ„์—ด์˜ ๊ฐ์ง„ ๋ชจ์–‘์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค. 2019 ๋ฒ„์ „์—์„œ๋Š” ๋‚˜๋น„ ๋„ฅํƒ€์ด ๋ชจ์–‘์˜ ๋ชจํ‰์ด๊ฐ€ ๋ญ‰ํˆญํ•ด์กŒ๋‹ค.

2015 ๋ฒ„์ „๊นŒ์ง€๋Š” ์„ค์น˜์— ๊ต‰์žฅํžˆ ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋œ๋‹ค. ๋‹ค์šด๋กœ๋“œ๋ถ€ํ„ฐ ์„ค์น˜ ์™„๋ฃŒ๊นŒ์ง€ ์ ์–ด๋„ 2์‹œ๊ฐ„ ์ด์ƒ ์žก์•„๋จน์„ ๊ฐ์˜ค๋Š” ํ•ด์•ผ ํ•œ๋‹ค. ๋‹คํ–‰ํžˆ Visual Studio 2017๋ถ€ํ„ฐ๋Š” ์ƒˆ๋กœ์šด ์ธ์Šคํ†จ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜ ์†๋„๊ฐ€ ์ƒ๋‹นํžˆ ๊ฐœ์„ ๋˜์—ˆ๋‹ค.

๋” ๋น ๋ฅด๊ฒŒ ์„ค์น˜ํ•˜๊ณ  ์‹ถ๊ฑฐ๋‚˜ ๋ถ€๋“์ดํ•˜๊ฒŒ ๊ตฌ๋ฒ„์ „(2015 ์ด์ „)์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ์˜คํ”„๋ผ์ธ ์ธ์Šคํ†จ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์ž. ๊ทธ๋ƒฅ ๊ตฌ๊ธ€์— ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์„ค์น˜ํ•˜๋ฉด ์ˆ˜ MB์˜ ์„ค์น˜ํŒŒ์ผ์ด ๋‹ค์šด๋กœ๋“œ๋˜๋Š”๋ฐ ์ด๋Š” ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ ์„œ๋ฒ„์—์„œ ์„ค์น˜ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์œผ๋ฉด์„œ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋งˆ์†Œ ๋‹ค์šด๋กœ๋“œ์„ผํ„ฐ์— ๊ฐ€๋ณด๋ฉด ์˜คํ”„๋ผ์ธ ์„ค์น˜์šฉ iso ํŒŒ์ผ์„ ์ œ๊ณตํ•œ๋‹ค. 3GB ์ •๋„์ธ๋ฐ ํ‰๊ท ์ ์œผ๋กœ ์ตœ์†Œ 5MB/s๋Š” ๋‚˜์˜จ๋‹ค. ๋‹ค์šด๋กœ๋“œ ๋งํฌ ์˜คํ”„๋ผ์ธ ์„ค์น˜ ํŒŒ์ผ์„ ๋ฐ›๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์˜จ๋ผ์ธ ์„ค์น˜ํŒŒ์ผ์— "/layout ๋ฐ›์„ ๊ฒฝ๋กœ"[15] ์˜ต์…˜์„ ์ ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ฉด ์ง€์ •ํ•œ ๊ฒฝ๋กœ์— ์˜คํ”„๋ผ์ธ ์„ค์น˜ ํŒŒ์ผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.[์ฃผ์˜]

๊ฐ™์€ ํฐํŠธ๋ฅผ ๋™์ผํ•œ ํฌ๊ธฐ๋กœ ์ ์šฉํ•ด๋„ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ๋‚˜ EditPlus ๋“ฑ๊ณผ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ๊ฐ„์˜ ํฐํŠธ ๋ Œ๋”๋ง์ด ๊ฝค ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๊ฐ€ .NET๊ณผ C++ ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์–ด, ์ด์— ํ˜ธํ™˜์„ฑ์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด WPF๋กœ UI๋ฅผ ๊ฐœ๋ฐœํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ WPF์˜ ํฐํŠธ ๋ Œ๋”๋ง ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋А๋ผ ๊ธฐ๋ณธ๊ฐ’ ์ƒํƒœ์—์„œ์˜ ๊ธ€๊ผด ํ˜•ํƒœ๊ฐ€ ์•ฝ๊ฐ„ ๋‹ค๋ฅด๋‹ค. Tools | Options | Text Editor | Advanced ๋ฉ”๋‰ด์— ๋“ค์–ด๊ฐ€์„œ 'Text formattig method'์™€ 'Text rendering method' ์˜ต์…˜์„ ๊ฐ๊ฐ Ideal, ClearType์œผ๋กœ ์กฐ์ ˆํ•ด ์ฃผ๋ฉด VS code์™€ ๋‚˜๋ฆ„ ๋น„์Šทํ•œ ๋А๋‚Œ์œผ๋กœ ํฐํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋Š” ์œ ๋ช… IDE๋‹ต์ง€ ์•Š๊ฒŒ ์ „์ฒด ํ”„๋กœ์ ํŠธ์˜ ์ธ์ฝ”๋”ฉ(์บ๋ฆญํ„ฐ ์…‹)์„ ์ผ๊ด„ ์ ์šฉํ•˜๋Š” ์˜ต์…˜์ด ์—†๋‹ค. ํ•˜์ง€๋งŒ 2017๋ถ€ํ„ฐ๋Š” .editorconfig ํŒŒ์ผ์„ ์ด์šฉํ•˜๋ฉด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ์ œ๊ณตํ•˜๋Š” IntelliCode ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด ํŒŒ์ผ์„ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋Š” ์ธ์ฝ”๋”ฉ์ด UTF-8์œผ๋กœ ๋งž์ถฐ์กŒ์„ ๊ฒฝ์šฐ ํ•œ๊ตญ์–ด๊ฐ€ ๊นจ์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋‹ˆ BOM ๋ฌธ์ž๋ฅผ ๋ถ™์—ฌ์ค˜์•ผ ํ•œ๋‹ค.(charset=utf-8-bom)[17] ๋˜ํ•œ ์ค„ ๊ฐ„๊ฒฉ ์˜ต์…˜๋„ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋ฐ, ์ด๋Š” Line Press ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋งŒ์•ฝ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์—†์ด Visual C++ ์ปดํŒŒ์ผ๋Ÿฌ๋งŒ ์„ค์น˜ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€์—์„œ 'Visual Studio์šฉ Build Tools'๋ฅผ ๋‚ด๋ ค๋ฐ›์œผ๋ฉด ๋œ๋‹ค.

Windows 10 64bit / VS 2019๋ฅผ ๊ธฐ์ค€์œผ๋กœ, Visual C++ ์ปดํŒŒ์ผ๋Ÿฌ cl.exe์˜ ๊ฒฝ๋กœ๋Š” C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/(MSVC ๋Ÿฐํƒ€์ž„ ๋ฒ„์ „, ex: 14.22.27905)/bin/Hostx64/x64/cl.exe์ด๋‹ค. ๋˜ํ•œ devenv.exe์˜ ๊ฒฝ๋กœ๋Š” C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE์ด๋‹ค.

๊ฐ„ํ˜น ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ๊ณ„์ • ์—ฐ๊ฒฐ์ด ํ•ด์ œ๋˜๋ฉฐ, (์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜์ธ๋ฐ๋„ ๋ถˆ๊ตฌํ•˜๊ณ ) 30์ผ๊ฐ„์˜ ํ‰๊ฐ€ํŒ ์ด์šฉ ๊ธฐ๊ฐ„์ด ์ง€๋‚ฌ๋‹ค๋Š” ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์‹คํ–‰์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋Š” ๋ฌด์„  ์ธํ„ฐ๋„ท ํ™˜๊ฒฝ์—์„œ์˜ ํ”„๋ก์‹œ ๋ฌธ์ œ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์œผ๋กœ, ๊ณต์œ ๊ธฐ๋ฅผ ๊ต์ฒดํ•˜๊ฑฐ๋‚˜ ์œ ์„  ์ธํ„ฐ๋„ท์„ ์—ฐ๊ฒฐํ•ด ์ฃผ๋ฉด ๋Œ€๋ถ€๋ถ„ ํ•ด๊ฒฐ๋œ๋‹ค. ์•„๋‹ˆ๋ฉด ๊ทธ๋ƒฅ ๋‹ค์‹œ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ๊ณ„์ •์— ์—ฐ๊ฒฐํ•˜๋ฉด ๋œ๋‹ค.

์–ธ๋ฆฌ์–ผ ์—”์ง„๊ณผ ๊ถํ•ฉ์ด ์ข€ ์•ˆ ์ข‹๋‹ค. ์ธํ…”๋ฆฌ์„ผ์Šค๊ฐ€ ์˜ค์ž‘๋™ํ•˜๊ฑฐ๋‚˜ ์—„์ฒญ๋‚˜๊ฒŒ ๋А๋ฆฐ ์†๋„๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์œ ๋ฃŒ ํ”Œ๋Ÿฌ๊ทธ์ธ์ธ Visual Assist๋‚˜ ์ •๊ธฐ๊ตฌ๋… ํ”Œ๋Ÿฌ๊ทธ์ธ์ธ JetBrains์˜ ReSharper C++๋ฅผ ์“ฐ์ง€ ์•Š๋Š” ํ•œ ํ•ด๊ฒฐ์ฑ…์€ ์—†๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค.

C์™€ C++์— ๋Œ€ํ•œ ๋น„ํ‘œ์ค€ ๊ตฌํ˜„์ด ์ •๋ง ๋งŽ๋‹ค. Microsoft ๋ฌธ์„œ์—๋„ ์ด๋Ÿฌํ•œ ๋น„ํ‘œ์ค€ ๋ฌธ๋ฒ•๋“ค์„ Microsoft specific ๋ฌธ๋‹จ์— ๋„ฃ์–ด์„œ ๊ตฌ๋ถ„ํ•˜๊ณ  ์žˆ์œผ๋‚˜ Undocumented๋œ ๋น„ํ‘œ์ค€ ๊ตฌํ˜„๋“ค ๋˜ํ•œ ๋งŽ์ด ์กด์žฌํ•œ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ ๋ฒ„์ „์—…์ด ๋˜๋ฉด์„œ C/C++ ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜๊ณ  ์žˆ๊ณ  ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๋•Œ Visual Studio 2017๋ถ€ํ„ฐ๋Š” ์ด๋Ÿฌํ•œ ๋น„ํ‘œ์ค€ ๋ฌธ๋ฒ•๋“ค์„ ์ œํ•œํ•˜๋Š” /permissive- ์˜ต์…˜์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ๊ณ  ํ‘œ์ค€ ์ค€์ˆ˜๋ฅผ ์ ์ฐจ ๊ฐ•ํ™”ํ•˜๊ณ  ์žˆ๋Š” ์ถ”์„ธ๋‹ค. ๋” Strictํ•œ ์˜ต์…˜์œผ๋กœ /Za์™€ /Zc๊ฐ€ ์žˆ์œผ๋‚˜ ํ•ด๋‹น ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Windows SDK๋ถ€ํ„ฐ๊ฐ€ ์ปดํŒŒ์ผ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด Microsoft์—์„œ๋Š” ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์ง€๋Š” ์•Š๋‹ค. ๋งŒ์•ฝ C/C++๋ฅผ MSVC๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐฐ์šด๋‹ค๋ฉด ์ด๋Ÿฌํ•œ ๋น„ํ‘œ์ค€ ๋ฌธ๋ฒ•๋“ค์„ ์ฃผ์˜ํ•ด์„œ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ํ‘œ์ค€ ๊ฐœ์„  ๋…ธ๋ ฅ ๋•๋ถ„์— ํฌ๋กœ์Šคํ”Œ๋žซํผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ MSVC์—์„œ ์ปดํŒŒ์ผ๋˜๋Š” ์ฝ”๋“œ๊ฐ€ GCC, Clang ๊ฐ™์€ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ๊ฒฝ์šฐ๋Š” ํ˜„์ €ํžˆ ์ค„์—ˆ์œผ๋‚˜ MSVC 6์ด๋‚˜ MSVC 2010๊ณผ ๊ฐ™์€ ๊ตฌ์‹œ๋Œ€์˜ ์ปดํŒŒ์ผ๋Ÿฌ ํ™˜๊ฒฝ์—์„œ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋“ค์€ ์—ฌ์ „ํžˆ ๊ฐ™์€ ์ด์œ ๋กœ ์ปดํŒŒ์ผ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.
  • ๋ฌธ์ œ์ 
    • (VS 2019 ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ์ค€) ๊ธด ๊ฒฝ๋กœ(์•ฝ 260์ž) ๋ฏธ์ง€์›
      ๊ธด ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹Œ ํด๋”์—์„œ ๊ธด ๊ฒฝ๋กœ๊ฐ€ ๋„˜์–ด๊ฐ€๋Š” ํด๋”์™€ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์—†์œผ๋ฉฐ, ์ง์ ‘ ์—ด๊ธฐ๋ฅผ ์‹œ๋„ํ•  ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ์ด ์ถฉ๋Œ ํ›„ ์žฌ์‹œ์ž‘ ๋œ๋‹ค.
[1] IDE ๋กœ์ปฌ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ(devenv.exe)์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.
[2] ๋‹จ, ์ด๋Ÿฌํ•œ ํŽธ๋ฆฌ์„ฑ์€ ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ์—์„œ๋งŒ ํ•ด๋‹น๋œ๋‹ค.
[3] ๋Œ€ํ•™๊ต์—์„œ C์–ธ์–ด๋ฅผ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋กœ ๋ฐฐ์šด ์‚ฌ๋žŒ๋“ค์€ 'C์–ธ์–ด๋Š” ์™œ ์—†๋ƒ'๊ณ  ์˜๋ฌธ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Š” C++ ํ™•์žฅ์ž๋ฅผ C๋กœ ๋ฐ”๊ฟ”์„œ ์“ฐ๋Š” ํ•˜๋‚˜์˜ ํŽธ๋ฒ•์ผ ๋ฟ์ด๋‹ค.
[4] ๊ทธ ์œ ๋ช…ํ•œ ActiveX๊ฐ€ ๋งž๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ฒฝ์šฐ๋Š” IE ์šฉ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ๋“ค์ด๋ผ ์ผ๋ฐ˜์ ์œผ๋กœ ์“ฐ๋Š” ActiveX์—์„œ์˜ ๋ฌธ์ œ์ ์ด ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ๋Š” ๋ณ„๋กœ ์—†๋‹ค.
[5] XP ๊ธฐ๋ฐ˜์ด๋‹ค.
[6] ์ •ํ™•ํžˆ๋Š” ํ”Œ๋žซํผ ๋„๊ตฌ ์ง‘ํ•ฉ์ด v110์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ.
[7] 2012 ๋ฒ„์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ .NET ํ”„๋ ˆ์ž„์›Œํฌ 3.5๋ฅผ ์„ค์น˜ํ•˜๋ฉด 2.0๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.
[8] ์ •ํ™•ํžˆ 15์‹œ 30๋ถ„. ํ•œ๊ตญ ๊ธฐ์ค€ ์‹œ๊ฐ 2015๋…„ 7์›” 21์ผ 0์‹œ 30๋ถ„.
[9] 2017๋…„ 7์›” ๊ธฐ์ค€ 15.2 ๋ฒ„์ „์˜ ์ด ์šฉ๋Ÿ‰์€ 27.6GB๋‹ค
[10] Windows 8.0 SDK๋Š” ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2012์—์„œ๋งŒ ๊ธฐ๋ณธ ์„ค์น˜๋˜๊ณ , 2010 ๋ฒ„์ „์ด๋‚˜ 2015 ์ดํ›„ ๋ฒ„์ „๋“ค์€ Windows SDK ์•„์นด์ด๋ธŒ๋ฅผ ํ†ตํ•ด ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ๋ฐ›์•„์„œ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.
[11] ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2015๋ถ€ํ„ฐ Windows SDK ์„ค์น˜ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ์„ ํƒ๊ถŒ์„ ๋ถ€์—ฌํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ Windows 10 SDK ํ•œ์ •์ด๋ผ Windows 8.1 SDK๋ฅผ ์ข‹๋“  ์‹ซ๋“  ๋ฌด์กฐ๊ฑด ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ์ œ์•ฝ์ด ์žˆ๊ณ , 2017 ๋ฒ„์ „์— ๋“ค์–ด์„œ์•ผ ์ œ์•ฝ์ด ์—†์–ด์กŒ๋‹ค. ๋‹ค์‹œ ๋งํ•˜์ž๋ฉด 2017 ๋ฒ„์ „๋ถ€ํ„ฐ Windows SDK ํ•ญ๋ชฉ์„ ํ•˜๋‚˜๋„ ์„ ํƒํ•˜์ง€ ์•Š์•„๋„ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป. ๋ฌผ๋ก  Windows API ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋ ค๋ฉด ํ•˜๋‚˜๋ผ๋„ ์„ ํƒํ•ด์„œ ์„ค์น˜ํ•ด์•ผ Windows SDK ๋ฏธ์„ค์น˜๋กœ ์ธํ•œ ์ปดํŒŒ์ผ ์—๋Ÿฌ ์—†์ด ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์„ค์น˜์‹œ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.
[12] ์˜๋ฌธํŒ์€ ์ฃผ์†Œ์˜ ko-kr๋ฅผ en-us๋กœ ๋ฐ”๊พธ์–ด ๋ฐ›๊ฑฐ๋‚˜ ํ•œ๊ตญ์–ด๋กœ ์„ค์น˜ํ•˜๊ณ  Installer์—์„œ ์–ธ์–ดํŒฉ์„ ๋”ฐ๋กœ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
[13] ๋ผ์ด์„ ์Šค์— ๋ณด๋ฉด 'classroom' ๋˜๋Š” '๊ฐ•์˜์‹ค'์ด๋ผ ๋˜์–ด ์žˆ๋‹ค. ๊ต์œก ๊ธฐ๊ด€์ด๋‚˜ ์ œ๋Œ€๋กœ ๋œ ๊ต์œก์žฅ์„ ์˜๋ฏธํ•˜๋Š” ๋“ฏ ํ•˜๋‹ค.
[14] '์—ฐ ์ˆ˜์ต 100๋งŒ ๋‹ฌ๋Ÿฌ ์ด์ƒ ํ˜น์€ PC ๋ณด์œ  ๋Œ€์ˆ˜ 250๋Œ€ ์ด์ƒ์˜ ์ƒ์—… ์ง‘๋‹จ'์ด๋ผ๊ณ  ์ •์˜ํ•˜๊ณ  ์žˆ๋‹ค.
[15] 2017์€ "--layout ๋ฐ›์„ ๊ฒฝ๋กœ"
[์ฃผ์˜] ๋‹ค๋งŒ ํŠนํžˆ ์ปดํ“จํ„ฐ ์‚ฌ์–‘์ด ์•ˆ ์ข‹๋‹ค๋ฉด ๋”๋”์šฑ ์ฃผ์˜ํ•˜์ž. 2017 ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์˜คํ”„๋ผ์ธ์œผ๋กœ ๋งŒ๋“œ๋Š”๋ฐ ์ปด์ด ๊ตฌ๋ฆฌ๋‹ค๋ฉด 1์‹œ๊ฐ„ 30๋ถ„์€ ๊ธฐ๋ณธ์ด๋‹ค.
[17] Windows 10 RS4 ์—…๋ฐ์ดํŠธ์— ์ถ”๊ฐ€๋œ "Beta: ์„ธ๊ณ„ ์–ธ์–ด ์ง€์›์„ ์œ„ํ•ด Unicode UTF-8 ์‚ฌ์šฉ" ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ–ˆ์„ ๊ฒฝ์šฐ ์ œ์™ธ.