E D R , A S I H C RSS

비주얼 스튜디오

last modified: 2015-03-28 22:05:45 by Contributors

vs_2012.png
[PNG image (11.13 KB)]


Contents

1. 개요
2. 상세
3. 버전 분류
3.1. Visual Studio 97 (5.0)
3.2. Visual Studio 6.0
3.3. Visual Studio.Net (7.0)
3.4. Visual Studio.Net 2003 (7.1)
3.5. Visual Studio 2005 (8.0)
3.6. Visual Studio 2008 (9.0)
3.7. Visual Studio 2010 (10.0)
3.8. Visual Studio 2012 (11.0)
3.9. Visual Studio 2013 (12.0)
3.10. Visual Studio 2015 (?)
4. Visual Studio Express Edition
5. Visual Studio Community


1. 개요

Microsoft Visual Studio

윈도우즈에서 프로그래밍을 할때 일반적으로 사용되는 개발 툴. 일반적으로 통합 개발 환경이라 칭한다. 간단히 말해 이거 하나만 있으면 윈도우에서 돌아가는 프로그램은 일반 애플리케이션이든 웹 애플리케이션이든 거의 다 만들 수 있다.

마이크로소프트에서 제작하던 컴파일러인 Microsoft C/C++ 컴파일러를 나중에 Visual C++로 개명하면서, 같이 'Visual'을 접두어로 붙이던 Visual BASIC Basic과 합쳐서 패키지로 내놓은 것. 초기에만 해도 DOS시절에는 Borland C++에, DOS 후기에는 Watcom C++에 처발렸으나 윈도우 시대로 들어서면서 급격히 세를 불려 지금은 윈도우 프로그램 개발에 있어서는 독보적인 원탑.

원 아이콘은 무한대를 본딴 듯 했으나, 마이크로소프트의 모든 종류의 로고 단순화 작업의 영향에 포함되어서 2012 버전부터 나비넥타이생각나는 모양(...)으로 바뀌었다.

2. 상세

하나의 패키지 형태로 사용할 때는 MSDN 외에 별도의 개발 툴이 필요 없을 정도다(굳이 쓴다면 Visual AssistX나 SVN 플러그인 정도). 그리고 이 패키지 안에는 프로그램 개발에 필요한 모든 것이 다 들어있다! 심지어 DB도 준다!!

하지만 다른 상용 컴파일러 패키지들처럼(컴파일러를 개발 판매하는 경쟁사의 예로 구 Borland의 후신인 코드기어 사 등이 있다. 이쪽도 가볍게 수백만 원을 호가한다)패키지 가격이 만만치 않기 때문에 일반적으로는 어둠의 경로를 이용하거나 Microsoft에서 제공하는 1년 라이센스의 프로페셔널 버전이나 Express 버전을 사용한다.(라이센스 기간은 프로그램 버전마다 약간씩 다름) 마이크로소프트의 정책상 프로그래머 저변을 넓히기 위해 다른 컴파일러 제조사들에서는 하기 어려운 파격적인 프로모션을 많이 진행하고 있기 때문에 프로그래밍을 공부하고 싶은 사람은 마음만 먹으면 무료로 사용하는것도 가능.

비주얼 스튜디오로 개발할수 있는 프로그래밍 언어삼신기는 크게 Visual Basic, C++(+ Win32 API, MFC), C# 세개로 나뉜다. 또한 통합 개발환경답게 이 언어로 만들수 있는 UI 제작도구(디자인 툴)도 제공된다. UI를 만들때 순수 날코딩(타이핑 노가다)으로 만드는 방식도 있지만 그래도 대부분은 비주얼 스튜디오를 이용해 UI를 만든다. 왜냐면 날코딩으로 작업하는 쪽이 속도도 빠르고 간단한 프로그램을 만들때는 편하지만 디자인 툴을 사용하는 쪽이 결과물도 이쁘고 생산성이 높기 때문.

