Visual Studio 歷史簡介
N年前,江湖上流傳著幾個大佬的故事,他們說:Dev-C++靈活又小巧,C++ Builder開發(fā)效率高;Turbo C是萬人迷,Visual Studio的資格老。可如今,江湖上只剩下最后一個大佬Visual Studio了,其他幾位不是支持者漸少,不成氣候,就是轉(zhuǎn)投他人懷抱,中道衰落,讓人難免生出幾分遺憾。但是反過來,我們又對Visual Studio這位“江湖最后的大佬”增添幾分敬仰之情。據(jù)說這位大佬又要出新的版本,我們這些江湖八卦者,哪有錯過的道理。要想深入的了解一個人,需要從他的童年開始。我們想了解Visual Studio,故事也就要從它的1.0開始。
Visual Studio 可以用來創(chuàng)建 Windows 平臺下的 Windows 應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 Office 插件。
1992年4月,微軟發(fā)布了革命性的操作系統(tǒng)Windows 3.1,把個人計算機引進了真正的視窗時代。微軟在原有C++開發(fā)工具Microsoft C/C++ 7.0的基礎(chǔ)上,開創(chuàng)性地引進了MFC(Microsoft Foundation Classes)庫,完善了源代碼,成為Microsoft C/C++ 8.0,也就是Visual C++ 1.0,并于1992年發(fā)布。Visual C++ 1.0是真正意義上的Windows IDE,這也是Visual Studio的最初原型。雖然以現(xiàn)在的眼光來看,這個界面非常簡陋和粗糙,但是它脫離了DOS界面,讓用戶可以在圖形化的界面下進行開發(fā),把軟件開發(fā)帶入了可視化(Visual)開發(fā)的時代。從此,大佬的時代開始了。
1998 年,微軟公司發(fā)布了 Visual Studio 6.0。所有開發(fā)語言的開發(fā)環(huán)境版本均升至 6.0。這也是 Visual Basic 最后一次發(fā)布,從下一個版本 (7.0) 開始,Microsoft Basic 進化成了一種新的面向?qū)ο蟮恼Z言:Microsoft Basic.NET。由于微軟公司對于 Sun 公司 Java 語言擴充導(dǎo)致與 Java 虛擬機不兼容而 Sun 被告上法庭,微軟在后續(xù)的 Visual Studio 中不再包括面向 Java 虛擬機的開發(fā)環(huán)境。
2002 年,隨著 .NET 口號的提出與 Windows XP / Office XP 的發(fā)布,微軟發(fā)布了 Visual Studio .NET(內(nèi)部版本號為 7.0)。在這個版本的 Visual Studio 中,微軟剝離了 Visual FoxPro 作為一個單獨的開發(fā)環(huán)境以 Visual FoxPro 7.0 單獨銷售,同時取消了 Visual InterDev。與此同時,微軟引入了建立在 .NET 框架上(版本1.0)的托管代碼機制以及一門新的語言 C# (讀作 C Sharp,意為 C++++)。C# 是一門建立在 C++ 和 Java 基礎(chǔ)上的現(xiàn)代語言,是編寫 .NET 框架的語言。
.NET 的通用語言框架機制(Common Language Runtime, CLR),其目的是在同一個項目中支持不同的語言所開發(fā)的組件。所有 CLR 支持的代碼都會被解釋成為 CLR 可執(zhí)行的機器代碼然后運行。
Visual Basic、Visual C++ 都被擴展為支持托管代碼機制的開發(fā)環(huán)境,且 Visual Basic .NET更是從 Visual Basic 脫胎換骨,徹底支持面向?qū)ο蟮木幊虣C制。而 Visual J++ 也變?yōu)?Visual J#。后者僅語法同 Java 相同,但是面向的不是 Java 虛擬機,而是 .NET Framework。
2003 年,微軟對 Visual Studio 2002 進行了部分修訂,以 Visual Studio 2003 的名義發(fā)布(內(nèi)部版本號為 7.1)。Visio 作為使用統(tǒng)一建模語言(UML)架構(gòu)應(yīng)用程序框架的程序被引入,同時被引入的還包括移動設(shè)備支持和企業(yè)模版。.NET 框架也升級到了 1.1。
2005 年,微軟發(fā)布了 Visual Studio 2005。.NET 字眼從各種語言的名字中被抹去,但是這個版本的 Visual Studio 仍然還是面向 .NET 框架的(版本2.0)。它同時也能開發(fā)跨平臺的應(yīng)用程序,如開發(fā)使用微軟操作系統(tǒng)的手機的程序等。總體來說是一個非常龐大的軟件,甚至包含代碼測試功能。
這個版本的 Visual Studio 包含有眾多版本,分別面向不同的開發(fā)角色。同時還永久提供免費的 Visual Studio Express 版本。
使用Visual Studio 2005, 專業(yè)開發(fā)人員能夠:
創(chuàng)建滿足關(guān)鍵性要求的多層次的智能客戶端、Web、移動或基于Microsoft Office的應(yīng)用程序。
使用改進后的可視化設(shè)計工具、編程語言和代碼編輯器,享受高效率的開發(fā)環(huán)境
在統(tǒng)一的開發(fā)環(huán)境中,開發(fā)并調(diào)試多層次的服務(wù)器應(yīng)用程序
使用集成的可視化數(shù)據(jù)庫設(shè)計和報告工具,創(chuàng)建SQL Server 2005解決方案
使用Visual Studio SDK創(chuàng)建可以擴展Visual Studio IDE的工具
Microsoft為單獨工作或在小型團隊中的專業(yè)開發(fā)人員提供了兩種選擇,Visual Studio 2005 Professional Edition和用于Microsoft Office系統(tǒng)的Visual Studio 2005工具。每種版本都在標準版的特性上進行了擴展,包括用于遠程服務(wù)程序開發(fā)和調(diào)試、SQL Server2005開發(fā)的工具,以及完整的、沒有限制的開發(fā)環(huán)境。每種產(chǎn)品都可以單獨購買或打包定購。
專業(yè)開發(fā)人員喜歡自由的使用.NET Framework 2.0,它是一種穩(wěn)健的、功能齊備的開發(fā)環(huán)境,支持創(chuàng)建擴展Visual Studio集成開發(fā)環(huán)境的工具。
隨著即將發(fā)布的 Windows Vista (內(nèi)部名稱:Longhorn) 和 Office 2007,Visual Studio 9 ,攜手 Windows Server 2008 也漸漸浮出水面。Visual Studio 9 目前可以確定的是支持建立于 DHTML 基礎(chǔ)上的 AJax 技術(shù),這種微軟在 Visual InterDev 時代提出的基于異步的客戶端動態(tài)網(wǎng)頁技術(shù)在當(dāng)年并沒有像微軟預(yù)期中的那么流行起來,反而隨著 GMail 等應(yīng)用而東山再起,漸漸成為主流網(wǎng)絡(luò)應(yīng)用之一。同時 Visual Studio 9 會強化對于數(shù)據(jù)庫的支持以及微軟新的基于工作流(Workflow)的編程模型。預(yù)計為了保持與 Office 系列的統(tǒng)一,Visual Studio 9 的名稱為 Visual Studio 2008。
Visual Studio 2010的新特性
它將是經(jīng)典的一個版本,相當(dāng)于當(dāng)年的6.0版。而且它可以自定義開始頁;新功能還包括:
(1)C# 4.0中的動態(tài)類型和動態(tài)編程;
(2)多顯示器支持;
(3)使用Visual Studio 2010的特性支持TDD;
(4)支持Office ;
(5)Quick Search特性;
(6)C++ 0x新特性;
(7)IDE增強;
(8)使用Visual C++ 2010創(chuàng)建Ribbon界面;
而根據(jù)微軟發(fā)布的一份官方文檔宣稱,Visual Studio 2010和.NET Framework 4.0將在下面五個方面有所創(chuàng)新:
·民主化的應(yīng)用程序生命周期管理
在一個組織中,應(yīng)用程序生命周期管理(ALM)將牽涉到多個角色。但是在傳統(tǒng)意義上,這一過程中的每個角色并不是完全平等的。Visual Studio Team System 2010將堅持打造一個功能平等、共同分擔(dān)的平臺以用于組織內(nèi)的應(yīng)用程序生命周期管理過程。
·順應(yīng)新的技術(shù)潮流
每年,業(yè)界內(nèi)的新技術(shù)和新趨勢層出不窮。通過Visual Studio 2010,微軟將為開發(fā)者提供合適的工具和框架,以支持軟件開發(fā)中最新的架構(gòu),開發(fā)和部署。
·讓開發(fā)商驚喜
從Visual Studio的第一個版本開始,微軟就將提高開發(fā)人員的工作效率和靈活性作為自己的目標。Visual Studio 2010將繼續(xù)關(guān)注并且顯著地改進開發(fā)者最核心的開發(fā)體驗。
·下一代平臺浪潮的弄潮兒
微軟將繼續(xù)投資于市場領(lǐng)先的操作系統(tǒng),工具軟件和服務(wù)器平臺,為客戶創(chuàng)造更高的價值。使用Visual Studio 2010,將可以在新一代的應(yīng)用平臺上,為你的客戶創(chuàng)造令人驚奇的解決方案。
· 跨部門的應(yīng)用
客戶將在不同規(guī)模的組織內(nèi)創(chuàng)建應(yīng)用,跨度從單個部門到整個企業(yè)。Visual Studio 2010將確保在這么寬泛的范圍內(nèi)的應(yīng)用開發(fā)都得到支持。
Visual Studio 2010 與 2008 的對比
靈活高效的全新IDE
Visual Studio 2010 與 2008 版本的對比:自從微軟于1998年發(fā)布Visual Studio 6以來,Visual Studio的IDE已經(jīng)成為軟件開發(fā)工具的標桿,很多其他的開發(fā)工具,甚至是其他用途的應(yīng)用程序,都在模仿Visual Studio的IDE。但是,就像我們前面講過的那樣,從Visual Studio 6到Visual Studio 2008,雖然IDE的功能越來越多,但是并沒有什么革命性的變化,反倒因為功能太多帶來了使用上的不便,導(dǎo)致開發(fā)效率低下。程序員們都在期盼一個全新的IDE的出現(xiàn)。
現(xiàn)在,程序員們的夢想在Visual Studio 2010中成為了現(xiàn)實。在Visual Studio 2010中,微軟用全新的WPF技術(shù)重新打造了它的編輯器,借助WPF的強大功能,新的編輯器可以實現(xiàn)很多以前Visual Studio 2008的IDE根本無法想象的功能,比如代碼的無級縮放,多窗口即時更新,文檔地圖,代碼的自動產(chǎn)生等等,這些新的IDE特性都會極大地提高程序員的開發(fā)效率。
云計算
雖然大家都還在“云里霧里”,但是毫無疑問,“云計算”已經(jīng)來到了我們身邊。在互聯(lián)網(wǎng)時代,微軟輸給了Google,面對即將到來的“云計算”時代,微軟沒有理由再次錯過機會。所以早在年初“云計算”的概念剛剛興起的時候,就有傳言微軟將進軍“云計算”,將旗下的軟件業(yè)務(wù)納入“云計算”。而現(xiàn)在,隨著Visual Studio 2010 CTP和Windows Azure的發(fā)布,這一切成為了事實。“云計算”的基本原理,是通過使計算分布在大量的分布式計算機上,而非本地計算機或遠程服務(wù)器中,企業(yè)數(shù)據(jù)中心的運行將更與互聯(lián)網(wǎng)相似。這使得企業(yè)能夠?qū)①Y源切換到需要的應(yīng)用上,根據(jù)需求訪問計算機和存儲系統(tǒng)。Windows Azure是一個托管服務(wù)套件,它包括虛擬計算,可擴展存儲以及自動化服務(wù)管理系統(tǒng)等。這些工具將會用來為微軟的服務(wù)提供支持,其中包括MSN,Xbox Live,以及Office Online等等,實現(xiàn)服務(wù)的網(wǎng)絡(luò)化。
對于開發(fā)者而言,Windows Azure已經(jīng)建立起一個簡單而快速的系統(tǒng),最重要的是它擁有著標準的模型,是我們步入“云計算”時代的捷徑。開發(fā)者可以根據(jù)自己的需要選擇第二層功能來使用,比如數(shù)據(jù)庫,業(yè)務(wù)工具,甚至是第三方軟件提供的功能。Windows Azure云計算平臺為開發(fā)者提供了靈活性和可開發(fā)性,同時還需要考慮利用目前現(xiàn)有的技能、工具和技術(shù),比如微軟.NET框架和Visual Studio。使用Windows Azure Tools for Visual Studio,我們可以為Windows Azure創(chuàng)建,調(diào)試和部署服務(wù)和應(yīng)用程序。Visual Studio 2010為Windows Azure提供了專門的項目模型,同時,我們也可以利于Visual Studio 2010對我們的服務(wù)和應(yīng)用程序進行調(diào)試。另外,我們可以利用Visual Studio 2010將我們創(chuàng)建的服務(wù)打包,然后通過Windows Live Developer Portal部署到Windows Azure。
總之,有了Visual Studio 2010的幫助,我們就可以拔得“云計算”的頭籌。
并行計算
在以往的計算機發(fā)展歷史中,硬件技術(shù)的發(fā)展總是給軟件帶來免費的性能提升,從386到586,從賽揚到奔騰,每次硬件的升級,都帶來軟件性能的大幅提升,而軟件無需做任何變動,只需要坐等硬件升級就可以了。
但是進入多核時代后,這種“免費的午餐”再也沒有了。這其中最主要的原因就是當(dāng)前的應(yīng)用程序幾乎都是針對一個運算核心而設(shè)計的,當(dāng)硬件通過增加運算核心來提高性能時,由于受到其架構(gòu)的影響,軟件并不能充分地利于多個運算核心所帶來的性能提升,甚至有的時候性能還有所下降。
在這種情況下,開發(fā)者不得不改變應(yīng)用程序的架構(gòu)和開發(fā)方法,以應(yīng)對這種多核的趨勢,使得自己的軟件可以充分利于硬件升級所帶來的性能提升。面對這樣的需求,Visual Studio 2010加大了對并行運算的支持。微軟正在使得盡量大的范圍內(nèi)的開發(fā)者都能高效地進行并行計算的開發(fā),不管他使用的是非托管代碼還是.NET Framework。在Visual Studio 2010中,我們將看到:
? Visual Studio IDE對并行計算開發(fā)的大量支持。比如,Visual Studio 2010的調(diào)試器知道代碼的并行特性,并且能夠在調(diào)試程序的不同執(zhí)行單元的時候,表現(xiàn)應(yīng)用程序的狀態(tài)。
? 非托管的C++庫和編譯器對并行計算的支持
? .NET Framework 4.0對并行計算的大量支持,包括P-LINQ,并行語言語句等等
另外,Visual Studio 2010還提供了一個“并行性能分析器”,它可以幫助我們分析應(yīng)用程序的性能瓶頸,找到需要并行處理和可以進行并行處理的地方,并以圖形化的形式表現(xiàn)出來。這樣,“并行性能分析器”配合這Visual Studio 2010,我們就可以輕松地實現(xiàn)應(yīng)用程序的并行化,再次吃上“免費的午餐”。
C++王者歸來
就像我們在前面的文章中分析的那樣,自從Visual Studio 6以后,Visual Studio中的C++再沒有多大的變化,包括之前的Visual Studio 2008,都只是對C++進行一些細小的改善。但是這次隨著C++新標準C++0x的即將公布,Visual Studio 2010在C++開發(fā)方面也帶來了很多革命性的變化。
首先是對C++新標準C++0x的全面支持,不會再像Visual C++ 6一樣,被人詬病為對C++標準支持不佳。在IDE方面,微軟將Visual C++的構(gòu)建系統(tǒng)VCBuild整合到了MSBuild中;借助后臺編譯,Visual C++的IntelliSense更加智能,能夠處理更多的文件,更加復(fù)雜的項目。另外在MFC方面,通過引入很多新的類,MFC開始全面支持Vista、Windows 7風(fēng)格的UI。這些特性,都成為Visual Studio 2010跟Visual Studio 2008的一個重要差別,相信C++程序員都會選擇Visual Studio 2010而略過Visual Studio 2008。
面向下一代平臺:Windows 7
Visual Studio 2008是基于Vista平臺的,Vista的失敗,也必然會導(dǎo)致Visual Studio 2008的曇花一現(xiàn)。現(xiàn)在,微軟把寶都押在了即將到來的新平臺Windows 7上。作為面向下一代平臺的開發(fā)工具,Visual Studio 2010提供了很多工具來幫助開發(fā)者開發(fā)基于Windows 7的應(yīng)用程序,同時使那些已經(jīng)存在的非托管應(yīng)用程序,通過一定的處理也同樣能夠具有新的操作系統(tǒng)所帶來的特性。在Visual Studio 2010中,微軟花了很大的力氣來使得非托管C++代碼的開發(fā)更加容易和高效。例如,我們升級了MFC的庫和頭文件以全面支持Windows 7的界面元素,包括Ribbon界面,搜索功能甚至多點觸摸特性的支持。
對于開發(fā)基于WPF的應(yīng)用程序的開發(fā)者,Visual Studio 2010同樣提供了改進的工具,幫助開發(fā)者快速高效地完成界面圖像的設(shè)計,數(shù)據(jù)綁定等等。
總之,想讓你的應(yīng)用程序“Windows 7 Ready”,Visual Studio 2010是首選。
Visual Studio 2010作為作為微軟著力打造的下一代開發(fā)工具平臺,跟她的前任Visual Studio 2008相比,她擁有著無數(shù)誘人的特性,同時也寄托著無數(shù)人的期望。通過我們前面的一系列對比介紹,相信大家對Visual Studio 2010的成功還是抱有很大希望的。