본문 바로가기

언어

Visual Studio 6.0를 계속 쓸까? 아니면 Visual Studio 2008로 바꿔?

현재 쓰고 있는 개발 도구인 Visual Studio 6.0을 계속 쓸 것인가? 아니면 이 기회에 Visual Studio 2008로 바꿀까? 라고 한번 쯤 고민해 본 사람들이 많을 것 입니다. 그런 분들을 위하여 함께 이 블로그에서 토론을 하고자 합니다.

마이크로소프트는 틈마다 세미나에서 하는 이야기가 잘 쓰고 있는 현재의 도구를 버리고 새로운 도구를 쓰라고 합니다. 맞나요? 현재 하고 있는 프로젝트에서 잘 쓰고 있는데도 말 입니다. 그러나 이 질문에 대해 저는 이렇게 답변을 하고 싶습니다.

첫째, 기술이나 개발 도구 보다 더 빠르게 변화하는 것이 비즈니스 입니다. 사실 IT가 나오게 된 것도 그동안 비즈니스에서 종이로 손수 처리 하던 것을 빠르게 처리하고 저장하기 위해 컴퓨터를 도입하게 되었습니다. 그런데 예전 보다 훨씬 더 빠른 속도는 이러한 컴퓨터가 서로 맞물려 연결되고 이것이 거대한 지구 전체의 컴퓨터가 연결되는 이른바 인터넷이 오면서더욱 더 빠르게 변화하는 것 같습니다. 여러분이 보시는 주가도 하루에 숱한 변동을 하는 것처럼 비즈니스도 보이지 않지만 어제의 적이 오늘의 동지가 되고 있지 않습니까? 이것을 전산적으로 지원하는 것이 바로 IT 기술과 그것을 만드는 소프트웨어 개발 도구라고 생각합니다.

v6up

예를 들어, Visual Studio 6.0은 펜티엄 듀얼 코어를 지원할 수 없습니다. 왜냐하면 Visual Studio 6.0이 나올 때에는 펜티엄 듀얼 코어는 나오지 않았기 때문에 이러한 최신 하드웨어를 지원할 수가 없습니다. 따라서 이러한 최신 하드웨어의 특성을 그대로 충분히 이용하여 여러분의 프로젝트에서 쓸 수 있다면 성능 면에서 확장성과 안정성을 보장 받을 수 있습니다. 바로 이 때문에 최신 개발 도구로 업그레이드 하시느라 조언을 드리는 것 입니다.

둘째, 이제는 소프트웨어 개발을 하는 것이 혼자서 하는 작업이 아니라 여러 명이 작업을 해야 합니다. 필자가 대학 시절에 선배와 한국인이라는 도스용 데이터베이스를 개발할 당시에는 1인 혼자서 설계하고 프로그래밍 하고 디버깅해도 무방했습니다. 그러나 금융권의 전산 시스템이나 인터넷의 쇼핑몰 등이 혼자서 할 수 없습니다.

물론 혼자서 즐기면서 할 수도 있겠지만 상업용 소프트웨어 개발은 이제 팀 단위로 개발 하는 것이 필수가 되었습니다. 그러다 보니 역할들이 생겨납니다. 프로젝트 관리자, 아키텍처, 코더, 테스터 또는 품질 검증팀, 운영 및 유지보수 등. 이러한 것은 도깨비 방망이로 뚝딱해서 나온 것이 아닌 소프트웨어 생명 주기(ALM)로 부터 나오게 되었습니다.

j0078616[1]

그 만큼 소프트웨어 개발이 덩치가 크기 때문에 우리가 건설하는 건물처럼 뼈대를 세우고 그 위에 포장을 하며 추후 애프터 서비스와 같은 보완이 필요하게 됩니다. 소프트웨어 개발 도구라면 당연히 설계 및 디자인, 코딩, 단위 및 복합 시나리오 테스트, 배포 및 보안 인증 등을 지원해야 합니다.

그러나 Visual Studio 6.0 당시에는 이러한 거대한 소프트웨어를 개발할 필요가 없기 때문에 이를 지원하지 않았습니다. 물론 그 때에도 소스 형상 관리를 위해 Visual Source Safe 와 같이 안전하게 소스를 백업하고 협업하는 유틸리티 도구가 있었지만 개발자가 수동적으로 관리해야 하는 부분이 많았습니다. 이를 Visual Studio 2008 팀 시스템과 팀 파운데이션 서버가 지원해 줍니다.  

셋째, 첫째와 둘째가 개발자들에게 합당한 이유라고 하지만 막상 실제 현장에서는 가장 많이 물어 보는 질문들이 현재 만들어 놓은 코드를 새로운 도구나 라이브러리에 적용 시켰을 때 그대로 쓸 수 있냐는 일 것 입니다. 100% 자동적으로 바꾸어 줍니다! 라고 저도 외치고 싶어요~!!

그러나 그 때 그 코드마다 다른 것이 현실이라는 것을 저도 잘 알고 있습니다. 따라서 이를 지원하기 위해 상호 호환성(Interoperability) 와 상위 코드로 이동성(Migration)을 지원하는 가이드 라인을 가지고 Visual C++ 부트 캠프 라는 교육도 곧 개최할 예정입니다. 또한 .NET 프레임워크 1.1 으로 짠 코드, .NET 프레임워크 2.0 으로 짠 코드 그리고 .NET 프레임워크 3.0 으로 짠 코드 들이 여러분 개발 PC에 숨쉬고 있을 겁니다.

여러분들은 이러한 코드를 어떻게 유지 보수 하십니까? 설마 .NET 1.1에서 패치한 코드를 카피 앤 패스트, 그것도 간단하게 좋은 방법이지만 왠지 스마트(Smart) 한 느낌은 들지 않습니다. Visual Studio 2008 에서 멀티 타겟팅 기능으로 여러 가지 플랫폼을 하나의 솔루션에서 적용시킬 수 있도록 지원해 줍니다.       

multi-target  
*출처:http://blog.it-hero.co.kr/blog_post_25.aspx