위에서 비싸다고 언급했는데, 사실 비주얼 스튜디오는 비싼 값을 하는 물건이다. MS를 까는 개발자들도 비주얼 스튜디오가 쓰기 편하다는 것은 다들 인정. 마이크로소프트가 비주얼 스튜디오에 신경을 쓰는 이유는 아무리 운영체제가 좋아도 그 운영체제를 기반으로 돌아가는 프로그램이 없다면 운영체제는 무용지물이라는 사실을 과거부터 철저하게 학습해 왔기 때문이다. 그래서 MS에서도 개발자들에 대한 지원은 다른 업체들에 비해 화끈하게 해주는 편이다. 돈백만원 가깝게 하는 비주얼 스튜디오를 심심하면 무료로 뿌려대는 이유도 그러한 이유. 다니는 대학이 MSDN AA 에 가입되어있다면, 액면가로는 수천달러 이상을 호가하는 얼티밋 버전도 무료로 받을 수 있다.

게다가 비주얼 스튜디오의 완성도와 편의성은 심지어 MS나 윈도우를 싫어하는 비(非) 윈도우 개발자들도 인정하고 들어가는 부분. 물론 아예 편집의 개념 자체가 다른 vi/EMACS 프로그래머들은 평가 기준이 다르겠지만, IDE로서의 안정성이나 편집능력, 반응속도 등 전반적인 면에서 이클립스나 XCode보다 훨씬 우수하며 부가적인 기능들도 탄탄하다. 사실, vi 같은 편집기를 사용하는 유저중에는 유닉스 C 프로그래머가 많은데, C 언어는 사실 IDE 의 필요성이 비교적 없는 언어인데다가, 결정적으로 MS 에서 미는 언어가 아니기때문에[1] 비쥬얼 스튜디오에서도 지원은 열악하다. 즉, 이사람들에게는 VS 도 어차피 vi 보다 편집 편의성도 떨어지면서 무겁고 육중한 돼지일뿐. (...)

최근의 비주얼 스튜디오에는 단순 개발툴뿐만 아니라 팀작업을 위한 서버도 제공한다.

또한 이용자의 수만큼이나 다양한 서드파티 참여도 활발해서 비주얼 스튜디오에 도전과제를 부가하는 기능도 만들어져 있다.(MS에서 제작한 기능은 아니다.)
비주얼 스튜디오/도전과제 항목 참조. 이제 개발을 하면서도 게임마냥 도전과제를 할 수 있다.

이와 비슷한 소프트웨어로는 이클립스, XCode 등이 있다.

학생[2] 신분을 가지고 있다면 Microsoft DreamSpark에서 비주얼 스튜디오 정식버전뿐만 아니라 윈도 서버, SQL서버 등을 무료로 얻을 수 있다. 학교에서 이메일을 발급해주지 않는다면[3] 직접 서류를 메일로 보내야 하므로 재학증명서 같은 증명 자료가 필요하다. 자세한 것은 Microsoft DreamSpark 항목 참고.

3. 버전 분류

3.1. Visual Studio 97 (5.0)

최초의 비주얼 스튜디오.
내부 버전은 5.0.

3.2. Visual Studio 6.0

vs_60.jpg
[JPG image (124.18 KB)]


함께 들어있는 Visual Basic 6.0은 정말 걸작이지만, Visual C++ 6.0은 90년대 말과 2000년대를 살아간 개발자들의 회한이 서려있는 제품. 지금도 IT관련 학과나 학원에서는 현역으로 돌리는 경우도 있다. 심지어 현업에서도!! 딱히 성능이나 기능이 좋아서 그런 것은 아니고, 이후의 버전들이 C/C++ 표준 규격 지원을 강화하면서 이전 소스가 컴파일이 안 되는 경우가 종종 있기 때문이다.

