從語言上講,C#是C系統家族的東西,是C++的後續版,是對C++的發展,它一慣沿用了C++的思想,面像對像程式設計,等等,但又去除和限制了一些相對來說不好的技術,比如指針技術,從另一方面講C++和C都是國際化的标準,有标準組織維護,它并不屬于任何一個公司,但是C#去是微軟自己在C++基礎上擴充,發展出來的,C#并不是一個國際标準,它隻是微軟體的一家子之言.但從純技術角度講,C#在C++基礎上擴充出來以後,或限制出來以後,更注重實際應用,思想上完全面像對像,限制掉了C++的一些東西,又增加了一些比如記憶體自動回收等功能,但這樣一些功能的擴充,其實是限制了的C++版,在C#上程式設計,完全沒有C++上自由,但這樣一變去對軟體開發效率思想上有很大的提高,是以C#是為了提升開發效率,和軟體工業化的産物,相比之下,C#能作到的,C++都能做到,并且更完全,隻不過C++更複雜
C#與.NET
與C#一樣.NET也是微軟體獨家的東西, .NET是微軟體的一個平台,是微軟的下一步戰略,.NET是一非常大的戰略,裡面包含着非常非常多的東西,是一個遠景目标,微軟構架出來的一個未來架構,一個模糊面有龐大的架構,以後所有的東西都是.NET,包括家電,手機,等所有人類身邊的長智能裝置通過網絡連接配接成一個有機體,成為.NET.它到底是什麼,比爾蓋茨目前自己也說不清楚,說得都是含糊其詞,曾經有很多要在學.NET之前想弄清概念都失敗了,其實他就是一個微軟未來對的發展架構和,未來軟體體的架構,而目前正在實作這一目标, 作為.NET的的核心程式設計語言就是C#,也就是說微軟體發展的C#語言是為了專為.NET服務的,C#是專門編寫.NET軟體的語言,
在.NET初期,也就是我們現在用的.NET技術,其實和普通的編譯沒有什麼兩樣,隻是在WINDOWS開發環境上需要額外地裝上.NET的類庫,以擴充功能,增加.NET API調用,說淺點就是增加一些函數一樣,.NET的程式最底層就是調用這些.NET API實作功能的,這個類庫被稱為Framework軟體擴充包,在微軟首頁下載下傳後安裝就可以用運作.NET軟體了,如果是WIN2003,不用裝,系統本來就自帶了類庫的,是以現在看來C#是調用Framework的語言.
再說VB,VB也是微軟的開發工具,VB文法源于以後的BASIC上改進來來,BASIC本來就是基本的意思,是以BASIC一直是最簡單的軟體開發語言,那時候幾乎是以學軟體開發的人都從BASIC學起,但是,BASIC基本上是一種教學語言,在實際開發上很少用,因為過于簡單,隻是一種引人入門的工具,進入WINDOWS作業系統時代後,微軟改進擴充了原來BASIC語言,成為開發WINDOWS的語言,可視化的 BASIC簡單稱VB,VB有着極簡單的文法,和結構,使人用VB入門非常的快,快是基于這一點,VB在功能複雜的大型項目地方基本上沒法使用,這是VB的曆史,還有VB的應用平台是WIN32系統,非.NET系統,也就是說VB跟VC是同級的平台開發工具,VB開發的程式在.NET上無法運作,也就VB跟C#不能比了,因為他們運作在不同平台上;還有就是後來的VB.NET,也是VB擴充到.NET平台上使用,但是這就有一個非常嚴肅的問題,當人們進入.NET時代後,照微軟的說法,在.NET世界裡,已經沒有了語言為大時代,全部都是.NET,實際上VB.NET和VB已經改得面目全非,已經不是昨日的VB,基本上VB的程式員在.NET已經被抛棄了
總結的說VB和C#在技術上沒有可比性,因為不是屬于一個比台,那要比就比較WIN32和.NET的比較, 要麼比就是VB文法與C系列文法的比較
還有,基本上所有的人都認為.NET的出現是為了跟JAV A竟争,這也不可否認,JAVA最近,熱得湯手,微軟早就看重了這個竟争對手,搞出.NET與其争市場,至于與JAVA争什麼,那就各有看法,JAVA是95年出生的,帶着美好的前景,誕生,但是在長達十幾年的時間裡,它幾乎沒什麼出息,整天就是自吹自擂的誇平台性,等等.但是一直被人認為是雞肋,直到近幾年才火起來,但是與JAVA同期出生的技術,比如FLASH等,已經早已成功的技術應用,JAVA為什麼突然變熱,有人認為JAVA發展到今天,已經非常龐大了,家族大得成一個帝國一樣,分類多,特别是J2EE應用,注重軟體構架設計,複合了未來軟體開發的方向,還因為索取JAVA原始開發包是免費的,還一部分人人為JAVA是炒作的結果,都是世界級的大IT集團在炒,本來從純技術上來說JAVA的技術談不是什麼多大的進步,但是炒的人多了就熱了,如果是這樣,那麼再發展下去,JAVA依然不會有進步,直會一步步走向畸形,但是世界上那麼多的IT集團,比如IBM等為什麼要炒JAVA,一個比較直覺的觀點認為這是世界IT巨頭需要尋找一種跟微軟抗怛的東西,這點無疑JAVA最合适的人選.不管怎麼說JAVA已經活了,我們就必須面臨程式員的選擇,我們目前作的方向是C#與JAVA的選擇,而不是C#與VB的選擇
但要補充一句的是,不管是C#還是JAVA,他們應用的思想,技術,是多麼的相像,特别是對開發人員角度看,除了所需要的平台不一樣,基本上,那些文法,和思想太像了,如出一轍,這是為什麼呢,原來不管是C#還是JAVA,他們的技術思想都源于DELPHI,大多數主要技術是從DELPHI發展上來的,或者是盜版過來的,DELPHI是Borland公司的WIN32開發工具,曾是人類所用最高效快速強大的開發工具,它裡面首先用用了很多新技術,後被C#等應用,但悲慘的是Borland公司是擁有世界上最先進的技術人員和最糟糕的管理人員的公司,由于管理者經營不善,正在面臨生死關頭,而開發DELPHI的主要技術人員,包括DELPHI的主工程師都被微軟高薪挖走去設計C#,是以在用過DELPHI的人眼中,C#,DELPHI其實就是一個媽媽生的兩個孩子,