C#論戰之我見

來源:互聯網
上載者:User

最近一陣子大家都在討論C#,從效能到細枝末節;從無名小卒到所謂大牛;言辭也有從委婉到針鋒相對,可謂熱鬧異場。所以,圍觀了這麼久,我也來湊湊熱鬧。

 

首先,立個最主要的觀點,批判某些人。不管你有多牛,說別人水平菜和無知總是不對的。做人總是要低調的。大家在這上面說話,一要表達自己觀點;二恐怕是要與人交流:請更牛的指點瑕疵;請同水平的人討論批評;給低水平的人一些學習意見和指導,這也是最重要的。如果一看別人說錯了,就用尖銳的措辭將人批判的一塌糊塗,以此擷取的優越感,還真不知道有多大意義。揚長避短只在競爭時,平時還是虛心低調,多做些好事,多給新人指點迷津,別誤導人吧。

 

其次,我認為不管你有多大牛(真牛?加牛?),大家出來說話,總的對自己說的話負責任吧。也許你說的是實話,但不見得就是負責任。說道C#的效能,首先要有的參考對象,這樣子才有比對的意義。指甲刀跟鍘刀各有長短優劣,如果拿二者相比,顯然很荒唐。C#與C/C++就是類似的對位。

 

第三,有句話說“存在即真理”,C#能有今天也有其存在的根本理由。它有它的職責,就像每個人在公司的職位一樣,無法取代。最近公司背景程式在升級換代,因業務本身的獨特性,最好是應用程式。項目時間只有區區幾個月,需求每天都在變化。此時Java做應用程式程式醜陋,C/C++需要維護太多非業務的東西,前台語言根本指望不上,Delphi逐漸的沒落,除了C#,別的選擇還真沒有,這就是存在的真理。

 

所以在批判一個東西前,最好先說明它的前世今生,讓大家對它知根知底,無需爭吵,自然會有結論。而不是今天抓住“泛型,標籤”,明天嘲諷對“介面,委託,事件”的無知。說實話,我覺得C#裡面所有的概念都很好用,就看你用在什麼地方,怎麼用了。

 

不過話又說回來,就算不比較,C#的程式效能確實不太令人滿意,有這樣的結果有很多原因,我總結了一下,大致有以下幾點,還望大家指點:

  1,個人技術水平問題:剛入門的菜鳥與五年的老油條,顯然不是一個層次,做出的東西自然差距很大;

      2,個人態度問題:對於一門語言,首先要接納它,然後積極鑽研,充分發掘它的潛力。舉個例子,以前我用C#做個圖形映像軟體,當同時繪製10萬個左右的圖形時,程式慢的要命,用了緩衝也沒什麼改觀,後來學習了享元模式,經過一番探索後,軟體效能與商業軟體並不差多少;

      3,平台問題:運行在虛擬機器上的代碼總沒有直接運行在機器上的代碼效率高,這是毋庸置疑的。但同時也應該明白,他們的差別可以說是微乎其微。C#程式運行在虛擬機器上固然效率打折扣,但這個虛擬機器能使用CPU最新的指令;C/C++固然是機器代碼,但因各種原因在支援最新CPU指令上總是慢了很多。此消彼長,結果就差的不是很多。

以上3點,如果你能解決了1,2那麼第3也就不存在了。

 

所以希望爭論派繼續爭論,想踏實學習回去繼續踏實學習。如果有什麼問題或好的點子,就找我一起需找解決辦法和分享。

 

後記:

     最近在公司維護一個項目,重拾Delphi,結果發現Delphi的優點太多了,都數不過來,然後一邊感慨C#為什麼沒有那些特性,一邊抓腦袋熟悉各種文法:)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.