成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#與C++誰更強(qiáng)?還是關(guān)公戰(zhàn)秦瓊

開發(fā) 后端
這本是一次網(wǎng)上.NET開發(fā)人員的簡單討論,51CTO-.NET頻道為您總結(jié)一下,便于您更好的理解C#與C++。

首先由博主引出了以下的問題,大家由此展開討論:

我一直不明白C++真的比C#強(qiáng)大嗎?望高手指點(diǎn)。

困惑1.:為什么飛信之前的版本用.NET做的,感覺不是很好用,最終放棄了.NET而使用C++重寫了。感覺重寫之后的版本好一點(diǎn)。難道是他們的技術(shù)不好?還是C++真的比C#強(qiáng)大嗎?

困惑2:為什么QQ一直使用C++開發(fā)。(雖然QQ開發(fā)的時(shí)候C++還是最主流的,C#還不是那么流行)但是概念版QQ只是使用了WPF的技術(shù)實(shí)現(xiàn)了其界面,但是內(nèi)核還是C++。現(xiàn)在C#已經(jīng)流行起來了啊!為什么不出現(xiàn)完全C#的QQ 呢?還是C++真的比C#強(qiáng)大嗎?

討論開始后,有技術(shù)人員表示這個(gè)要看具體需求,其實(shí)這里不太存在效率的問題,現(xiàn)在的計(jì)算機(jī)效率已經(jīng)不成問題了。如果效率有問題,MSN怎么跑的?有人說所以MSN很慢?MSN慢是因?yàn)镸SN的服務(wù)器在美國,而不是因?yàn)橛昧?NET編寫的才慢的。就樓主所說的飛信,QQ(還不止飛信和QQ,還有很多)這種軟件,一般都是使用C或者C++開發(fā)。為什么不用.NET呢?這個(gè)就牽涉到一個(gè)用戶群的問題。飛信,QQ這種是即時(shí)通訊軟件,他的用戶群非常廣泛,那么也就碰上一個(gè)問題,如果你在安裝飛信,QQ的時(shí)候他先提示你去安裝一個(gè).NET framework,你是不是要暈掉?就算你知道這個(gè)是什么?但是你不能保證所有的老百姓都知道.NET framework啊。

那么你可能要問,直接把.NET Framework打包到飛信或者QQ中?!別天真了,.NET Framework太大了,就算真的打包進(jìn)去是不是都要下載半天?那么用戶體驗(yàn)就很差了!還有就是牽涉到跨平臺的問題,用C或者C++基本上不存在跨平臺的問題,你用.NET呢?Linux,MAC OS上怎么辦?你不能讓你的用戶為了用一下飛信或者QQ全部先換OS吧?所以一般官方的版本都是使用C或者C++寫的。那么開源的版本嗎,這個(gè)就是隨便了,你愛用不用!至于MSN,那是微軟的策略,所以他就是用.NET寫成的,而且官方的MSN只支持window(不知道是否已經(jīng)出了官方別的平臺的版本?),一般情況下,你要在Linux或者M(jìn)AC OS上只能用開源的MSN客戶端! 

51CTO編輯注意到上面這位技術(shù)人員的觀點(diǎn)是從操作系統(tǒng)的角度來談,也就是不同系統(tǒng)對不同開發(fā)工具的適應(yīng)程度。特別是.NET Framework如何運(yùn)行在Linux這樣的開源系統(tǒng)中的問題。

對于飛信用C++重寫的問題,有人表示了不同的觀點(diǎn):“新版飛信一如既往是.NET的,也不知道從哪里傳出說是C++重寫的,其實(shí)根本沒有。 QQ的話不得不考慮組件重用的問題,原本用的好好的核心沒必要換不是嗎。 總體來說.NET運(yùn)行效率應(yīng)該比不上原生代碼的,但是性能的差距肯定不會太懸殊。畢竟虛擬機(jī)可以針對硬件平臺優(yōu)化代碼,原生程序則很難做到。.NET難以保證代碼的安全確實(shí)是個(gè)問題,但是使用各種手段增加破解難度也是可行的,畢竟就算是原生程序?qū)τ诖a的安全也不能100%確保。”這樣的觀點(diǎn)是支持.NET廣泛使用性的,不過也認(rèn)為一套已經(jīng)成熟的開發(fā)手段,沒必要做平臺的調(diào)整。

C#比C++多了一層中間語言Common Intermediate Language,在運(yùn)行的時(shí)候生成計(jì)算機(jī)的語言再去運(yùn)行,和C++直接生成計(jì)算機(jī)語言相比效率更差。最早的時(shí)候計(jì)算機(jī)編程是用打洞的字條進(jìn)行輸入的,那個(gè)字條就相當(dāng)于***C++編譯好的計(jì)算機(jī)認(rèn)識的程序。