참고로 마이크로소프트에서 공식적으로 지원을 중단했다. 그래서 비스타 이후 윈도우즈에서는 설치하기도 힘들다.

하지만 6.0 이후의 버전 대비 6.0의 최대장점은 빠르다. 가볍다. 개발환경에서 메모리를 적게먹으며 작동시간도 빠르고, 컴파일속도도 빠르다. 즉, 군더더기가 없다는게 장점이다. 2010 버전과 비교해도 MFC는 성능과 기능, 인터페이스 모두 크게 바뀐게 없기도 하다.

하지만 아직도 6.0 버전을 쓰고있다면, 빨리 상위 버전으로 바꾸기를 권한다. 그동안 C++ 컴파일러는 성능과 보안 등 모든 면에서 괄목할만한 발전을 이루었으며 개발환경 또한 매우 향상되어 6.0과 비교하면 매우 높은 생산성을 보여준다. 다음 글을 반드시 읽어보도록 하자: VC++ 6.0을 쓰지 말아야하는 이유. 다만 이 글은 조금 가려 읽을 필요가 있다. 그보다 글쓴이 말투가 너무 공격적임.

일반적인 SI쪽 프로그래밍 보다는 FA(공장자동화)쪽에서는 2014년 현재까지 가장 일반적으로 많이 사용하는 개발툴 중 하나이다. FA 프로그래밍은 복잡한 알고리즘이나 큰 기능을 요구하고 있지 않기 때문에 VB 6.0이나 API 사용 정도로 충분하기 때문이다. 사실 가장 큰 이유는 현장에 있는 기존의 프로그램이 LabVIEW와 함께 VB 6.0 으로 많이 만들어져 있기 때문.

3.3. Visual Studio.Net (7.0)

아예 비주얼 스튜디오 닷넷이라는 이름으로 나온 것에서 볼 수 있듯이, 닷넷 1.0버전을 끼고 나온 비주얼 스튜디오. C#의 데뷔작이기도 하다.

이 버전부터 Visual Basic이 사라지고, Visual Basic.Net이 등장했다. 나의 베이직을 돌려줘!!

3.4. Visual Studio.Net 2003 (7.1)

vs_2003.jpg
[JPG image (9.34 KB)]


2002의 업그레이드 판.
닷넷 프레임워크 1.1을 지원한다.

3.5. Visual Studio 2005 (8.0)

vs_2005.png
[PNG image (21.35 KB)]


드디어 써볼만한 닷넷 등장 닷넷 2.0 및 64비트 운영체제를 지원하기 시작. 이전 버전에 비해 표준 C/C++ 규격 적용 강화.
이 버전부터 초보/비전문 개발자들을 위한 무료배포 버전인 Express 제품군이 추가되었다.[4]

3.6. Visual Studio 2008 (9.0)

vs_2008.png
[PNG image (55.63 KB)]


2005의 업그레이드 판. 2014년 현재 가장 일반적으로 많이 사용되는 버전 중 하나이다. 닷넷 2.0 ~ 3.5 까지 지원한다. 팀 작업을 위한 기능이 강화되었다.

C/C++ Runtime DLL[5]에 Side by Side 기술이 도입되었다. 덕분에 보안이 매우 향상되었지만, 이전처럼 개발한 EXE 파일에 DLL만 함께 복사하면 실행이 되지 않는다. VC++ Runtime 패키지를 따로 설치해 주거나, 개발한 프로그램의 설치본(msi)를 만들 때 병합모듈로 추가시켜주어야 한다.[6]

서비스팩 1 부터 Office2007 형식의 UI를 MFC로 만들 수 있게 되었다. 단, 눈썰미가 좋은 사람이 볼 경우 '오피스랑은 뭔가 좀 다른데?' 라는 느낌이 들 정도로 약간 엉성하다.

3.7. Visual Studio 2010 (10.0)

vs_2010.gif
[GIF image (3.85 KB)]


