IT业是一个创造奇迹的行业,IT业也是一个年轻的行业,IT业更是一个不断更新的行业。在2009年,微软已经连续推出Visual Studio2010 beta1 与 Visual Studio2010 beta2 两个版本.目前Visual Studio2010的RC版已经发布, RC版本已经展示了Visual Studio2010的所有新特性与革新,自从Visual Studio 98问世推出以来,Visual Studio 98-> 2002 -> 2003 ->2005 ->2008 ->2010,产品几乎平均2年就要深度的更新一次,带来更加高效的代码生产力,给程序员带来更多新奇与便捷。
Visual Studio 2010在2010年4月12日全球5个城市:北京、拉斯维加斯、伦敦、班加罗尔和吉隆坡将同时发布。由于时差关系,北京成为了绝对时间上第一个发布的城市。我们将见证这个辉煌的时刻,正如Visual Studio 98发布的时刻。
Visual C++曾经是Visual Studio 6.0中的首席编程语言,Visual C++6.0是中国C++开发人员使用最多的开发工具。 Visual C++是构建Windows平台下应用程序功能最强大而又最复杂的工具,是目前世界上使用最多的开发工具之一,应用极度广泛,从桌面应用程序到服务器程序,从系统软件到应用软件,图形图像,3D游戏,语音技术,设备驱动,网络通信,信息安全,加密解密等等几乎无处不在。主流的3 种操作系统Windows,Linux,Unix内核都是用C语言和汇编语言写的,上层高级特性是用C++写的。
在中国时至今日,Visual C++6.0仍然占据着C++开发工具的垄断地位。自从微软从2000年开始推行.NET战略以来,其核心及缺省的编程语言是C#,C++的支持力度不断下滑,Visual C++仅有几次不大的更新,类似黄鼠狼结婚-小打小闹,让所有的开发者倍感压抑,甚至怀疑Visual C++的前途。尽管Visual C++在一些快捷开发被其他开发语言取代,由于C++可以与操作系统的天然黏合,可以与C语言无缝集成,所以Visual C++永远不可能被淘汰,尤其在底层开发。而且由于VC++学习难度较大,所以好的VC++程序员都非常难找,而且VC++程序员薪水平均水平高于其他语言。尽管Visual C++很好很强大,是编程语言里面当之无愧的王者。但是Visual C++6.0已经老了,例如说几乎让所有Visual C++6.0开发人员郁闷的是,Visual C++6.0开发的界面还停留在Windows 98的水平上,丑陋而简单,丑的简直要罚款,比起现在风光无限的Windows7的华丽界面简直是天壤之别。而且Visual C++6.0也不完全符合C++标准。
当年微软推出的Visual Studio.net 2003的时候, C++编译器已经能够和ISO C++标准保持98%的一致(这比以前任何一个版本都更加接近)和一体化的语言支持特性,如局部模板特定化;同时也包括了增强的缓冲区安全检查和改进的编译器诊断功能。同时C++也可以像Visual C#一样开发.Net,同时进行MFC与.Net的互操作,由于C#的强势,在中国开发.net首选用C#,没有人考虑用C++。MFC与CLR可交互性这个优点无从得以应用。
到了Visual C++ 2005,微软又加入了更多的改进。比如,有了一套新的语法,不但显得更“优雅”,而且更强大;它拥有新的优化技术,可使程序的速度最高提高30%;同时新的编译模式,可保证在Microsoft .NET Framework之上生成完全遵从CLI(Common Language Infrastructure)的可验证代码;新的interop模式,可提供本地与托管代码的无缝融合。相对于前两个版本,新编译器还包括了一个增强版本的缓冲区安全检查选项,而且对C++程序普遍使用的库,也有新的注重安全的版本。但是给更多程序员带来的麻烦在于,很多项目都是基于VC6.0的,因为编程语言标准的变更与不熟悉编译器设置,经常带来一大堆升级问题,所以很多人弃用Visual C++ 2005,还是用Visual C++6.0。
在Visual Studio 2008中增加Ribbion增强的MFC功能,并让VC++更加靠近C++0x标准。Ribbion虽然在界面上增强了Visual C++的界面功能,开发类似office2007的界面,但是Ribbion界面设计并不能可视化,带来了很大的开发难度,项目升级因为语言标准带来的问题多多。Visual C++6.0仍然占据统治地位。
在2009年,Windows7正式发布,它吸取了Windows Vista因为兼容性而失败的教训,它具备 Windows XP的良好兼容性与Windows Vista的华丽界面,并针对当今已经成为主流的多核处理器进行了优化,在多核平台,Windows7性能已经远胜过Windows XP, Windows7势必成为主流,Windows7也具备Windows XP的所有优点,要求配置低,性能稳定,兼容性好,Windows XP在未来也势必逐步退出历史舞台,Windows7也势必占据主流。Office 2010的测试版也在2009年公布,微软下一代Office办公软件也即将在2010年发布,它强调云协同办公,就是业内流行的云计算模式,让办公更加高效,同时升级了安全策略,让企业在办公的时候知识产权与商业秘密保护更容易。并细心的在Office 2010里面增加了用户需要的新功能与新特性。 Visual Studio2010的诞生就是为了开发基于Windows7,Office 2010的程序和更加快捷方便地开发程序。
Visual C++ 2010将与它的前辈Visual C++ 6.0成为一样的经典开发工具。Visual C++ 2010在语言层面开始支持最新的C++标准.在IDE以及MFC库等方面,微软也下了很大的力气。Visual C++2010不仅改善了IDE的效率,同时也引入了很多新的特性,这些IDE增强能够大大提高程序员们的开发效率,带来更高的代码生产力与开发便捷。
在Visual C++6.0开发里面最大的缺点,界面简单丑陋,尽管在Visual C++ 2008里面增强了Ribbion功能有所改善,但是不能可视化设计,Visual C++ 2010将Ribbion界面新增了Windows7风格,同时最大的革新就是Ribbion设计可视化,Ribbion作为资源的一部分,操作将如同控件菜单一样容易。很容易设计出漂亮的程序界面。 同时Windows7界面的一个很大的革新就是超级任务栏,Visual C++ 2010在MFC功能新增了超级任务栏的支持。还有传统的MessageBox已经被基于Windows7的TaskDialog取代,Visual C++ 2010在MFC中新增了CTaskDialog类。
Visual Studio 2010提供了很多工具来帮助程序员开发基于Windows 7的应用程序.在Visual Studio 2010中,微软花了很大的力气来使得非托管C++代码的开发更加容易和高效。升级了MFC的库和头文件以全面支持Windows 7,。支持Windows7的UAC数据重定向,安装程序检测,会话0隔离,用户界面特权隔离,版本检查等等全新操作系统新特性。在Windows7上开发多点触摸,语音识别,语音合成,Tablet PC笔迹应用,Windows Search,传感器,加密解密等等将更加容易。结合Windows SDK for Windows7,我们程序员用Visual Studio2010创造的机遇开发出更多更有价值的程序。
同样我们开发的程序经常会出现异常,出现异常,程序当机时,所有运行的数据都会丢失,在财务软件,文档软件等等,这种打击是致命的。Visual C++ 2010新增了Restart Manager Support支持,在程序异常的时候,能够保存运行时的数据,自动恢复到未发生异常时的情况。提高了程序的稳健性与可靠性。Visual C++ 2010还提高了代码安全性检查,提高代码的稳健性与安全性,更少出现异常与溢出。
Visual Studio 2010开始对C++新标准C++0x的全面支持,不会再像Visual C++ 6一样,对C++标准支持不佳。引进了很多C++新特性,这些新特性带来C++性能与效率更大的提升。并且在项目升级上做了很大改进,以前Visual Studio 2008, Visual Studio 2005升级VC6.0的时候,经常遇到C++语言新特性标准兼容性问题,Visual Studio 2010将兼容VC6.0,乃至Visual Studio2008,2005,2003开发的程序,进行代码转换与项目升级的时候自动更改编译器设置C++语言兼容,用以前的开发工具开发的程序在Visual Studio 2010都将不会再出现兼容性问题与故障。那些已经存在的非托管应用程序,通过一定的处理也同样能够具有Windows7所带来的特性。所有的老项目都能用Visual Studio 2010进行兼容性升级。
同时在IDE方面,微软将Visual C++的构建系统VCBuild整合到了MSBuild中;借助后台编译,Visual C++的IntelliSense更加智能,能够处理更多的文件,更加复杂的项目。
Multi-Targeting曾经作为Visual Studio的一个重要特性,受到微软的大力推广。因为它使得“一次编码,多个平台运行”成为可能。这一特性给程序员们带来了极大的便利,再也不用为目标机器混乱的平台而头疼。但是在之前的Visual Studio中,Multi-Targeting特性只在托管语言中得到支持,可以针对不同的.NET Framework版本。现在在Visual Studio 2010中,随着MSBuild的应用,同样支持本地代码的Multi-Targeting。
Visual Studio2010支持多核硬件的资源管理,以及Concurrency Runtime允许的任务计划。Visual Studio2010的C++编译器针对Intel,AMD多核心处理器做了很大优化与改进,执行效率更能发挥多核心的优势,速度更快,体积更小,让现在主流的双核,四核CPU发挥最大的性能。并且可以开发并行编程,同时多线程开发更加容易,执行效率更高,新增了并行编程调试,可以并行监视调试若干个线程。在本地C++库,可以使用Lambda函数,并与STL相匹配无缝集成。
同时Visual Studio 2010改变了依赖于Visual C++库的应用程序的发布方式。依赖于Visual C++库的应用程序不再需要Fusion (WinSxS) Manifest,这意味着当我们将应用程序部署到一个本地文件夹时,将不再需要众多的小Manifest,只需要复制MFC和C++运行时库mfc100u.dll和 msvcr100.dll这两个dll文件到Release文件夹就可以了。另外,Visual Studio 2010也同样支持之前的各种部署机制,例如合并模块(.msm)和VCRedist。这些旧有的方法将在System32目录下安装Visual C++库。总之,Visual C++程序的发布与部署将更加简单。
Visual C++ 2010也对于开发人员做了很多人性化设计,以前的Visual C++版本,经常出现假死,例如头文件编辑,改变项目设置,配置项目的物理分布,新增控件等等。微软都做了很多调整,不会再让Visual C++ 2010卡壳,同时有了全新智能的IntelliSense,要远胜过现在几乎每个使用Visual C++6.0程序员都安装的 Visual Assist。
Visual Studio2010是为了Windows7而生的,它强悍的功能与新特性,新技术让我们犹如看见北极光一样目不暇接,在今天知识大爆炸的二十一世纪,唯有不断学习新知识新技能才能跟得上时代的发展。
有了这些理由,Visual C++开发人员,你有什么理由不升级到Visual C++2010呢?
如果你是使用Visual C++6.0的Visual C++开发人员,你不升级到Visual C++2010有下列坏处,
如果你是使用Visual C++2003,2005,2008的Visual C++开发人员,你不升级到Visual C++2010有的后果可以参考下Visual C++6.0不升级的后果。
落后就要挨打,这条教训没有人不知道,希望广大Visual C++程序员,升级到Visual C++2010,进入下一代开发平台,实现IDE的现代化,抓住Windows7与多核CPU带来的巨大革新性机遇,在自己的职业生涯中获得更大发展!
本文作者专著《Visual C++2010开发权威指南》即将推出,敬请关注,Visual C++2010最近技术,Windows7开发最新技术!
时值4.12 微软VS2010大会,敬请参加!会场会有本书的详细介绍!