日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
C#與C++誰(shuí)更強(qiáng)?還是關(guān)公戰(zhàn)秦瓊

首先由博主引出了以下的問(wèn)題,大家由此展開(kāi)討論:

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比甘孜州網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式甘孜州網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋甘孜州地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。

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

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

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

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

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

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

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

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

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

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

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

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


文章標(biāo)題:C#與C++誰(shuí)更強(qiáng)?還是關(guān)公戰(zhàn)秦瓊
路徑分享:http://m.5511xx.com/article/dphjohd.html