Visual Studio 历史简介(转)

Visual Studio 历史简介

  N年前,江湖上流传着几个大佬的故事,他们说:Dev-C++灵活又小巧,C++ Builder开发效率高;Turbo C是万人迷,Visual Studio的资格老。可如今,江湖上只剩下最后一个大佬Visual Studio了,其他几位不是支持者渐少,不成气候,就是转投他人怀抱,中道衰落,让人难免生出几分遗憾。但是反过来,我们又对Visual Studio这位“江湖最后的大佬”增添几分敬仰之情。据说这位大佬又要出新的版本,我们这些江湖八卦者,哪有错过的道理。要想深入的了解一个人,需要从他的童年开始。我们想了解Visual Studio,故事也就要从它的1.0开始。
  Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
  1992年4月,微软发布了革命性的操作系统Windows 3.1,把个人计算机引进了真正的视窗时代。微软在原有C++开发工具Microsoft C/C++ 7.0的基础上,开创性地引进了MFC(Microsoft Foundation Classes)库,完善了源代码,成为Microsoft C/C++ 8.0,也就是Visual C++ 1.0,并于1992年发布。Visual C++ 1.0是真正意义上的Windows IDE,这也是Visual Studio的最初原型。虽然以现在的眼光来看,这个界面非常简陋和粗糙,但是它脱离了DOS界面,让用户可以在图形化的界面下进行开发,把软件开发带入了可视化(Visual)开发的时代。从此,大佬的时代开始了。
  1998 年,微软公司发布了 Visual Studio 6.0。所有开发语言的开发环境版本均升至 6.0。这也是 Visual Basic 最后一次发布,从下一个版本 (7.0) 开始,Microsoft Basic 进化成了一种新的面向对象的语言:Microsoft Basic.NET。由于微软公司对于 Sun 公司 Java 语言扩充导致与 Java 虚拟机不兼容而 Sun 被告上法庭,微软在后续的 Visual Studio 中不再包括面向 Java 虚拟机的开发环境。
  2002 年,随着 .NET 口号的提出与 Windows XP / Office XP 的发布,微软发布了 Visual Studio .NET(内部版本号为 7.0)。在这个版本的 Visual Studio 中,微软剥离了 Visual FoxPro 作为一个单独的开发环境以 Visual FoxPro 7.0 单独销售,同时取消了 Visual InterDev。与此同时,微软引入了建立在 .NET 框架上(版本1.0)的托管代码机制以及一门新的语言 C# (读作 C Sharp,意为 C++++)。C# 是一门建立在 C++ 和 Java 基础上的现代语言,是编写 .NET 框架的语言。
  .NET 的通用语言框架机制(Common Language Runtime, CLR),其目的是在同一个项目中支持不同的语言所开发的组件。所有 CLR 支持的代码都会被解释成为 CLR 可执行的机器代码然后运行。
  Visual Basic、Visual C++ 都被扩展为支持托管代码机制的开发环境,且 Visual Basic .NET更是从 Visual Basic 脱胎换骨,彻底支持面向对象的编程机制。而 Visual J++ 也变为 Visual J#。后者仅语法同 Java 相同,但是面向的不是 Java 虚拟机,而是 .NET Framework。
  2003 年,微软对 Visual Studio 2002 进行了部分修订,以 Visual Studio 2003 的名义发布(内部版本号为 7.1)。Visio 作为使用统一建模语言(UML)架构应用程序框架的程序被引入,同时被引入的还包括移动设备支持和企业模版。.NET 框架也升级到了 1.1。
  2005 年,微软发布了 Visual Studio 2005。.NET 字眼从各种语言的名字中被抹去,但是这个版本的 Visual Studio 仍然还是面向 .NET 框架的(版本2.0)。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。总体来说是一个非常庞大的软件,甚至包含代码测试功能。
  这个版本的 Visual Studio 包含有众多版本,分别面向不同的开发角色。同时还永久提供免费的 Visual Studio Express 版本。
  使用Visual Studio 2005, 专业开发人员能够:
  创建满足关键性要求的多层次的智能客户端、Web、移动或基于Microsoft Office的应用程序。
  使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境
  在统一的开发环境中,开发并调试多层次的服务器应用程序
  使用集成的可视化数据库设计和报告工具,创建SQL Server 2005解决方案
  使用Visual Studio SDK创建可以扩展Visual Studio IDE的工具
  Microsoft为单独工作或在小型团队中的专业开发人员提供了两种选择,Visual Studio 2005 Professional Edition和用于Microsoft Office系统的Visual Studio 2005工具。每种版本都在标准版的特性上进行了扩展,包括用于远程服务程序开发和调试、SQL Server2005开发的工具,以及完整的、没有限制的开发环境。每种产品都可以单独购买或打包定购。
  专业开发人员喜欢自由的使用.NET Framework 2.0,它是一种稳健的、功能齐备的开发环境,支持创建扩展Visual Studio集成开发环境的工具。
  随着即将发布的 Windows Vista (内部名称:Longhorn) 和 Office 2007,Visual Studio 9 ,携手 Windows Server 2008 也渐渐浮出水面。Visual Studio 9 目前可以确定的是支持建立于 DHTML 基础上的 AJax 技术,这种微软在 Visual InterDev 时代提出的基于异步的客户端动态网页技术在当年并没有像微软预期中的那么流行起来,反而随着 GMail 等应用而东山再起,渐渐成为主流网络应用之一。同时 Visual Studio 9 会强化对于数据库的支持以及微软新的基于工作流(Workflow)的编程模型。预计为了保持与 Office 系列的统一,Visual Studio 9 的名称为 Visual Studio 2008。

