標籤:style color io java 檔案 資料 sp div on
+ 展開目錄 - 版本號碼的一些命名規則
- 語言,運行時,類庫,開發工具的區
- 2002年 C#1.0發布
- 2005年 C#2.0發布
- 2007年 C#3.0發布
- 2010年 C#4.0發布
- 2012年 C#4.5發布
- 2012年 C#5.0發布
- 20**年 C#6.0發布
- 20**年 C#7.0發布
這年頭啥東東都喜歡過段時間整個啥新版本出來.汽車,手機如此,軟體就更是如此了啊.比如啥Iphone 4,Iphone 5,Windows 8,Oracle 12C,SQL Server 2010.
- 版本號碼的一些命名規則 大部分時候是在名字後面加些數字表示不同的版本.其中以加上年份號最為簡單明了啊.比如Visual Studio 2008.但大部分人還是不用這個方式.因為年份號中沒有帶來更多的資訊.我們是希望能從版本號碼得知有多大的改動的資訊.所以很多軟體都用的命名規則是下面這樣
Major.Minor.Build.Revision
主要版本.子版本.組建.修訂版本
這也就是4個不同的數字,中間用點號分開比如版本號碼4.3.2.1
一般主要版本號變了代表改動非常大,子版本變了改動相對較少.組建,修訂版本依次變動更小.反正你知道數字越在前面代表越重要.
不過上面的規範只是一個建議,你要不愛這麼去命名也沒誰管你.一般軟體都用三個數字或兩字數字就OK了.比如2.1.0或者2.1啊.第一次出來的產品一般就叫1.0
+ 語言,運行時,類庫,開發工具的區別
在說C#版本號碼之前先講下這幾個概念的區別.很多關於版本號碼的混淆來自沒很好區分這幾個東東.
我們知道程式設計語言的話只是一些文法規範,就像法律條文一樣.一般把文法規則寫在規格說明書(Specification)上.
然後得整個編譯出來,相當於一個翻譯軟體一樣.當你按照規格書上的規則去寫好代碼後翻譯器能把它們翻譯成機器能識別的可執行檔.不過由於C#跟Java一樣為了以後在不同的平台上運行,在作業系統上面在抽象出了一層,Java中叫虛擬機器.C#中叫通用語言執行平台(CLR).C#編譯出來的東東叫微軟中繼語言(MSIL).它不能直接被機器識別.只能運行在CLR上.所以有時C#語言規範出了一些新特性,編譯器要支援肯定得做些更新.但CLR要更新不呢?這個看情況,如果那些新特性,編譯器翻譯過來後跟以前的東東一樣,比如語言中多了一些文法糖,實際上原理還沒變.那CLR不用更新就能支援.如果新特性編譯器翻譯過來更以前的東東不一樣了,這時也得更新CLR去支援
另外由於開發啥軟體時都會有很多常用的操作.於是會整一些類庫實現了那些功能給你用.你實現那些常用功能就不用自己從頭寫代碼.調用下類庫裡面的函數就行了.而開發工具就是為了使你寫代碼方便的一個工具.比如給些智能提示,可以調試,當編譯出錯了會給你定位到出錯的地方.但實際上你也可以完全不用開發工具,自己整個文本編譯器就寫代碼的.不過很少有人這樣做,太麻煩了.
平時說到C#可能提的最多的是.Net Framework了.這是個啥東東呢,它就是編譯器,CLR,類庫的一個組合.而我們安裝微軟的Visual studio時是把開發工具和.Net Framework給你一起打包好了.實際上VS中的東東很多,裡面還有個C++的編譯器,還有其他很多小工具.我們也可以單獨安裝.Net Framework.你電腦上如果想運行C#開發的軟體,必須先裝個.Net Framework.在Win 7上,微軟給你預設安裝了.Net Framework 3.5
- 2002年 C#1.0發布
2002年,微軟發布了C#的第一個版本C# 1.0 而Java早在1996年就出現了.所以C#中借鑒了很多Java的思想.哎關於啥叫借鑒啥叫抄襲這是個很難說清楚的話題了啊.有了個語言自然還要個配對的編譯器和類庫,開發工具才行啊.於是就有了.Net Framework 1.0 Visual Studio.Net 2002
我們知道微軟更新東西是相當的快,啥作業系統,資料庫這種超級複雜的軟體他也很快給你更新了.因為他有錢,有牛人去整啊.
於是第二年就有C# 1.2 .Net Framework 1.1 Visual Sudio.Net 2003
至於CLR版本是多少就不知道了,估計就是1.0吧
哎反正C# 2.0之前的東東出來後沒幾個人用的.現在是更沒誰用了.所以你不用去管之前的這些玩藝了啊.
- 2005年 C#2.0發布
C# 2.0在2005年發布,也過了一兩年C#開始流行起來了啊,現在很多人用C#開發大部分時候用的就是C#2.0裡面的東西.
哎回想下2005年我在幹嘛呢? 貌似還在高二,那會還是個軟體白癡.從來沒聽說過啥程式設計語言,更不會聽說C#了.還只是剛接觸電腦,叫別人幫申請一個QQ,然後跑到網吧上網,摸索了半天才登上QQ,最後不小心點了最小化,結果找了半天硬是沒找到它跑哪去了.也不好意思問旁邊的人.最後極為鬱悶的離開網吧.
與C#2.0配對的是.Net Framework 2.0 Visual Studio 2005. 其中CLR也是2.0 C#2.0中最大的更進是出現了泛型.在2005年微軟不安面了資料庫新版本SQL Server2005.所以2005對微軟來說還是蠻重要的一年啊.
隨後2006 年.Net Framework 3.0出現了,但C#文法, CLR ,VS還是老樣子沒變.我們知道剛一開始C#語言,CLR,.Net Framework都是一樣的.就從這一次開始出現了不同.覺得這次的版本號碼取的就很是操蛋了啊.不過人家微軟在.Net Framework新增加了很多東西,幹了很多活啊.如果不整個新版本出來宣揚下可不行,做好事不留名可不是企業該做的事.在2006年微軟還做了一件很是操蛋的事,整了個Vista系統出來,並把.Net Framework .30預設安裝在上面.不知道現在還有多少人用Vista.
在.Net Framework添加了很多類庫.比如出現了WPF,WCS,WF這些東東.
- 2007年 C#3.0發布
2007年年底C# 3.0發布.回想下那會的我在幹嘛呢? 貌似是大二上學期了.此時我的還是孤陋寡聞的很.還從沒聽說過C#,只聽說過啥C,C++,Java.有點印象的是啥時有次跑去圖書館好像有看到一本C#的書,但只一眼掃過,以為是C++,但印刷錯誤兩個+重疊了,看起來變成C#了,也沒翻開看看. 也從來沒聽說過CSDN這網站,自然也沒登過這網站.貌似是是08年才聽一個同學說到這網站的.他說這網站上下東西方便,很多地方其他地方找不著,只這有,只是操蛋的是很多東東要很多分才給下.
與C#3.0 配對的是 .Net Framework 3.5 ,Visual Studio 2008, CLR 3.0
不知道為啥07年發布的VS就叫08,估計是很多人喜歡趕時髦吧,08年聽著是07年的東東感覺過時了啊.而且07年底了也快08年了.要是整成2012跨度太大就不好了啊.你像人家一生產啥食品的公司他07年底生產的東西一般也只敢貼個08年.只有少數膽子大的哥們敢給你貼個09,10.這樣過了一兩年那些吃的還能照樣賣呢.不然人家一看日期到期了可不敢吃啊.
C# 3.0中最重要的特性就是Linq了.
- 2010年 C#4.0發布
2010年C#4.0發布,配對的是.Net Framework 4.0 Visaul Studio 2010 CLR4.0
C#4.0最重要的特性據說是支援動態類型了.老實說還沒用過C#4.0中的新特性.VS2010中的新東東有次閑著沒事到用了下,裡面貌似支援MVC模式,.你建立一個Project時就預設產生一些代碼,形有一個MVC的架構在那,相當於一個簡單的樣本,你能直接運行.我也就花了點時間整了個幾個很小的頁面出來,後面就沒再玩過了啊.
再回想下我2010在幹嘛呢?貌似要畢業了啊,畢業設計還臨時抱佛腳用的C#整的,本來是想用Java整的,想用裡面的一個啥架構,比如Spring,Struts,Hibernate之類的.但發現比較複雜.於是想偷懶換其他啥技術,剛開始想用MFC,但一看那頁面醜得死,而且還極為複雜.然後又想到VB,但看到裡代碼裡面竟然不用在括弧,用啥if,end if看慣了C,C++,Java中的大括弧自然極為討厭VB這種風格的文法.不過現在覺得代碼中不用大括弧也挺習慣的,主要是寫多了PL/SQL後習慣的.後面同宿舍的一哥們說C#容易啊,用這整吧.於是邊學邊用C#
- 2012年 C#4.5發布
C#4.5配套的是Visual Studio 2012.
哎算了不去趕時髦了,4.0我都學沒去整過,4.5就也先不管了啊.啥時閑得蛋痛了再去瞭解下玩玩.
知道C#版本對我們的用處
我們知道C#的語言特性需要編譯器和CLR來支援.而Win7預設安裝的是.Net Framework 3.5.也就是說支援C#3.0, C#2.0所有特性.如果你用到了C#4.0或者4.5中新增的特性.使用者用你的軟體時必須得裝新的.Net Framework如果你開發的只是個比較小的傳統型程式之類的.使用者用下你的東東還得去裝個.Net Framework就不好了.
另外假如你還想讓自己的軟體在windows XP, Vista上運行.XP預設是沒裝.Net Framework的.Vista是裝了.Net Framework3.0也就是說支援C# 2.0的所有特性.所有這種情況下你最好別用C#3.0或更新的版本裡的新特性.
另外我前面談到了C#語言有新特性了,CLR是不是一定得更新才能支援.也就是C#3.0的東西.Net Framework3.0 (CLR 2.0) 能支援嗎?答案是有些特性可以支援,有些不可以.
比如C#中的自動填滿屬性,匿名型別等只是文法糖,原理還是沒變的,經過編譯器編譯後跟以前2.0的東東一樣.實際上C#3.0中除了Linq需要CLR3.0才能運行,其他特性CLR2.0都能支援.
當然你要用C#3.0的東西自然不能用Visual Studio2005了,得用Visual Studio 2008.在VS 2008中建立一個項目的時候你在嚮導的右上方有個下拉式清單,裡面可以選.Net Framework版本.有2.0,3.0,3.5三個選項可選.
- 2012年 C#5.0發布 - 20**年 C#6.0發布 - 20**年 C#7.0發布
C#版本的曆史