MSDN第9频道又采访了Visual C++类库组的项目经理Nikola Dudar和Sarita Bafna,以及质量控制组的Marina Polishchuk。尽管Visual C++项目组已经转移了工作重点,但是很少人注意到这一点。或许这些采访可以帮助你了解Visual C++项目组的工作。
为什么C++仍旧重要?
- 非托管的应用程序有很大的代码积累,而这些程序的升级工作仍旧在进行
- 性能是选择C++的重要因素。举例来说,游戏和杀毒程序更适合用托管代码来编写。
- 多平台支持。虽然.Net号称是跨平台的,但是如果要编写真正的跨平台程序,开发的时候遵循C++标准还是很有必要的。
为什么C++程序员仍旧重要?
- C++程序员理解整个机器的运作,他们知道怎么写垃圾收集机制,甚至可以写机器代码
- C++程序员可以很容易的学会其他语言——C++已经是最难学的语言之一了
- C++程序员并不只使用一种语言。如果有必要的话,他们会选择汇编、C#或者Perl这样更适合特定任务的语言。
为什么Visual C++项目组转移了工作重点?
- C++程序员对于转到C#没有抵触心理,所以Visual C++项目组不认为有必要尽快实现Visual C#支持的所有特性,比如LINQ和WPF设计器
- C++程序员对于让他们的非托管程序调用其他语言的托管代码比用C++来写托管代码更有兴趣
- 核心模块,例如IE和Windows外壳会更加频繁地更新,而会有更多的非托管代码需要调用这些新的特性,为了这些特性,有必要在MFC中引入新的封装类来节省C++程序员的时间
Orcas中Visual C++的新特性:
- 托管代码互操作库。可扩展的托管数据类型和非托管数据类型的转换支持
- STL/CLR。使得托管代码可以利用旧的STL编写的算法
- Vista支持。对Vista中新的通用控件和文件对话框等界面元素的MFC封装。
- DevExpess重构引擎——将包含DevExpess的Refactor!? for C++。
Orcas之后的考虑
- 更新界面。有些Visual C++的代码是针对20年之前的硬件环境设计的,已经不适合现在的需要。新的Phoenix编译引擎使得重写前台变得更加容易。
- 太多现有的代码需要重构。新的Phoenix编译引擎使得代码分析变得更加容易。
- C++标准。新的C++标准TR1可能会在Orcas下一版本开发时成为正式标准。
- 多核支持。需要编写可以充分利用多CPU的代码。第一个尝试是LINQ。
结论
- MFC和非托管代码回来了
- 性能和多平台支持的重要性越来越低,托管代码仍旧具有很大的市场。
Visual C++项目组的其他动作
- ATL Server发布到了源代码共享站点CodePlex。这包含CAtlRegExp,在.Net和第三方类库(boost,TR1)的竞争下已经不再有必要维护一个单独的条件表达式标准了

>>
Source Link>>Blog:
joycode>>Publish Date: 4/12/2007 8:00:22 AM
>>Keywords: visual stl
Related Posts>>Visual C++的未来 # 月中MSDN第九频道对Visual C++项目组的两位产品经理进行了采访。摘要如下 很多面向中小企业的应用已经转向托管开发。但是C++的历史悠久,有太多代码积累仍旧是非托管的C++,而转向托管代码的话,C++程序员喜欢用工具支持更多的C#,所以Visual C++的焦点从托管支持转向非托管支持和托管/非托管互操作。 目前的目标包括对STL/CLR的支持和编译器级别的安全性(安全STL是类库级别的)
>>Visual Studio Orcas January 2007 Community Technology Preview和Visual C++ 2005 SP1 # Visual Studio Orcas的2007年1月CTP已经可以下载了,下载地址是http://www.microsoft.com/downloads/details.aspx?familyid=1ff0b35d-0c4a-40b4-915a-5331e11c39e6&displaylang=en。奇怪的是,Visual Studio Orcas的这个CTP居然是用RAR格式压缩的,
>>这几天微软发布的一些好玩的东西 # Visual Studio Code Name "Orcas" March 2007 CTP Visual Studio 2005已经够庞大难以安装的了(看看第5条),下一代的2007可想而知该有多麻烦。不过CTP总归是要发布的,但要是只为了尝个新鲜就要花费几天的时间来安装,那就没什么意思了。好在微软足够“体贴周到”,发布了已经安装好的VPC镜像供我们直接开始爽。不过说实话,光下载这个镜像也足够
>>Expression产品加到了MSDN订阅中 # 【原文地址】Expression Products Added to MSDN【原文发表日期】 Tuesday, April 03, 2007 9:30 AM 去年12月,微软宣布了新的Expression Studio产品。这些产品允许设计师开发精妙的用户体验,是设计来帮助促进设计师和开发人员在项目上良好的工作流协作的。 Expression产品与Visual Studio共享一个共同的项目文
>>Visual Studio Orcas Web设计器集成进VS主体代码 # 【原文地址】 Visual Studio "Orcas" Web Designer Integrated into Main 【原文发表日期】 Monday, January 22, 2007 7:37 AM 这个周末对VS Web工具开发组来说是个非常激动人心的日子。星期六,他们把新的HTML和ASP.NET “所见即所得”(WYSIWYG)设计器的代码提交进(checked in) Visu
>>ASP.NET 2.0 技巧和诀窍以及ASP.NET, IIS7 和ASP.NET AJAX End to End 讲座 # 【原文地址】 ASP.NET 2.0 Tips and Tricks and ASP.NET, IIS7 and ASP.NET AJAX End to End Talks 【原文发表日期】 Monday, February 05, 2007 4:49 PM 我结束了我旋风般的欧洲讲座之旅(在不到一个星期内横跨比利时,英国和荷兰),非常幸运有机会沿途给几百位朋友做讲座。在此特向跑来参与我讲座的各
>>系统盘到底要多少空间? # 最近我在一台计算机上安装了Windows XP。安装完之后,我去Windows Update去下载更新。为了偷懒,我选了全部组件更新,包含Windows Media Player 11和.Net 3.0这样未必会用到的组件。更新的结果是10G的硬盘只剩下3G。 OK,我承认这个分区是小了点,但是那个硬盘一共只有30G,在我的80G的硬盘上,16G的C盘也不足以安装Visual Studio 200
>>Symbian OS中的RArray类的排序功能 # RArray类,属于symbian OS提供的基础容器类,并且是比较重要和常用的一个。 如果从名字来看这是一个数据类,功能貌似和 MFC的CArray,stl的vector差不多吧?如果这么想就错了,RArray是个泛型数组容器类,但是功能比CArray vector 提供的要多。 尤其是他提供的排序和查找功能,其实现方法比较诡异,对初学者来说容易造成迷惑。个人认为这个设计比较蹩脚,至于为什么会这
>>Visual Studio 2005 sp1 中Web Project和Web Site 项目开发站点的启动问题 # Visual Studio 2005 sp1中新增了ASP.NET Web Application 应用类型。这样网站开发我们既可以选择ASP.NET Web Application 应用类型,又可以选择ASP.NET Web Site类型。 稍稍大点网站项目,我们实际的解决方案(Solution)中,可能不会只有一个网站应用程序。可能有多个,分别是上述两种。有时候我们希望这几个网站启动其中几个,