程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 一種新地設計語言C#

一種新地設計語言C#

編輯:C#入門知識
     C#介紹
  
  在過去的二十年內,C和C++已經成為廣泛的應用在商用軟件的開發中的開發語言。但是C和C++都提供了一些容易使開發者產生錯誤的特性,也可以說C和C++的靈活性是犧牲了開發效率。如果和其他的開發語言相比(比如說VB),相同功能的C/C++軟件通常會需要更長的開發周期。正是由於C/C++開發的復雜性和需要較長的開發周期,所以許多C/C++開發人員都在尋找一種可以在功能和開發效率間提高更多平衡的開發語言。
  
  目前有一些開發語言通過犧牲C/C++語言的靈活性(一些必要的靈活性)來換取開發效率。有些語言對開發人員產生了過多的限制(比如說限制使用底層控制代碼)並且提供更少的通用命名能力(譯者:可能是指對變量,函數的引用能力)。這些語言不能夠輕易的與現存的系統相結合,並且不能夠當前的WEB開發相結合。
  
  一種合理的C/C++替代語言應該是能夠提供對現存和潛在的平台上的高效開發提供有效和有力的支持。並可以使WEB開發可以非常方便的與現存的應用開發相結合。而且C/C++開發人員都傾向於在必要的時候使用底層代碼。
  
  M$所推出的C#
  
  在這個問題上M$的解決方案是推出一種命名為C#(發音為 C Sharp)的開發語言。C#是一種先進,面向對象的語言,通過C#可以讓開發人員快速的建立大范圍的基於MS網絡平台的應用,並且提供大量的開發工具和服務幫助開發人員開發基於計算和通信的各種應用。
  
  由於C#是一種面向對象的開發語言,所以C#可以大范圍的適用於高層商業應用和底層系統的開發。即使是通過簡單的C#構造也可以各種組件方便的轉變為基於WEB的應用,並且能夠通過Internet被各種系統或是其他開發語言所開發的應用調用。
  
  即使拋開上面所提到的優點,C#也可以為C/C++開發人員提供快速的開發手段而不需要犧牲任何C/C++語言的特點/優點。從繼承角度來看,C#在更高層次上重新實現了C/C++,熟悉C/C++開發的人員可以很快的轉變為C#開發人員。
  
  開發效率與安全性
  
  目前的各種基於WEB應用的軟件開發向傳統的商業應用軟件開發提出了挑戰,開發者被組織起來開發具有更短開發周期的各種應用,並且需要能夠提供更好的可修正性,而不是建立一個可以長久使用的軟件系統。
  
  C#的設計正是充分考慮了這些因素。C#會幫助開發者通過更少的代碼完成相同的功能,並且能夠更好的避免錯誤發生。
  
  與WEB開發相結合
  
  新的開發模式意味著需要更好的利用現有的各種WEB標准,例如HTML,XML,SOAP(簡單對象存取協議)。現存的開發工具是在Internet出現前或是未得到充分應用前出現的,所以都不能很好的適應目前WEB技術的開發需要。
  
  C#開發者可以方便的在M$網絡平台上擴展自己的應用。C#可以將任何組件轉變為WEB服務,並且可以被運行於Internet上的任何平台的任何應用調用,重要的是C#對這一特性提供了內置的支持。
  
  更重要的一點,WEB服務框架可以讓任何WEB服務都看起來類似於C#的內置對象,所以可以讓開發人員在開發過程中繼續使用他們已經具備的面向對象的開發方法和技巧。
  
  此外C#還擁有許多其他特性使自己成為最出色的Internet開發工具。例如,XML目前已經成為網絡中數據結構傳送的標准,為了提高效率C#將允許直接將XML數據映射成為結構。這樣的話可以有效的處理各種數據。
  
  減小開發中的錯誤
  
  即使是優秀的C/C++開發人員都難於避免在編碼過程出現一些常見錯誤,比如錯誤的初始化一個變量,而這種錯誤將有可能導致各種不可以預知的錯誤,並且難於被發現。如果一旦錯誤在發現前被投入生產環境,排除這些錯誤將會付出昂貴的代價。而C#的先進設計思想可以消除C/C++開發中的許多常見錯誤,比如:
  
  垃圾收集機制將減輕開發人員對內存的管理負擔。
  C#中的變量將自動根據環境被初始化。
  變量是類型安全的。
  使用C#將會使開發人員更加輕易的開發和維護各種商業應用。
  
  提供內置的版本支持來減少開發費用
  
  更新軟件系統中的組件(模塊)將會是一種容易產生錯誤的工作,在代碼修改過程中可能對現存的軟件產生影響。為了幫助開發人員處理這些問題,C#在語言中內置了版本控制功能。例如:函數重載必須被顯式的聲明(這種情況在C++和JAVA中時常發生),這可以防止代碼級錯誤和保留版本化的特性。另一個相關的特性是接口和接口繼承的支持。這些特性可以保證復雜的軟件可以被方便的開發和升級。
  
  總結起來,這些特性可以幫助開發更強壯的軟件後繼版本和減輕開發費用。
  
  功能強,易於表現,靈活
  
  更好的結合商業應用中的流程與軟件實現
  
  為了更好實現公司的各種商業計劃,在軟件系統中必須在商業流程和軟件實現間有緊密的聯系。但是大多數的開發語言都不能輕易的將各種應用邏輯與代碼相聯系。例如,開發人員會使用各種注釋來標明各種類所代表抽象商業對象。C#允許使用在任何對象上使用預定義數據或是經過擴展的元數據。在系統結構中可以使用區域屬性(譯者:類似NT的網絡域結構),並且將這些屬性添加到類,接口或者其他元素上。開發者可以獨立的測試各種元素上的屬性。這將會使得一些如同收集區域中對象屬性,或是編寫自動工具來保證的區域中的類,接口是否被正確定義的類似工作變得簡單。
  
  可擴展的協作能力
  
  雖然管理性強,透明型好,類型安全的開發環境對大多的商業應用都適合,但現實的經驗告訴我們一些應用出於執行效率或是與現存的應用接口API相結合的原因需要使用原有的開發方式來進行編碼。也正是如此,許多C/C++開發人員寧願放棄使用一些可以提高開發效率的開發工具。C#通過下面的方法來解決這些問題:
  
  內置支持COM模型和Windows平台API。
  允許有限制的使用指針。
  在C#中任何對象都會自動成為COM對象,開發者不再需要顯式的實現IUnknown和其他一些COM接口,同時也可以方便而自然的使用現存的COM對象,而不需要關心這些COM對象是否使用C#開發。
  
  對於使用C#的開發人員來講,C#允許開發人員調用OS所提供的API。在經過標記的代碼區域內使用指針並手工管理內存分配。這可以讓C/C++開發人員更快的熟悉和轉向C#和並且不需要放棄在以前開發中所形成的開發習慣,而且以前的C/C++代碼依然可以被重用。無論是對於COM的支持還是對於API調用的支持都是為了為開發人員提供足夠的開發控制能力。
&

[1] [2] 下一頁  

nbsp; 
  總結
  
  C#是一種先進的,面向對象的開發語言,並且能夠方便快捷的MS網絡平台建立各種應用和建立能夠在網絡間相互調用的WEB服務。從開發語言的角度來講C#可以更好幫助開發人員避免錯誤,提高工作效率,而且同時具有C/C++的強大功能。
  
  本文原文見:msdn.microsoft.com
  
  譯者:C#,是不是又會掀起一場開發的革命呢,就如同VB。不過C#也許會脫離設計者的控制,而變為一個畸形。(也許從我個人來講對於將開發語言捆綁在操作系統上這種作法並不贊同)不過C#最終還是沒有跳離目前開發模式的限制,也許只能夠說成是一種更適合MS平台的經過加工的C++。但C#畢竟是一種經過深層思考後所提出的開發語言,這一點上要比其他的開發語言更具優勢。因為很多語言都是實驗的產物。比如C和JAVA。無論結果如何C#都是值得期待的。
  
  雖然MS現在面臨重重危機,但是MS一統天下的野心一點都沒有隱藏。:-D  

上一頁  [1] [2] 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved