畢業生的商業軟件開發之路 ---- C#語言簡介
畢業生的商業軟件開發之路 ---- C#語言簡介
C#(讀C Sharp)是微軟主打的一種基于.NET框架的快速開發語言。它功能強大,使用方便,學習起來也比較快。已經成為一種主流的計算機軟件編程語言了。
C#是微軟公司2000年6月發布的,是由著名的Anders Hejlsberg領導研發的,此人是Turbo Pascal的主要作者,是Delphi的創作者。
從語法上看,C#是屬于C語言家族的,和JAVA有不少共同點,現在有不少人認為C#抄襲JAVA,不過現在多種現代編程語言之間是相互借鑒的,C#包含了不少VB的特性,新版的JAVA也包含了不少C#特性。
從運行平臺上看,JAVA強調的是跨平臺的,一次編譯到處運行。
從應用范圍上看,有圖有真相,下圖是近年全球軟件業界各種計算機編程語言的使用率變化圖,

在這個圖形中,最黑的那條線是C#的,從這個圖形可以看出,C#已經是一種主流的計算機編程語言,而且使用率還在穩步上升。下表是今年全球軟件業界使用的計算機編程語言排行榜。
|
Position |
Position |
Delta in Position |
Programming Language |
Ratings |
Delta |
Status |
|
1 |
2 |
|
Java |
18.160% |
+0.20% |
A |
|
2 |
1 |
|
C |
16.170% |
-2.02% |
A |
|
3 |
3 |
|
C++ |
9.146% |
-1.23% |
A |
|
4 |
6 |
|
C# |
7.539% |
+2.76% |
A |
|
5 |
4 |
|
PHP |
6.508% |
-2.57% |
A |
|
6 |
10 |
|
Objective-C |
5.010% |
+2.65% |
A |
|
7 |
7 |
|
Python |
4.583% |
+0.49% |
A |
|
8 |
5 |
|
(Visual) Basic |
4.496% |
-1.16% |
A |
|
9 |
8 |
|
Perl |
2.231% |
-1.05% |
A |
|
10 |
11 |
|
Ruby |
1.421% |
-0.67% |
A |
2001年,ECMA國際組織批準了微軟的C#編程語言為標準,并與2003年被ISO國際組織確定為國際標準。類似的C,C++語言都已經成為ISO國際標準,而JAVA尚未成為國際標準。
.NET框架簡介
.NET框架是微軟提出的先進的企業級應用開發框架,功能強大,使用方便。是Windows平臺上最為流行的軟件開發技術。
下圖就是微軟對.NET框架的結構圖。
C#是一種計算機編程語言,它比較簡潔的,是面向對象。它和C,C++,JAVA等都屬于C語法家族。掌握C++的再學C#應當不難。
.NET框架是微軟推出的軟件開發基礎框架。它采用了類似JAVA的虛擬機技術,并進一步實現了中間語言運行技術。C#語言和.NET框架是有區別的,它們的應用架構如下圖所示

微軟提出了一種中間語言的規范,初學者可以看做一種不限于CPU類型的標準匯編指令集,各種各樣的計算機編程語言編寫的程序代碼都可以編譯成符合中間語言規范的程序。中間語言規范已經定為國際標準,任何人都可以實現符合這種標準的計算機編程語言及其配套編輯器。目前微軟提供了C#,VB.NET和J#的中間語言程序編譯器。
微軟針對中間語言實現了中間語言虛擬機,它能將跨越硬件的中間語言指令轉化為運行程序的電腦CPU類型的機器指令然后調用CPU執行這些指令。
為了提供很好的開發時和運行時支持,微軟實現了.NET程序框架,其中包括了大量的實用軟件組件庫,還有用于實現ASP.NET的針對IIS的擴展程序庫等重要軟件模塊。.NET框架就運行在Windows操作系統上。
JAVA技術實現了跨操作系統平臺但不跨語言,而.NET技術實現了跨語言但不跨操作系統平臺。理論上由于中間語言規范是國際標準,.NET技術是可以跨平臺的,而且業界著名的MONO項目也初步實現了.NET技術的跨平臺,但相信微軟由于其商業利益不會實現微軟.NET框架的跨平臺的。
綜上,.NET框架是一種軟件開發框架,一種虛擬的電腦,在其中能運行多種編程語言開發的應用程序;C#只是能.NET框架上運行的其中的一種編程語言,但它是.NET開發中最重要最常用的編程語言。
這個圖結構復雜,內容很多,對于剛剛接觸.NET開發的人來說,其主要特點是
1. 提供一個大而全的類庫和控件庫。.NET框架包含一個很大的類庫,能方便的實現對文件、網絡、數據庫、安全控制、圖形繪制方面的功能。
2. .NET平臺是一個開發平臺,并不限制為某種計算機語言。我們可以使用C#、VB.NET,VC++.NET、Delphi.NET或者其他語言在其上面進行開發,這樣以前會這些語言的開發者仍然可以方便在.NET平臺上開發,以前掌握的開發語言不會扔掉。不過建議新手在.NET平臺上的開發可以一步到位的學習使用C#語言。
3. .NET平臺具有很大的覆蓋面,凡是Windows操作系統能運行的地方都可以運行.NET平臺,包括PC機和智能手機。未來.NET平臺還可用于大型機和嵌入式開發。而業界有一個名為Mono的開源.NET平臺具有一定的跨平臺特性。由于.NET平臺具有很大的覆蓋面,使得在其上面開發的程序也能運行在很多環境下,而且移植工作量小。比如我們在PC機上編寫的源代碼,大部分也能運行在智能手機中。
posted on 2011-07-06 11:50 袁永福 電子病歷,醫療信息化 閱讀(1355) 評論(1) 收藏 舉報
浙公網安備 33010602011771號