精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

再駁Linus:思科工程師對C++不得不說的事

原創
系統 Linux
Linux之父Linus Torvalds曾炮轟C++,認為C++是糟糕程序員的垃圾語言,他認為使用C++的程序員會破壞他或她接觸到任何項目。但是Mark Nelson對此卻有不同意見。讓我們一起看Mark Nelson如何再駁Linus,訴說思科工程師對C++不得不說的事。

【51CTO 新鮮譯文】 薩丕爾—沃爾夫假說曾經在語言學研究領域風靡一時。我粗略總結了一下,這個假說的核心思想是:你使用的語言影響和制約了你的想法。例如,如果你的語言只有一個單詞來描述雪,你將很難說出粉狀雪和易碎的冰雹之間的差別。

當我了解后,我徹底不相信薩丕爾—沃爾夫假說。雖然語言相對論帶著一套假說卷土重來,但幾乎可以肯定的是,人類思想絕不受制于詞匯和語法的牢籠。

E.W. Dijkstra是編程語言領域的薩丕爾,他曾說過:

“給以前接觸過BASIC學生教良好的編程幾乎是不可能的。作為潛在的程序員,他們精神上已經殘廢,無再生的希望。使用COBOL更是摧殘了他們的心靈,因此,教他們應該被視為刑事犯罪”。

今天,我們有Linus Torvalds對C++的炮轟,他認為使用C++的程序員會破壞他或她接觸到任何項目。Linus是這樣說的:

“我得出的結論是,任何希望在項目中使用C++而不是C的程序員都是很可能讓我生氣的程序員,因此我不會給他們機會來搞砸我的項目。C++導致真正糟糕的設計選擇。”

Torvalds太過武斷

在我所在的大型企業中,我們的名片背面有一句口號:不迷信科技。做到這一點可能不容易,但是的,我們愿意嘗試。

對我來說,這個訓誡意味著兩件事:

1、嘗試客觀地為工作選擇最佳的工具

2、不要讓你對工具的偏好指揮完成工作的方法

Linus在他的炮轟中已經說得很清楚,任何使用C++編程的人都很心虛,拿這些規則做借口。

但我有不同的想法,我認為C++顯然也有可能成為完成工作最合適的工具。得出這樣的結論是相當客觀的,我認為Linus顯然是被他特殊的技術流派迷惑了。

一個簡單的例子

作為我上學期C/C++編程班的期末作業,我要求學生用C實現一個簡單的令牌計數程序,目標是要重現下面這段C++代碼的行為:

map counts;
string s;
while ( cin >> s )
counts[s]++;
for ( auto ii = counts.begin() ; ii != counts.end() ; ii++ )
cout << ii->second << " : " << ii->first << endl;

這個特殊的程序突出了一些C中沒有的C++功能,如:

●C數組,向量多功能替換

● 字符串類

● 使用iostreams安全輸入

●關聯數組作為標準庫的一部分

這個程序用C++來寫是相當容易的,只需要處理一下輸入流中的錯誤——有時候甚至這一步都沒有必要。

用C實現

用C重寫是一個稍微復雜點的任務,因為C的庫中沒有任何類型的關聯數組。解決這個問題的辦法很多,我選擇了下面的辦法:

● 將所有令牌讀入一個數組

● 完成后,對數組排序

●完成數組排序后,通過遍歷每個令牌獲得計數

雖然這個算法占用的空間比C++程序更多。假設你沒有碰到gsort()之類病態的問題,花的時間可能都差不多。

我堅信用C++比用C寫這個程序更容易,理由如下:

●C I/O缺陷。在C中讀字符串有相當多的困難,由于C I/O庫沒有標準的方法讀取長度無限制的字符串(可以使用編譯器特定的擴展,但那會引起其它問題),你的輸入代碼必須檢查多種錯誤情況,或者構建你自己的字符串輸入函數。

● C數組的內存管理基本上是一項手工任務,我必須為數組分配原始空間,如果超出了它的長度,我還得小心重新分配,做完后,我還得釋放空間。

● C字符串的內存管理有同樣的問題。

● 字符串數組的排序使用gsort()只是有一點不方便,gsort()不能提供C++庫中sort()函數的性能保證。

這個函數的C版本代碼行數要多一些,需要手工完成的任務也要多一些,因此犯錯的幾率也要大一些。

我喜歡C++版本的最后一個原因是,它同樣適合其它類型,如插入和提取運算符類型、比較運算符,都可以使用同樣的代碼,只需要變一個聲明。將實現同樣的事情的代碼轉換成一個函數模板,這樣就可以在以后直接拿來使用了。

我一些最好的朋友是C程序員

那么我偏愛C++版本就能說明我是一個語言偏執的人嗎?

我認為不能如此下結論,首先,我認為這個程序的C版本也有一些不錯的優點:

● 你可以使用POSIX系統調用編寫這個程序,除了內存分配和排序。

●這個程序的C版本因為使用了底層I/O,速度將會更快,C++ iostreams在任何時候都表現良好,但它們的分層方法在談到效率時總是處于不利地位。

因此,對于這樣一個程序,語言的選擇最終歸結為背景,如果你相信80/20規則,并且它不是程序的核心部分,你可能認為這個代碼應該用C++編寫。代碼行數越少,犯錯的幾率就越低,效率可能不是最大的問題。

如果這是一段很關鍵的經常執行的代碼,你可能會認為C是最佳選擇。如果選擇C,請一定要花點額外的時間進行代碼評審,確保沒有內存泄露和指針錯誤,只有那樣,你才上路了。

撫平Linus的情緒

那么Linus看到上面的代碼是如何炮轟的呢?我斗膽猜一下,任何像樣的C++程序員都會寫出類似的代碼。Linus說:

“你一定使用了這種語言“好的”庫功能,如STL和Boost,它們對你的程序可能有幫助,但當它們不工作時,會引起無盡的痛苦”。

在這個程序中,我好好利用了曾是STL一部分的標準庫組件,它們作為標準的一部分已經有十多年的歷史。它們的表現真的很好,在我所知道的任何編譯器中,也沒有可移植性或正確性問題。

“你會發現某些抽象編程模型不是很有效,但現在你所有的代碼都依賴于所有圍繞它的好對象模型。如果不重寫你的應用程序,那么你是無法修復它的。”

的確,盡管C++不能為我做這些事,我只有設法自己編寫程序,不使用任何抽象——沒有新的類,沒有接口,基本上完全是靠C代碼完成許多有用的類的。

但我認為這是規則而不是例外。

“換句話說,只有這樣才能做得好,效率高,系統級和可移植的C++最終會限制自己,但這一切在C中都是可行的。”

除非C有容器類,字符串類,類型安全I/O,以及RAII這樣的技術,這句話才會變成真的。現在來看,它完全是胡說。

在現代C++可用之前,我可能會堅持使用一個簡單的管道來完成這個任務:

tr [:blank:] '\n' | grep -v "^$" | sort | uniq -c

事實上,我可以在編譯語言中做同樣的事。只要它們能給我一些靈活性,我想我不用成為一個偏執狂就能明白這個事實。你對此又是怎樣看的?

作者簡介:Mark Nelson,現任思科公司工程師,《The Data Compression Book》的作者,《Developing Cisco IP Phone Services: A Cisco AVVID Solution》的協作者。

原文:Linus and C++

【51CTO.com獨家譯稿,非經授權謝絕轉載!合作媒體轉載請注明原文出處及出處!】

【編輯推薦】

  1. 專訪Linus Torvalds:鄙視用道德綁架開源的行為
  2. Linux 20周年到底在哪天?Linus Torvalds告訴你
  3. C++之父:面向對象的進化與實現
責任編輯:黃丹 來源: 51CTO.com
相關推薦

2010-05-26 15:17:06

Windows Emb

2014-04-15 10:18:24

中文女工科男

2009-05-20 13:03:40

Visual StudSilverlight微軟

2009-06-26 11:01:38

new和delete

2020-06-15 08:19:00

ZooKeeperEureka

2019-11-14 15:38:46

AndroidRelease項目

2019-12-24 14:04:59

PythonExcel數據處理

2019-10-18 17:55:03

安全運營

2011-04-26 09:44:05

Power Cloud

2018-08-06 11:59:00

混合云數據中心上云

2015-08-31 14:12:12

DockerKubernetesPaaS

2009-11-11 16:48:29

Visual C++

2024-02-04 00:00:03

運維Linux磁盤

2015-01-16 16:44:50

2014-10-21 11:05:52

英特爾Linux

2015-12-11 11:58:51