Visual Studio 2010的新特性

  它将是经典的一个版本,相当于当年的6.0版。而且它可以自定义开始页;新功能还包括:
  (1)C# 4.0中的动态类型和动态编程;
  (2)多显示器支持;
  (3)使用Visual Studio 2010的特性支持TDD;
  (4)支持Office ;
  (5)Quick Search特性;
  (6)C++ 0x新特性;
  (7)IDE增强;
  (8)使用Visual C++ 2010创建Ribbon界面;
  而根据微软发布的一份官方文档宣称,Visual Studio 2010和.NET Framework 4.0将在下面五个方面有所创新:
  ·民主化的应用程序生命周期管理
  在一个组织中,应用程序生命周期管理(ALM)将牵涉到多个角色。但是在传统意义上,这一过程中的每个角色并不是完全平等的。Visual Studio Team System 2010将坚持打造一个功能平等、共同分担的平台以用于组织内的应用程序生命周期管理过程。
  ·顺应新的技术潮流
  每年,业界内的新技术和新趋势层出不穷。通过Visual Studio 2010,微软将为开发者提供合适的工具和框架,以支持软件开发中最新的架构,开发和部署。
  ·让开发商惊喜
  从Visual Studio的第一个版本开始,微软就将提高开发人员的工作效率和灵活性作为自己的目标。Visual Studio 2010将继续关注并且显著地改进开发者最核心的开发体验。
  ·下一代平台浪潮的弄潮儿
  微软将继续投资于市场领先的操作系统,工具软件和服务器平台,为客户创造更高的价值。使用Visual Studio 2010,将可以在新一代的应用平台上,为你的客户创造令人惊奇的解决方案。
  · 跨部门的应用
  客户将在不同规模的组织内创建应用,跨度从单个部门到整个企业。Visual Studio 2010将确保在这么宽泛的范围内的应用开发都得到支持。

Visual Studio 2010 与 2008 的对比
  
灵活高效的全新IDE
  
  Visual Studio 2010 与 2008 版本的对比:自从微软于1998年发布Visual Studio 6以来,Visual Studio的IDE已经成为软件开发工具的标杆,很多其他的开发工具,甚至是其他用途的应用程序,都在模仿Visual Studio的IDE。但是,就像我们前面讲过的那样,从Visual Studio 6到Visual Studio 2008,虽然IDE的功能越来越多,但是并没有什么革命性的变化,反倒因为功能太多带来了使用上的不便,导致开发效率低下。程序员们都在期盼一个全新的IDE的出现。
  现在,程序员们的梦想在Visual Studio 2010中成为了现实。在Visual Studio 2010中,微软用全新的WPF技术重新打造了它的编辑器,借助WPF的强大功能,新的编辑器可以实现很多以前Visual Studio 2008的IDE根本无法想象的功能,比如代码的无级缩放,多窗口即时更新,文档地图,代码的自动产生等等,这些新的IDE特性都会极大地提高程序员的开发效率。