.NET強(qiáng)大在于開發(fā)效率,易于維護(hù)(誰讓C++這么多的宏啊,常量啥的)。.NET并不慢,***次加載可能會因?yàn)橐虞druntime,需要更長的時(shí)間。 一般的指令執(zhí)行,可能比C/C++慢百分之幾十而已,是同一個(gè)數(shù)量級的。如果說.NET寫的程序慢的不能忍受,那么絕對不是.NET的問題。不過.NET程序更占內(nèi)存,這個(gè)我同意,誰讓要加載虛擬機(jī)呢,誰讓類型帶了這么多元數(shù)據(jù)呢, 這一點(diǎn)恐怕所有虛擬機(jī)語言都好不到哪里去。

有技術(shù)人員提出這個(gè)問題主要是權(quán)衡吧,托管的、封裝好的代碼必然會給程序員帶來很大的幫助,想想當(dāng)年程序員們?yōu)閮?nèi)存泄露而打飛干戈的年代吧。C++是很好,就好比給你一把玄鐵,想打造什么樣的銳利武器,你自己打造把,但是打造不好,可怪不得C++;而C#呢,給你一半鋒利的劍,你去廝殺吧,但是隨便你武力再好,遇到一個(gè)比你鋒利的劍,你就要認(rèn)倒霉。

封裝給我們帶來巨大的好處,物以類分,這符合每個(gè)人的習(xí)慣;而C和C++呢,萬物來自核心,從核心出發(fā)吧,這符合那些造物者的思維!所以很多東西的核心是C++,而至于界面或者快速開發(fā),那還是需要時(shí)間的,而造物者卻很稀缺,如果所有的事情都讓造物者來完成,時(shí)代就要倒退了。

考慮到效率問題,我覺得正如上面某樓說的,科學(xué)計(jì)算或者仿真等方面,不用太憂慮。其實(shí)讓我們機(jī)子卡的程序還真不多!

【編輯推薦】

  1. C#模式窗體中的按鈕操作
  2. C#模式窗體操作詳解
  3. C#窗體繼承原理以及實(shí)現(xiàn)淺析
  4. C#窗體關(guān)閉事件的重載實(shí)現(xiàn)淺析
  5. C#窗體位置與大小設(shè)置詳解

 

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2010-01-22 11:23:06

C++程序

2009-03-19 17:33:56

Nehalem服務(wù)器處理器

2012-03-31 22:16:06

Lumia

2021-01-13 10:52:29

C語言Linux計(jì)算機(jī)領(lǐng)域

2010-01-15 18:35:25

C++的類

2009-05-22 11:01:53

C++JavaC#

2009-08-13 17:30:30

C#構(gòu)造函數(shù)

2009-08-19 10:09:21

C#和C++

2009-08-28 10:14:45

C#內(nèi)存泄露

2011-05-18 18:05:47

C#C++

2011-05-18 17:56:38

C#C++

2009-08-25 14:42:41

由C++轉(zhuǎn)向C#

2010-02-01 13:08:46

C++函數(shù)指針C#托

2017-09-18 08:53:28

編程語言ERP補(bǔ)丁管理

2009-09-04 17:34:11

C#CC++

2011-06-11 21:36:44

C#C++

2009-11-17 09:07:55

靜態(tài)構(gòu)造函數(shù)

2011-06-14 12:27:38

C#C++

2011-10-12 06:09:32

Dart

2018-05-17 11:10:44

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 999在线精品 | 国产一区亚洲二区三区 | 日韩1区| 狠狠视频| 玖玖国产精品视频 | 免费黄色片在线观看 | 亚洲va国产日韩欧美精品色婷婷 | 久久久久亚洲 | 久久夜夜| 国产视频精品免费 | 日韩一三区| 在线视频h | 中文字幕一区二区三区四区五区 | 黄网站免费观看 | 粉嫩一区二区三区四区公司1 | 91秦先生艺校小琴 | 亚洲精品一区二区三区在线 | 国产精品精品久久久 | 免费一级欧美在线观看视频 | 免费大黄视频 | 欧美一级小视频 | 91久久国产综合久久91精品网站 | 国产视频一区二区 | 亚洲少妇综合网 | 黄色片大全在线观看 | 夜夜草| 999久久久免费精品国产 | 精品一二区 | 欧美激情亚洲 | 日韩在线视频一区二区三区 | 神马久久av | 国产伦精品一区二区三区高清 | 国产午夜久久久 | 国产一级片一区二区 | 四虎精品在线 | 久久综合九九 | 国产精品18hdxxxⅹ在线 | 一区二区三区精品视频 | 性天堂网 | 狠狠做深爱婷婷综合一区 | 国产三级一区二区三区 |