• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 一種新的開發語言C#

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    一種新的 開發語言 C#: C#介紹 在過去的二十年內,C和C++已經成為廣泛的應用在商用軟件的開發中的開發語言。但是C和C++都提供了一些容易使開發者產生錯誤的特性,也可以說C和C++的靈活性是犧牲了開發效率。如果和其他的開發語言相比(比如說 VB ),相同功
    一種新的開發語言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的應用,并且能夠通過Inte.net被各種系統或是其他開發語言所開發的應用調用。
      
      即使拋開上面所提到的優點,C#也可以為C/C++開發人員提供快速的開發手段而不需要犧牲任何C/C++語言的特點/優點。從繼承角度來看,C#在更高層次上重新實現了C/C++,熟悉C/C++開發的人員可以很快的轉變為C#開發人員。
      
      開發效率與安全
      
      目前的各種基于WEB應用的軟件開發向傳統的商業應用軟件開發提出了挑戰,開發者被組織起來開發具有更短開發周期的各種應用,并且需要能夠提供更好的可修正性,而不是建立一個可以長久使用的軟件系統。
      
      C#的設計正是充分考慮了這些因素。C#會幫助開發者通過更少的代碼完成相同的功能,并且能夠更好的避免錯誤發生。
      
      與WEB開發相結合
      
      新的開發模式意味著需要更好的利用現有的各種WEB標準,例如HTML,XML,SOAP(簡單對象存取協議)?,F存的開發工具是在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調用的支持都是為了為開發人員提供足夠的開發控制能力。
      
      總結
      
      C#是一種先進的,面向對象的開發語言,并且能夠方便快捷的MS網絡平臺建立各種應用和建立能夠在網絡間相互調用的WEB服務。從開發語言的角度來講C#可以更好幫助開發人員避免錯誤,提高工作效率,而且同時具有C/C++的強大功能。
      
      本文原文見:msdn.microsoft.com
      
      譯者:C#,是不是又會掀起一場開發的革命呢,就如同VB。不過C#也許會脫離設計者的控制,而變為一個畸形。(也許從我個人來講對于將開發語言捆綁在操作系統上這種作法并不贊同)不過C#最終還是沒有跳離目前開發模式的限制,也許只能夠說成是一種更適合MS平臺的經過加工的C++。但C#畢竟是一種經過深層思考后所提出的開發語言,這一點上要比其他的開發語言更具優勢。因為很多語言都是實驗的產物。比如C和JAVA。無論結果如何C#都是值得期待的。
      
      雖然MS現在面臨重重危機,但是MS一統天下的野心一點都沒有隱藏。:-D

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>