云计算
  
        虽然大家都还在“云里雾里”,但是毫无疑问,“云计算”已经来到了我们身边。在互联网时代,微软输给了Google,面对即将到来的“云计算”时代,微软没有理由再次错过机会。所以早在年初“云计算”的概念刚刚兴起的时候,就有传言微软将进军“云计算”,将旗下的软件业务纳入“云计算”。而现在,随着Visual Studio 2010 CTP和Windows Azure的发布,这一切成为了事实。“云计算”的基本原理,是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。Windows Azure是一个托管服务套件,它包括虚拟计算,可扩展存储以及自动化服务管理系统等。这些工具将会用来为微软的服务提供支持,其中包括MSN,Xbox Live,以及Office Online等等,实现服务的网络化。
  对于开发者而言,Windows Azure已经建立起一个简单而快速的系统,最重要的是它拥有着标准的模型,是我们步入“云计算”时代的捷径。开发者可以根据自己的需要选择第二层功能来使用,比如数据库,业务工具,甚至是第三方软件提供的功能。Windows Azure云计算平台为开发者提供了灵活性和可开发性,同时还需要考虑利用目前现有的技能、工具和技术,比如微软.NET框架和Visual Studio。使用Windows Azure Tools for Visual Studio,我们可以为Windows Azure创建,调试和部署服务和应用程序。Visual Studio 2010为Windows Azure提供了专门的项目模型,同时,我们也可以利于Visual Studio 2010对我们的服务和应用程序进行调试。另外,我们可以利用Visual Studio 2010将我们创建的服务打包,然后通过Windows Live Developer Portal部署到Windows Azure。
  总之,有了Visual Studio 2010的帮助,我们就可以拔得“云计算”的头筹。
  
并行计算

  在以往的计算机发展历史中,硬件技术的发展总是给软件带来免费的性能提升,从386到586,从赛扬到奔腾,每次硬件的升级,都带来软件性能的大幅提升,而软件无需做任何变动,只需要坐等硬件升级就可以了。
  但是进入多核时代后,这种“免费的午餐”再也没有了。这其中最主要的原因就是当前的应用程序几乎都是针对一个运算核心而设计的,当硬件通过增加运算核心来提高性能时,由于受到其架构的影响,软件并不能充分地利于多个运算核心所带来的性能提升,甚至有的时候性能还有所下降。
  在这种情况下,开发者不得不改变应用程序的架构和开发方法,以应对这种多核的趋势,使得自己的软件可以充分利于硬件升级所带来的性能提升。面对这样的需求,Visual Studio 2010加大了对并行运算的支持。微软正在使得尽量大的范围内的开发者都能高效地进行并行计算的开发,不管他使用的是非托管代码还是.NET Framework。在Visual Studio 2010中,我们将看到:
  ? Visual Studio IDE对并行计算开发的大量支持。比如,Visual Studio 2010的调试器知道代码的并行特性,并且能够在调试程序的不同执行单元的时候,表现应用程序的状态。
  ? 非托管的C++库和编译器对并行计算的支持
  ? .NET Framework 4.0对并行计算的大量支持,包括P-LINQ,并行语言语句等等
  另外,Visual Studio 2010还提供了一个“并行性能分析器”,它可以帮助我们分析应用程序的性能瓶颈,找到需要并行处理和可以进行并行处理的地方,并以图形化的形式表现出来。这样,“并行性能分析器”配合这Visual Studio 2010,我们就可以轻松地实现应用程序的并行化,再次吃上“免费的午餐”。
  
C++王者归来

  就像我们在前面的文章中分析的那样,自从Visual Studio 6以后,Visual Studio中的C++再没有多大的变化,包括之前的Visual Studio 2008,都只是对C++进行一些细小的改善。但是这次随着C++新标准C++0x的即将公布,Visual Studio 2010在C++开发方面也带来了很多革命性的变化。
  首先是对C++新标准C++0x的全面支持,不会再像Visual C++ 6一样,被人诟病为对C++标准支持不佳。在IDE方面,微软将Visual C++的构建系统VCBuild整合到了MSBuild中;借助后台编译,Visual C++的IntelliSense更加智能,能够处理更多的文件,更加复杂的项目。另外在MFC方面,通过引入很多新的类,MFC开始全面支持Vista、Windows 7风格的UI。这些特性,都成为Visual Studio 2010跟Visual Studio 2008的一个重要差别,相信C++程序员都会选择Visual Studio 2010而略过Visual Studio 2008。
  