光合資本

2018-08-20 13:39:15

小程序設計UI設計師

2019-10-21 10:18:29

區塊鏈大數據

2012-10-31 10:36:17

js前端JavaScript頁面構建

2011-04-27 10:31:29

兼容墨盒用戶體驗
點贊
收藏

51CTO技術棧公眾號

日韩高清国产一区在线| 里番精品3d一二三区| 国产精品沙发午睡系列990531| 国产精品福利网| 天海翼在线视频| aiai久久| 欧美日韩免费在线视频| 妺妺窝人体色777777| 国产永久免费高清在线观看| 国产在线观看免费一区| 欧美专区在线观看| 欧美在线视频第一页| 亚洲精品aaaaa| 欧美一区二区视频网站| 欧美日韩第二页| 91亚洲天堂| 国产精品视频一二| 精品国产乱码久久久久久108| 在线播放精品视频| 国产日韩精品视频一区二区三区 | 欧美日韩综合一区| 国产一区二区三区乱码| 日本三级在线视频| 久久久久高清精品| av在线不卡观看| www.五月婷婷.com| 国产精品久久久久久久久久妞妞 | 国产香蕉在线视频| 91麻豆国产自产在线观看亚洲| 精品视频—区二区三区免费| 日本一区二区三区在线免费观看| 最新日韩一区| 色综合久久66| 免费看毛片的网址| 在线三级电影| 亚洲欧美一区二区三区孕妇| 日日骚一区二区网站| 日本精品一二区| 国产福利精品导航| 成人欧美一区二区三区黑人孕妇| 一级黄色av片| 亚洲欧美日韩视频二区| 91国产精品电影| 久久久久人妻一区精品色欧美| 国产精品二区不卡| 最近2019中文字幕一页二页| 国产激情在线免费观看| 免费看久久久| 亚洲精品456在线播放狼人| 男人添女人荫蒂国产| 国产不卡精品| 欧美精品久久99久久在免费线| 中文字幕网av| 91九色综合| 欧美日韩午夜在线| 中文字幕成人在线视频| 欧美a一级片| 欧美电影一区二区三区| 亚洲精品中文字幕乱码无线| 国产午夜亚洲精品一级在线| 91精品国产麻豆国产自产在线| 日韩视频在线观看一区二区三区| 国产精品高清一区二区| 欧美一区二区视频在线观看| 中文字幕人妻熟女人妻a片| 免费精品一区二区三区在线观看| 日韩免费观看高清完整版 | 国产肥臀一区二区福利视频| 国产免费拔擦拔擦8x在线播放| 午夜影视日本亚洲欧洲精品| 久久综合九色综合88i| 特黄毛片在线观看| 在线精品视频小说1| 黄色手机在线视频| 高清久久一区| 亚洲国产精品人人爽夜夜爽| 91久久免费视频| 久久成人综合| 欧美激情视频在线免费观看 欧美视频免费一| 九九热最新地址| 亚洲国产1区| 国产成人在线播放| 国产高清在线一区二区| 91亚洲精品久久久蜜桃借种| 欧美视频精品全部免费观看| 欧美精品一区二| 亚洲人成人无码网www国产| 日本不卡电影| 久久久久久久久久久免费精品| 亚洲男人的天堂在线视频| 久久欧美肥婆一二区| 91美女福利视频高清| 日本xxxx人| 国产精品美女久久久久av爽李琼| www.18av.com| 欧美大片免费高清观看| 欧美一级日韩免费不卡| 亚洲男人在线天堂| 久久综合成人| 97超碰国产精品女人人人爽| 伊人亚洲综合网| 成人免费的视频| 亚洲精品乱码久久久久久蜜桃91| 欧美四级在线| 日本韩国一区二区三区视频| 在线观看欧美一区二区| 国产影视一区| 国内精品久久久久久久| 在线观看亚洲国产| 成人一区二区三区| 亚洲永久激情精品| 在线男人天堂| 日韩欧美国产一二三区| 内射毛片内射国产夫妻| 黄色亚洲免费| 成人黄色中文字幕| 免费观看黄色一级视频| 中文字幕在线一区| 日韩a在线播放| 一区二区三区在线免费看| 夜夜躁日日躁狠狠久久88av| 中文字幕第28页| 国产在线国偷精品产拍免费yy| 日韩精品av一区二区三区| 2020国产在线| 欧美一区二区视频网站| 呻吟揉丰满对白91乃国产区| 久久国产精品99国产| 国产精品入口免费| 美女写真理伦片在线看| 91福利在线导航| 醉酒壮男gay强迫野外xx| 在线不卡视频| 99精彩视频| 国产在线观看免费麻豆| 欧美日韩成人在线| 久久中国妇女中文字幕| 亚洲永久精品ww.7491进入| 亚洲国产国产亚洲一二三 | 色播一区二区| 久久视频这里只有精品| 亚洲午夜激情视频| 欧美激情一区二区三区四区| 日本va中文字幕| 精品国产中文字幕第一页| 青青青国产精品一区二区| 无码精品在线观看| 亚洲永久精品大片| 伊人av在线播放| 欧美日韩一区二区高清| aa成人免费视频| 成人超碰在线| 亚洲成人黄色在线观看| 国产精品日日夜夜| 成人国产亚洲欧美成人综合网| 国产精品va在线观看无码| 天堂va在线高清一区| 欧美精品久久一区二区| 天堂网2014av| 一本一道波多野结衣一区二区| 公侵犯人妻一区二区三区| 日本中文字幕不卡| 一区二区成人国产精品 | xxx.xxx欧美| 日韩成人小视频| 香蕉影院在线观看| 欧美国产日韩精品免费观看| 亚洲 国产 图片| 综合久久亚洲| 国内一区在线| 日韩精品一区二区三区| 日韩中文字幕免费看| av天堂一区二区三区| 亚洲高清在线精品| 37p粉嫩大胆色噜噜噜| 免费在线观看一区二区三区| 综合一区中文字幕| 一区二区视频| 国产精品大陆在线观看| 综合图区亚洲| 亚洲九九九在线观看| 在线观看视频中文字幕| 亚洲五月六月丁香激情| 超碰97在线资源站| 久久国产生活片100| 国产一区二区四区| 精品国产一级毛片| 91九色在线观看| 在线日韩影院| 欧美不卡视频一区发布| 欧美色18zzzzxxxxx| 欧美一级免费大片| 亚洲影院在线播放| 亚洲精品国久久99热| 性欧美13一14内谢| 国产精品99久久久久久似苏梦涵| 国产在线青青草| 偷拍欧美精品| 日本在线观看一区二区| 成功精品影院| 国产精品一区久久久| 天堂电影一区| 欧美日韩成人网| 国产福利电影在线| 亚洲国产成人久久| 国产精品一区二区黑人巨大| 黑人巨大精品欧美一区二区一视频| 天堂网av2018| 久久蜜桃香蕉精品一区二区三区| xxxx国产视频| 韩国精品免费视频| 欧美丰满熟妇xxxxx| 怡红院精品视频在线观看极品| 亚洲一卡二卡| 国产精品一在线观看| 精品国产91亚洲一区二区三区www| 亚洲日本中文| 国产精品一区二区三区在线播放| 欧美13videosex性极品| 欧美另类交人妖| 欧美69xxxx| 日韩中文字幕精品视频| 国产九色在线| 亚洲精品有码在线| 高h调教冰块play男男双性文| 欧美日韩色综合| 亚洲图片欧美日韩| 欧美午夜视频在线观看| 黄色小视频在线免费看| 一区二区高清视频在线观看| 一区二区三区四区五区| 亚洲欧洲另类国产综合| 国产一区二区三区视频播放| 欧美激情资源网| 久久久视频6r| 国产日韩欧美制服另类| www.色天使| 久久久久久久久久久99999| 波多野结衣办公室33分钟| 91片在线免费观看| 人妻丰满熟妇av无码久久洗澡 | 欧美国产日韩在线观看成人| 亚洲欧美日韩综合aⅴ视频| 久久99久久99精品免费看小说| 国产精品女主播在线观看| 女教师淫辱の教室蜜臀av软件| 国产日韩三级在线| a资源在线观看| 国产视频一区二区在线观看| 一区二区伦理片| 国产农村妇女精品| 三级黄色免费观看| 亚洲视频一区二区免费在线观看| 中文字幕五月天| 一级精品视频在线观看宜春院| 国产第一页在线播放| 亚洲国产精品精华液网站| 日韩高清精品免费观看| 欧美日韩国产一区二区| 精品国产午夜福利| 在线观看视频一区| 一级黄色大毛片| 日韩免费福利电影在线观看| 深爱激情五月婷婷| 亚洲女人天堂网| 婷婷激情在线| 欧美精品免费播放| 是的av在线| 国产精品日韩一区| 精品一级视频| 久久久久欧美| 日韩av免费大片| 毛片在线视频观看| 国产亚洲一区在线| 午夜在线观看av| 丰满亚洲少妇av| 午夜在线观看一区| 中文字幕中文字幕一区| 国产一级一级片| 欧美亚洲一区二区在线观看| 国产精品永久久久久久久久久| 欧美精品一区二区久久久| h视频在线观看免费| 久久99热精品| 黄瓜视频成人app免费| 亚洲一区二区久久久久久久| 欧美sss在线视频| 亚洲欧洲日韩综合二区| 樱桃成人精品视频在线播放| 搡女人真爽免费午夜网站| 国产精品1024| 三区四区在线观看| 亚洲午夜精品久久久久久久久| 人妻中文字幕一区二区三区| 日韩欧美卡一卡二| 高清福利在线观看| 午夜免费久久久久| 国产精品亚洲一区二区在线观看| 久久国产精品高清| 91精品精品| 黄色一级一级片| 北条麻妃国产九九精品视频| 日韩在线一卡二卡| 富二代精品短视频| www.av在线.com| 最近中文字幕2019免费| 免费v片在线观看| 亚洲一区二区在线| 日韩欧美精品一区| 欧美视频第一区| 成人一级视频在线观看| 亚洲av无一区二区三区| 色综合天天狠狠| 风流老熟女一区二区三区| 久久亚洲精品一区| 亚洲第一会所| 欧美成人第一区| 精品不卡视频| 人妻激情偷乱视频一区二区三区| 国产精品丝袜91| 69亚洲精品久久久蜜桃小说| 日韩电影免费观看中文字幕| 日韩另类在线| 92裸体在线视频网站| 色喇叭免费久久综合网| 日本老熟妇毛茸茸| 91免费视频观看| 久久精品视频9| 精品少妇一区二区三区| 少女频道在线观看高清| 91色在线观看| 亚洲成人tv| 小早川怜子一区二区三区| 国产精品白丝在线| 中文字幕在线2019| 中文字幕国产日韩| 国产精品久久久久久久久免费高清 | 久久久99精品视频| 国产一区在线视频| 国产精品视频一区二区三| 欧美精品亚洲一区二区在线播放| 97电影在线| 国产日韩欧美在线观看| 国产大片一区| 欧洲在线免费视频| 亚洲欧美国产77777| aa视频在线免费观看| 欧美成人在线免费视频| 日韩中文字幕无砖| 青青视频免费在线| 国产成人自拍网| 国产91av视频| 日韩成人av网| 香蕉视频亚洲一级| 色狠狠久久av五月综合| 激情综合网天天干| 欧美三级小视频| 精品黑人一区二区三区久久 | 久久99久久| 国产精品视频26uuu| 天堂网在线观看国产精品| 国产探花在线观看视频| 亚洲一区二区三区影院| 亚州视频一区二区三区| 国产成人免费91av在线| 99精品在线免费在线观看| 韩国一区二区三区四区| 欧美日韩激情视频| 成年人在线视频免费观看| 91网站免费观看| 激情综合在线| 久久精品国产亚洲av久| 欧美猛男超大videosgay| 欧美一卡二卡| 日本午夜精品一区二区三区| 国产伦精品一区二区三区免费迷 | 日韩精品亚洲精品| 欧美成人免费全部网站| 国产 欧美 日本| 久久精子c满五个校花| 91亚洲国产成人久久精品麻豆| 欧美日韩福利电影| 九九视频免费观看视频精品| 国产一级片自拍| 午夜成人在线视频| 高h视频在线| 不卡的av一区| 日韩影院精彩在线| 免费一级a毛片夜夜看| 国产午夜精品久久久| 国产精品一区二区精品视频观看| 精品这里只有精品| 亚洲欧洲精品一区二区精品久久久| 欧日韩在线视频| 国产啪精品视频网站| 亚洲男女自偷自拍| 中文字幕亚洲欧美日韩| 亚洲欧洲午夜一线一品| gogo久久日韩裸体艺术| 视频二区在线播放|