닷넷 2.0 ~ 4.0 까지 지원한다.

먼저 UI가 WPF[7]로 만들어져 있어 대단히 유연해졌다. 예를들어 소스 편집기에서 글자 크기를 바꾸려면 기존 버전에서는 메뉴에 들어가 폰트 조정을 해야했지만, 지금은 마우스 휠로도 크기 조정이 가능. 하지만 덕분에 램을 많이 잡아먹으며, 그래픽카드가 구리면 편집기가 느려지는 희한한 모습을 보여주기도 한다.
본격 WPF로 만들어진 프로그램으로 WPF 프로그램 만들기

그리고 기존 버전에 비해 Visual C++(와 MFC) 지원이 강화되었다. 특히 인텔리센스가 크게 강화되어[8] 거의 C# 개발환경을 따라잡게 되었다. 실시간으로 컴파일러를 돌려 결과를 보여준다는 평이 나올 정도의 수준. 또한 다이얼로그 편집기가 강화되어 리본메뉴를 시각적으로 디자인 할 수 있게 되었다.

devenv.exe(주 실행파일)이 이전 버전보다 메모리 사용량이 극적으로 늘어나는 문제나 확 느려진 속도 때문에 불만을 많이 사고 있다.

SxS Assembly 기술은 다시 사라졌다(...) VS2010으로 개발한 프로그램은 MSVCR100.DLL과 MSVCP100.DLL만 함께 넣어주면 잘 돌아간다. SxS에 대해 잘 모르는 개발자들의 원성이 어지간히 많았나보다(...)

3.8. Visual Studio 2012 (11.0)

vs_2012.png
[PNG image (11.13 KB)]


기본적으로 닷넷 4.0 ~ 4.5 까지 지원하지만 .NET Framework 3.5를 설치하면 2.0부터 개발할 수 있다.

2010 버전에서의 메모리 문제나 속도 문제가 많이 해결되었다. 로딩이나 컴파일 등 전반적인 면에서 상당히 빨라졌다. 추가로 C#에 밀려 천덕꾸러기 취급이냐는 소리까지 듣던 C++ 지원이 더욱 강화되었다. 2010에서 '어지간히' C#을 따라잡았다면 이제는 실제로 C#과 같이 실시간 컴파일을 통한 인텔리센스를 지원한다.[9][10] 또한 DirectX와 GPU를 직접 지원한다.

UI가 메트로 UI로 변경되었고, 메트로 UI 앱을 개발 (Windows 8, Windows Phone) 할 수 있게 되었다. 그리고 XP에 설치가 불가능하다. (물론 요즘은 지원종료되어서 상관이 없긴 하다.)[11] Express 제품군은 이 버전부터 통합 개발 환경(IDE)이 도입되었다.[12]

추가적으로 VS2012 환경에서 C++를 컴파일 할 경우 XP와 Server2003에서 구동이 되질 않는다![13] 마이크로소프트 측에서는 이 문제를 해결하지 않겠다고 버팅기다 현재까지 현역으로 돌아가는 XP와 Server2003 이 워낙 많은 탓에 결국 꼬리를 내리고 VS2012 SP1 업데이트에 XP컴파일 환경을 추가하였다. 하지만 이게 완벽한 물건이 아닌탓에 이를 통해 컴파일을 진행하였는데도 XP에서 작동하지 않는 현상도 종종 발견되는 듯 하다.

이는 .NET Framework를 기반으로 하는 C#에는 해당되지 않는 이야기다

3.9. Visual Studio 2013 (12.0)