面向下一代平台:Windows 7

  Visual Studio 2008是基于Vista平台的,Vista的失败,也必然会导致Visual Studio 2008的昙花一现。现在,微软把宝都押在了即将到来的新平台Windows 7上。作为面向下一代平台的开发工具,Visual Studio 2010提供了很多工具来帮助开发者开发基于Windows 7的应用程序,同时使那些已经存在的非托管应用程序,通过一定的处理也同样能够具有新的操作系统所带来的特性。在Visual Studio 2010中,微软花了很大的力气来使得非托管C++代码的开发更加容易和高效。例如,我们升级了MFC的库和头文件以全面支持Windows 7的界面元素,包括Ribbon界面,搜索功能甚至多点触摸特性的支持。
  对于开发基于WPF的应用程序的开发者,Visual Studio 2010同样提供了改进的工具,帮助开发者快速高效地完成界面图像的设计,数据绑定等等。
  总之,想让你的应用程序“Windows 7 Ready”,Visual Studio 2010是首选。
  Visual Studio 2010作为作为微软着力打造的下一代开发工具平台,跟她的前任Visual Studio 2008相比,她拥有着无数诱人的特性,同时也寄托着无数人的期望。通过我们前面的一系列对比介绍,相信大家对Visual Studio 2010的成功还是抱有很大希望的。

posted on 2010-08-20 00:36 蜗牛也Coding 阅读(1387) 评论(6)  编辑 收藏 引用

评论

# re: Visual Studio 历史简介(转) 2010-08-21 00:18 溪流

介绍得很详实。只是不解,为什么都说VS2010将会是经典版本?

另外,不知lz或者楼下知不知道VC6的发布时间早还是C++98标准的发布时间早?(如果VC6早的话,VC6标准支持差就情有可原了)  回复  更多评论   

# re: Visual Studio 历史简介(转) 2010-08-21 08:56 OwnWaterloo

@溪流
VC6情有可原?

好吧, 那VC8加入的所谓的security crt怎么解释?
硬生生的将scanf, std::copy等函数列为废弃?
硬生生的将open, read的函数列为废弃, 而且是以莫名其妙的理由?

非不能, 乃不愿也。
  回复  更多评论   

# re: Visual Studio 历史简介(转) 2010-08-21 10:40 溪流

@OwnWaterloo
1、我想先求证一下,不知谁早谁迟。。。你知道这段历史吗?求教~
2、是说诸多它推荐了 XXX_s 函数吗?我的理解是,那些不带 _s 的字符串相关函数,确实有缓冲区溢出的潜在风险。。  回复  更多评论   

# re: Visual Studio 历史简介(转) 2010-08-21 14:11 OwnWaterloo

@溪流
1. 具体我也不清楚……

不过这应该都有据可查……

2.

String& operate=(String const& other)
{
size_t len = strlen(other.p);
char* p = new char[len+1];
strcpy(p, other.p); // 风险在哪?
delete [] this->p;
this->p = p;
}

int i = 0;
scanf("%d", &i); // 风险在哪?


char buf[numeric_limits<int>::digit10+2];
sprintf(buf, "%d", i); // 风险在哪?


上面的警告还可以通过一个宏定义 _CRT_SECURE_NO_DEPRECATE全部干掉。

std::copy就更搞笑了, 要抑制警告, 必须#pragma…… 先push, 再disable, 再pop……
非常非常干扰源文件的表达。

如果不在源文件里, 而是在构建脚本里, 那更复杂。
.vcproject手工改吗? cmake如何加入自定义编译选项?


std::copy(src.begin(), src.end(), back_inserter(dst) ); // 风险在哪?

还有那个/Wp64。

VS2005的这些新东西, 全他妈是傻逼设计。
  回复  更多评论   

# re: Visual Studio 历史简介(转) 2011-08-12 14:21 Rockroad

巨人 IBM 培养的两个公司都成了行业巨人。

以前硬件等软件,前两年 软件推着硬件更新,现在呢。

能不能 成为经典恐怕还得看新的操作平台能不能象现在 XP 这么普及。  回复  更多评论   

# re: Visual Studio 历史简介(转) 2011-08-14 08:42 溪流

@OwnWaterloo
难得见你愤青一次哈~

。。。用得对。。。当然没风险啦~
只是从设计上来说,strcpy 不知道第一个参数所知的缓冲区有多长。。。不是很不好么?  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿(8)

随笔档案(78)

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