코드명 Orcas의 첫 CTP인 9월 CTP!
Download details: Visual Studio Code Name "Orcas" September 2006 CTP
Orcas는 Visual Studio 차기 버젼의 개발 코드명입니다. Visual Studio 2005가 릴리즈 된 이후로 Orcas는 내부적으로는 2번의 CTP를 만들었었는데, 이번 3번째 CTP는 공개적으로 릴리즈 하기로 하였습니다. Visual Studio의 개발버젼 CTP를 공개하는 것은 지금까지 없었고 이번이 처음이라 나름대로 의미가 있는 일입니다.
고객들에게 개발중인 제품을 빠른 주기로 CTP(Community Tech Preview, 커뮤니티 기술 프리뷰)로 보여주는 것에는 사실 많은 의미가 담겨져 있습니다. 일차적으로는 뉴스등에서 이야기하는 - 회사가 커서 결정사항이 느리다는 등의 - 마이크로소프트의 큰 덩치로 인한 Agile하지 못함에 대한 응답이라고 할 수 있겠습니다.
큰 상용 제품을 정식 릴리스 엔지니어링 과정을 겪어보셨다면 별도로 브랜칭하여 제품을 공개하는 것이 쉬운 일이 아니라는 것을 알고 있을 것입니다. 거기다가 Visual Studio는 30개 안팎의 제품 유닛(Product Unit)이 모여서 만들어진 제품입니다. 이들 유닛이 완전히 독립적인 것이 아니라 서로 의존성(Dependency)를 가지기도 하기 때문에, 한마디로 30개의 제품을 동시에 릴리즈하는 것 이상이라는 이야기지요. 공개 소프트웨어였다면 이미 코드의 퀄리티를 사용자가 언제든지 볼 수 있는 상황이기 때문에 괜찮은 상태의 빌드를 Freeze하여 그 상태로 패키징하는 것이 일반적인 과정이겠지만, 코드가 공개되어 있지 않은 회사의 상용제품에는 생각해야될 것이 더 많습니다.
예를 들어, 서로 Dependency 빈도가 많은 Apache의 자바 프로젝트들이 일제히 매달 한날에 동시에 베타를 공개한다고 생각해본다면 어떤 느낌인지 알 수도 있을 것입니다. 스케줄을 맞추는 것은 난제일 것이기에 별도로 관리해야할 것이입니다. 또한 의존성을 가지는 프로젝트의 API가 살짝만 바뀌어도 이를 사용하는 모든 프로젝트들이 여기에 맞춰서 변경을 해야되는 상황이 발생할 것이고, 이 때문에 변경사항 자체를 전체적으로 관리를 별도로 해야할 것입니다. 모든 제품들이 각기 사용하는 릴리스 엔지니어링 방식도 물론 통합하거나 톱니바퀴처럼 물려야 겠죠. 물론, 상황에 대한 그림을 그려보기 위해서 예를 든 것이지 Apache의 프로젝트들이 한날 한시에 베타를 공개할 일은 없을 것입니다.^^
CTP를 공개하기 위해서 전체 코드를 Freeze(수정 불가 상태)했다면, CTP가 아닌 정식 RTM을 위한 개발은 그대로 멈추게 되는 것이기 때문에 병행 작업을 위해서 CTP를 브랜칭(어떤 시점에서 CTP를 위해 개발을 분리)하게 됩니다. RTM을 위한 개발은 계속 되는 것이고 CTP의 안정화를 위한 작업 또한 병행하게 되는 것입니다. 이외에도 회사들은 내부에서 개발하던 것을 외부에 보여주기 위해서 해야할 많은 작업들이 있습니다. 모든 유닛들의 결과를 모아 한데 묶어놓은 바이너리를 가지고 테스트를 해야하는 것은 물론이고, 문제가 있다면 이를 수정해주어야 할 것입니다. 물론 수정된 내용은 RTM에도 해당할 수 있으므로 수정사항을 RTM 브랜치에 병합(Merge)해주는 과정도 거쳐야 합니다. 간단히, 바이러스를 체크하는 작업에서부터 법률적으로 회사에 문제가 될 부분들에 관한 문서들이 포함되어야하고, (이번 CTP에서는 패키징을 하지 않았지만) 설치하기 쉬운 형태 혹은 배포하기 쉬운 형태로 만들어서 이를 확인해야합니다. 몇가지만 나열했지만 얼마나 많은 작업이 필요한지 느낌이 올 것입니다.
이번 Orcas CTP의 특징 중 하나는 Orcas의 개발이 시작될 때부터 개발 단위를 기능별로 나눴기 때문에, 어떤 기능이 들어갔고 어떤 기능이 들어가지 않았느냐가 명확하다는 것입니다. 또한 기능별로 품질(Quality)를 관리하기 때문에 지금처럼 개발주기의 초기에도 어느정도 수준을 가진 CTP를 발표할 수 있게 되는 것입니다. 각 기능은 일정 품질 이상이 되지 않으면 이를 수정하기 위해서 스케줄이 늦어지는 것이 불가피하게 되므로, 이를 맞추는 일의 중요도를 높게 두게 됩니다.
이번 CTP의 주요 기능들을 나열하면 다음과 같습니다(원문은 위의 링크에 있습니다):
- 기존의 Visual Studio 2005의 향상.
- 제품 품질을 위한 투자 증가.
- LINQ to Objects API
- LINQ to Objects API는 메모리 내의 .NET 컬렉션(배열이나 Generic 리스트등)에 대한 쿼리를 지원하는 LINQ 확장입니다. 이 API는 System.Core.dll내의 System.Query 네임스페이스에 정의되어 있습니다. 자세한 내용은 여기에. (참고로 LINQ프로젝트와 함께 개발되고 있는 DLINQ, XLINQ등의 코드명에서 LINQ to SQL, LINQ to XML등으로 이름이 LINQ to *로 개명되었습니다.)
- C# 3.0을 위한 언어적인 지원: CTP에서는 C# 3.0의 일부를 구현했습니다.
- Local variable type interface.
- Lambda expressions
- Object initializers
- C# 3.0을 위한 IDE 기능 부분적인 지원: C# 3.0의 언어적인 지원 외에 개발 환경(IDE)에도 향상이 있었습니다.
- 새로운 기능을 위한 Colorization(색처리)와 Completion List.
- Edit & Continue상 좋지 않은 변화(Edit) 감지 기능.
- 로드와 (디바이스용)유닛테스트등의 VSTS 기능 향상.
- 디바이스 개발 지원 향상.
- VSTS 통합.
- IDE에서 디바이스의 보안 설정 수정 가능.
- Windows Vista 응용프로그램 개발 지원.
- VSTO의 워드/엑셀 2007에서의 문서 레벨 customization 지원.
- eMbedded Visual C++ 4.0 개발자들이 기존 응용프로그램 제작에 VSOrcas를 사용 가능.
- .NET Framework 향상:
- 버젼호환에 용이한 확장모델을 개발할 수 있는 새로운 Managed Add-in 모델.
- 타임존 변환, 열거, serialize 가능. 썸머타임제등이 계속 변화하는 상황도 가능.
- 부분 신뢰 상태에서의 Reflection. 이를 통해서 Sandbox 시나리오가 가능.
- GC(Garbage Collector)의 latency 모드를 조절할 수 있음.
- CLR 쓰레드풀의 마이크로 퍼포먼스를 향상. 워커와 IO Completion의 쓰루풋 향상.
이번 CTP는 아직 설치에 관련된 문제들을 해결할 단계가 아니기 때문에 Virtual PC 이미지로 제공이 됩니다. 현재 무료로 제공중인 Virtual PC나 Virtual Server를 설치하여 실행하시면 됩니다. 이런 이유로 3.5기가라는 크기의 압박이 있습니다.
정확한 날짜나 계획은 공개가 불가능하지만, 결론적으로 베타와는 다르게 Orcas CTP는 앞으로도 계속해서 공개될 예정입니다.
Comments
- Anonymous
September 28, 2006
The comment has been removed - Anonymous
September 30, 2006
Visual C++ Team Blog Orcas CTP now includes STL-CLR 얼마전에 소개드린 Orcas의 첫 CTP인 9월 CTP에 그동안 개발되어온 STL의 CLR... - Anonymous
October 30, 2006
Download details: Visual Studio Code Name "Orcas" October 2006 CTP 코드명 Orcas의 10월 CTP가 공개되었습니다. 9월 CTP때