윈도우의 발표주기가 짧아지면서 비쥬얼 스튜디오도 거기에 맞춰 약 1년만에 후속버전인 2013 버전이 등장하였다. 그런데 역시나 시간이 모자랐는지, 말만 후속버전일뿐 .NET 도 4.5 에서 4.5.1 로 마이너 업데이트(버전넘버야 숫자일뿐이긴 하지만, 그래도 기존 비쥬얼 스튜디오는 보통 1.0 혹은 0.5 단위씩 버전업을 해서 나왔다.), C++11 도 gcc 는 거의 다 지원이 돼가는 상태고, 무서운 신인인 clang 은 C++11 뿐만 아니라 지난 11월 6일 C++11 의 마이너 업데이트 버전인 C++14 기능들까지 모두 지원한다고 발표가 난 반면, VS 컴파일러는 마이너 업데이트에 그쳐 C++11 지원에 지지부진한 상황이다. C# 역시 상황은 크게 다르지 않아서, Roslyn 업데이트가 뒤로 미뤄져서 변한건 거의 없다. C 는 애초에 MS 에서 버린 언어라 별 변화가 없긴 하지만, C++11 지원하는 와중에 그에 필수적인 C99 기능 몇개가 묻어가는식으로 업뎃되었다. (...) 덕분에 이게 비쥬얼 스튜디오 2012 마이너 업데이트 버전이지 무슨 2013 이냐며 신나게 까이고 있다. 사실 업데이트가 많이 이루어진 부분이 있는데 2012까지도 병맛의 기운이 넘치던 F# 툴은 이번 2013에서 상당히 보강되었다. 문제는 F# 사용자가 너무나 적다보니 그걸 느낄 사람도 별로 없다는거(...)
2014년 9월 기준 Microsoft DreamSpark에서 받은 비주얼 스튜디오2013 한글 버전은 디지털 서명이 누락되어 설치가 되지 않는다.
2014년 12월 중순 기준 Microsoft DreamSpark에서 받은 비주얼 스튜디오2013 한글 버전의 윈7 32bit 에서의 정상 설치를 확인하였다.

이 버전부터는 윈도우 비스타에 설치할 수 없다. 윈도7 SP1부터 지원. [14]

그렇게 대차게 까이던 비주얼 스튜디오 2013 에서 갑작스런 변화가 불었는데, 비주얼 스튜디오 2013부터 커뮤니티 에디션이 추가되었다. 커뮤니티 에디션은 비주얼 스튜디오 Professtional 의 모든 기능을 담으면서, 개인 개발자, 학생, 5인 이하 소규모 스타트업 기업에게 무료로 배포하고 있다. (제품소개 및 다운로드) 아래 Visual Studio Community 항목 참조.

3.10. Visual Studio 2015 (?)

비주얼 스튜디오 14 CTP로 공개되고 있던 버젼이 비주얼 스튜디오 2015로 공식적으로 발표되었다. 프리뷰 버전에서 주목할만 점은 C++11 과 C++14의 지원이 대폭 늘어난점(C++11/C++14/C++17 Features in VS 2015 Preview)과 애플의 Clang/LLVM 의 지원(!!!) 및 안드로이드 에뮬레이터를 포함한 모바일 통합 개발 환경의 지원이다. 다름아닌 마소가 타플랫폼 개발을 지원한다는 것은 일대 사건에 가까운 일.

4. Visual Studio Express Edition

가장 좋은 것은 정말 무료라는 점입니다.
- Visual Studio 2012 홈페이지에서.

비주얼 스튜디오의 무료 버전. 다운받으러 가기

MS에서 공식적으로 제공하는 무료 버전이다. 정식 버전에 비해 몇몇 기능이 제한되어 있고, MFC가 빠져있다. MFC는 다른 UI 라이브러리도 대체해 보도록 하자. Win32 API 를 써서 일일히 노가다를 하면 된다. WxWidget, Qt, GTK등을 무료로 쓸 수 있다.

비주얼 스튜디오 2013부터 커뮤니티 에디션이 출시됐고, 2015년부터는 커뮤니티 에디션으로 대체되어 Express 에디션은 2013에서 끝날 듯.

5. Visual Studio Community

익스프레스 버전을 완전히 대체할 것으로 보이는 개인 사용자용 무료 버전이다. 이곳에서 받을 수 있다. [15] 윈도, 안드로이드, iOS용 앱을 모두 개발할 수 있다고 한다. 2013버전의 경우 비주얼 스튜디오 2013 프로페셔널을 기반으로 하며, 익스프레스 에디션과 달리 익스텐션을 사용할 수 있는 등 개인 개발자에게는 별 기능제한이 없다고 할 수 있고 상업용 앱을 개발하는 것도 상관없다. 다만 회사나 기관 등에서 사용하려면 당연히 제약이 있다. 대체로 교육, 학술연구, 오픈소스 등 비상업적인 용도로 사용된다고 보면 된다.
----
  • [1] 윈도우 애플리케이션에서는 더 이상 C 를 사용하는 경우가 거의 없다. 비주얼 스튜디오에서 제대로 지원 안 하는 것도 있지만, 당장 순수 C로 GUI 처리하기가 완전 생노가다이기 때문. 뭐 그 짓 한번 하고 나면 윈도우를 심층적으로 이해하게 되는 장점은 있다. 유닉스 진영에서는 커맨드 라인에서 실행되거나 GUI를 분리하는 경우가 꽤 많기 때문에 아직 C 프로그래밍이 활발한 편이다. 주로 사용되는 남아있는 분야중 하나가 OS(특히 커널) 인데, 윈도우 역시 C 로 개발되기는 마찬가지나, 문 걸어잠그고 회사 내에서 개발하는 것이니 일반 애플리케이션 프로그래머들에게는 먼 나라 일로 느끼는 듯.
  • [2] 대학생 뿐만 아니라 중, 고등학생도 포함되며 사실상 초등학생도 가능하다.
  • [3] 초, 중, 고등학생도 학교 이메일을 학생들에게 주는 경우가 거의 없기 때문에 그냥 대부분의 경우라면 초, 중, 고등학생도 이쪽에 포함된다고 보면 된다.
  • [4] MSN(윈도우 라이브) 계정만 있다면 간단한 정보를 입력한 후 무료로 등록하여 사용할 수 있다.
  • [5] MSVCR90.DLL, MSVCP90.DLL
  • [6] 웃긴것은 VS 2008에 기본으로 포함된 설치프로젝트 설정에서는 병합모듈을 추가할 수 없다(...) 대신 MS에서 공식으로 밀어주는 WiX(Windows Installer XML)을 사용해 보도록 하자.
  • [7] windows presentation foundation의 약자.
  • [8] 기존에 사용하던 ncb파일을 버리고 프로젝트별로 별도의 DB를 사용하게 되었다. 덕분에 디스크 용량을 무섭게 잡아먹는다. 조그만거 만들어도 수십메가는 기본이고 어지간한 거 만들고 있자면 임시 파일만 기가바이트 단위로 먹고 있는 모습을 볼 수 있다.
  • [9] C#의 인텔리센스는 훨씬 이전에 거의 완벽한 수준으로 완성되어 있었다.
  • [10] 어느 정도냐면 C#으로 윈도우 앱을 만들 때 코드상에서 인터넷 기사 목록을 읽어와 화면에 리스트로 출력하게 만 코딩!만! 해두었는데 잠시후에 UI 디자인 창에 파싱된 결과가 출력되어 있었다.
  • [11] 비스타도 불가능하다. 7부터 가능하다.
  • [12] 그 전까지의 Express 제품군은 VS 6.0처럼 각각 개별 프로그램으로 구성되어 있었다.
  • [13] 정확히는 플랫폼 도구 집합이 v110으로 설정되어 있는 경우.
  • [14] 다만 타겟 플랫폼은 여전히 XP부터 가능.
  • [15] 영문판은 주소의 ko-kr를 en-us등으로 바꾸면 된다.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2015-03-28 22:05:45
Processing time 0.1367 sec