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

C語言高效得簡直不合理

開發 開發工具 后端
對于其他語言,他們能讓你更快的工作,但從長遠來看,當性能和可靠性變得重要時,C將會為你省去不少麻煩事兒。我個人再次非常痛苦的學到了這一刻。

【譯者序:我翻譯此文并非推崇C而貶低其他語言。我翻譯此文,只是因為作者的多處精到的見解讓人深思。作者的出發點,很明顯,是純技術的;各位讀者且謹記這一點。】

多年來,我一直試圖擺脫C語言。太簡單,太多細節需要處理,太古老,太低級。我一直鐘愛Java,C++,Erlang。我用它們創建了很多項目,并且自己為這些項目感到驕傲;然而,這些語言,最終,都傷了我的心。他們做出承諾,卻無法兌現;他們專注于錯誤的東西,并且所做的“折衷”最終讓你倍感煎熬。于是,我不得不求助于C。

C就是一個萬能背包。它高效且高產,有強大的工具和廣泛的社區支持,并且它對它所做的“折衷”非常誠實。

對于其他語言,他們能讓你更快的工作,但從長遠來看,當性能和可靠性變得重要時,C將會為你省去不少麻煩事兒。我個人再次非常痛苦的學到了這一刻。

簡單直觀

C語言是非常棒的高級語言。我重復一遍,C語言是非常棒的高級語言。當然,它沒有Java、C#等高級,自然也沒有Erlang、Python或者 Javascript高級。但是,他和C++在語言的高級程度上,是一樣的;而然它比C++更加簡單。當然C++提供了更多的抽象,然而它并沒有給出比C 更高級的抽象。在使用C++時,你考慮的細節并不比你使用C時的少,除此之外,你還要考慮一堆可笑的無意義東西。

"When someone says: 'I want a programming language in which I need only say what I wish done', give him a lollipop." - Alan J. Perlis

當有人說:“我想要一種編程語言,我僅需要對它說我想干啥就行了。”那么給那個小屁孩兒一個棒棒糖吧。 Alan J. Perlis

我們想要找一種低級語言來代替C,然而找不到;這并非是因為C語言是低級語言,相反,恰恰是因為C語言作為底層機器上的高層抽象太成功了。它如此成功,以至于讓大多數的低級語言顯得毫無意義。C就是這么擅長它所做的。

C語言的語法和語義強大而直觀。它可以用以編寫高級算法,同時也可以用以處理底層硬件邏輯。正因為其強大、簡單和直觀的語法和語義,C語言并不會給我們一些額外的認知上的負擔,從而讓編程者專注于真正重要的事情。

C顛覆了我們對低級語言的認識。這真了不起。

簡單的代碼,精致的類型

c語言是一種弱類型語言,其類型系統非常簡單。和C++還有java明顯的一個區別是,c里面你不能定義“類”(class),你不可以把所有的運行時需要的東西都放到“類”里面。你的所有工作都嚴格基于結構(struct)和聯合(union)。所有的函數調用者必須明確被調用函數的參數類型和返回值類型。所以調用者的自由相對有限。

你只是想要個香蕉,結果來了只自稱森林之王的大猩猩——Joe Armstrong

你剛剛聽起來像是c語言缺點的東西某種程度上確實一種優點:c語言的API面對用戶都力圖精簡。這避免了龐雜的框架,而力圖在簡單的類型基礎上創造一個小巧的函數庫。

而面向對象的語言往往在復雜的類型基礎上又構造了龐雜的基礎類庫,這些庫提供了大量的相互依賴的接口,他們的參數和返回值的“類”型也因此更加復雜。每一種“類”又定義了大量的復雜的方法和屬性……好吧,更加復雜了。

這并不是說吐面向對象就希望變復雜,但是他們貌似鼓勵你把事情變復雜。他們的復雜性使你很容易犯錯誤。相對來說,c就很少導致錯誤。c語言盡力構建一個簡潔、通俗的類型系統,使用它你會發現你不需要顧及那么多的依賴關系。這使你的開發變得更加簡單。

速度之王

c語言不論在處理器中還是在內存堆棧里,都是速度最快的。而且其高效不僅僅體現在速度上,即使是內存的管理以及啟動時間上,也無人望其項背。當你需要平衡空間和時間的消費時,c語言從來不會對你隱藏任何細節,原因如下:

-強大的編譯器

-k&p風格

每次那些更高層次的編程語言(比如java或者haskell),聲稱自己能產生接近c語言的表現從程序的時候,這在我聽來簡直就是笑話。通常,他們為了實現這一點,不得不在語法上做出一些稀奇古怪的事情,比如專門搞一些“聰明的”編譯器或者虛擬機……這種古怪的優化行為使語言失去了原本簡單的性質,更何況這種優化往往只是針對處理器

當你想要用c語言寫一些對運行速度要求嚴格的東西時,你可以很清楚的知道為什么他很快,這一點不因為你使用的編譯器或者虛擬機不同而改變。應用程序中,GC(垃圾回收)的設置將會影響運行。而人機交互將會影響垃圾回收對于數據的處理。

c語言的代碼優化直接而有效。即使你不這樣認為,在實際工作中也有大量的工具幫助你了解其中的緣故。相對來說,你根本沒有必要為此壯起膽子去嘗試學習什么虛擬機,什么“智能優化編譯器”。當你在使用cpu,內存和IO分析器的時候,c語言絕對不會讓你對底層到底發生了什么感到困惑。以上所言,不論是從處理器的角度還是從內存堆棧角度,都證明了c語言是速度之王。

更快的“編寫-運行-調試”周期

“編寫-運行-調試”這個開發周期對于程序員是十分重要的。如果這個周期足夠快,開發中的人機互動足夠多,那么你的任務就進行的足夠迅速。c具有主流靜態類型語言中最快速的人機交互性能。

樂觀是程序員的職業病,返工是他們的唯一藥方 -Kent Beck

因為“編寫-運行-調試”周期更多的是一種開發工具的使用原則而并不是一個語言的核心,所以他經常被忽略。雖然如此,怎么宣揚這個循環對于開發速度的攻擊都不為過。悲催的是,這一循環已經被很多變成語言遺忘了,他們反而去追求使用中的代碼的可讀性。所以,事實是,c仍然是最快的語言。

調試以及核心轉儲

對于任何你想將你的代碼移植過去的系統,你幾乎都可以發現一些c語言調試工具和核心轉儲工具。他們對于你能夠快速找到源代碼中的問題所在是非常重要的。當然,他們也可能出現問題。

Error, no keyboard -- press F1 to continue.

對于其他的編程語言來說,就沒有這么多的工具了。不論如何你都得承認,這些工具對于你c語言的變成起了十分重要的作用。假如要你寫一個c語言與其他語言的接口,或許你費了九牛二虎之力,卻做出了一個結構十分復雜,運行十分脆弱,使用根本白瞎的廢物。

如果是純粹用c寫的程序,你可以察看調用堆棧,變量,參數,當前線程……一切的內存當中最基礎的東西都毫發畢見。這真的很有效,尤其是當你面對一個已經宕機幾天的服務器進程而無計可施。而當你面對一個用其他高級語言寫就的程序是……準備受死吧……

從任何地方調用

C有一個標準化的應用程序二進制接口(ABI)支持每個操作系統,語言和平臺的存在。它不需要運行或其他固有的開銷。這意味著你編寫的代碼在C不僅是有價值的,從C代碼的調用方,但對于每一個可以想象的包,在語言和環境中還是存在。

"Portability is a result of few concepts and complete definition"

- J. Palme

您可以使用獨立的可執行文件,腳本語言,內核代碼中,嵌入代碼的C代碼,作為一個DLL,甚至從SQL調用。這是用得上系統編程和可插拔庫。如果你想要寫的東西一旦有可用的最可能的環境和使用情況,C是唯一明智的選擇。

是的!它有瑕疵

在C語言中有許多”瑕疵“ 。它沒有邊界檢查,很容易發生內存沖突,有懸空指針和內存/資源泄漏,螺栓支持并發性,沒有模塊,沒有命名空間。錯誤處理可能相當繁瑣和冗長。當調用堆棧崩潰,或者攻擊性輸入操縱你的進程,很容易就產生一堆錯誤。

"When all else fails, read the instructions." 當其他辦法都失效時,請查看說明! - L. Lasellio

它的瑕疵是非常非常有名的,這是一種優點。所有的語言和實現有陷阱和難題。C只是更坦率的告訴它。還有大量的靜態和運行時工具來幫你處理最常見的和危險的錯誤。世界上很多使用最廣泛和可靠的軟件是用C打造,這就是缺陷被夸大了的證據,這些瑕疵容易檢測和修復。

為了編寫couchbase,我們團隊大概花了2 + 人/月解決Erlang虛擬機的問題。我們在Erlang的編譯器上花費了大量的時間和精力,卻仍然不確定到底發生了什么,而結論是或許是我們的插件的c 語言代碼出了什么問題。我們想找出問題,然而卻找不到。最終我們確定這是Erlang的核心里面有一個條件矛盾錯誤。這是我們唯一的成果。而太多的語言抽象掉了太多的東西,這無疑增加了類似我們遇到的困難。

最初,出于性能原因,我們決定用c重寫couchbase的代碼,并且決定couchbase的幾個新的特性也用c來寫。令人驚異的是,顯然事實證明,c 語言提供了對于程序的良好控制能力,而我們因此更容易快速找出程序的問題并進行調試。長遠來看,c語言顯然具有良好的生產效率。

我總是告誡自己,我需要一個更加高效的可以替代c語言的東西。它只要可以修正程序里面那寫毛糙的細節然后解決問題就可以了。但是從事實來看,不論是從語法、從語義、從工具或者從“自頂至底”的開發方法來看,沒有什么可以值得我們為止付出努力。到現在為止,c語言毫無疑問的是最高效的語言,我認為短期內這不會有任何改變。

你可以在twitter上“推”我一下,然后就可以了解我對編程的一些看法以及couchbase的開發進度了~

 

原文鏈接:http://www.oschina.net/translate/the_unreasonable_effectiveness_of_c

責任編輯:張偉 來源: oschina
相關推薦

2024-07-26 10:42:30

2011-05-10 10:38:54

布線光纖

2011-04-06 16:40:27

C++構造函數

2011-04-06 12:29:42

2011-08-17 12:25:11

2010-04-28 09:50:14

Oracle數據庫

2012-12-10 09:57:00

路由器交換機

2020-09-15 09:55:30

類比Python開發

2011-03-22 14:59:36

2017-01-12 14:26:30

2024-08-02 11:51:03

2024-02-27 18:49:08

人工智能ChatGPT

2023-10-31 09:29:03

Java配置

2024-01-08 08:30:30

接口線程模型

2022-01-28 14:54:21

staticC語言編譯器

2023-12-07 12:26:08

Java開發

2019-08-01 11:31:32

2017-10-10 15:45:51

OOP開發JavaScript

2017-10-09 14:16:35

數據中心運維管理綠色數據中心

2012-02-16 08:19:03

點贊
收藏

51CTO技術棧公眾號

亚洲一区二区乱码| 国产午夜福利100集发布| 一本到在线视频| 欧美91视频| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 欧美一区二区三区免费| 成人在线国产视频| 黄色片免费在线| 国产一区二区三区日韩| 午夜伦理精品一区| 精品在线观看一区| 哺乳挤奶一区二区三区免费看| 欧美性猛交xxxxx水多| 综合久久国产| 国产又爽又黄网站亚洲视频123| 日本成人中文字幕在线视频| 欧美大片在线影院| 人妻熟人中文字幕一区二区| 电影一区二区在线观看| 精品视频一区二区三区免费| 97成人在线免费视频| av免费在线一区二区三区| 粉嫩在线一区二区三区视频| 国产成人av在线播放| 美女毛片在线观看| 欧美精品一二| 亚洲精品福利资源站| 999热精品视频| 成人自拍视频网| 亚洲福中文字幕伊人影院| 一区二区三区在线观看www| 麻豆app在线观看| 成人性生交大片免费看中文| 成人两性免费视频| 天天干天天干天天干天天| 午夜天堂精品久久久久| 在线色欧美三级视频| 五月天丁香社区| 四虎地址8848精品| 五月婷婷激情综合| 日日噜噜夜夜狠狠久久丁香五月| 国产一级免费在线观看| 成人ar影院免费观看视频| 91精品综合久久久久久五月天| 影音先锋欧美在线| 日韩美女天天操| 国产成人97精品免费看片| 久久久久无码精品国产| 91av精品| 日韩视频在线免费观看| 高清国产在线观看| 亚洲欧洲免费| 日韩成人中文字幕| 亚洲久久久久久| 黑色丝袜福利片av久久| 精品国产一区二区三区久久久蜜月 | 黄色小视频免费网站| 国产一区二区三区影视| 在线免费观看视频一区| 无人在线观看的免费高清视频| 亚洲最大网站| 色哟哟一区二区| 白嫩少妇丰满一区二区| 久久久久久久9999| 国产精品久久久久9999赢消| 久久精品国产一区| 一级黄色片日本| 午夜精品毛片| 欧美另类极品videosbestfree| 九九热视频在线免费观看| 99九九热只有国产精品| 日韩视频免费观看| 青娱乐在线视频免费观看| 欧美黄色精品| 久久久伊人日本| 天海翼一区二区| 免费中文字幕日韩欧美| 国产精品免费久久久久久| 中文字幕在线一| 国产一区欧美日韩| 国产精品伊人日日| 国产原创av在线| 国产精品国产三级国产aⅴ中文| 亚洲精品不卡| 色综合999| 午夜精品久久久久久久99水蜜桃| 国产高清精品在线观看| 欧美大片1688网站| 欧美一二三区在线观看| 在线精品视频播放| 九九精品久久| 日韩视频精品在线| 国产精品99re| 日韩va亚洲va欧美va久久| 91美女片黄在线观看游戏| 丰满人妻av一区二区三区| 91麻豆高清视频| 中文字幕一区二区三区精彩视频| aa级大片免费在线观看| 色噜噜狠狠色综合欧洲selulu| 日韩av片专区| 日韩大尺度在线观看| 日韩中文字在线| 久久狠狠高潮亚洲精品| 蜜桃视频在线一区| 国产高清不卡av| www黄在线观看| 亚洲成av人影院| 天天干天天操天天玩| 综合视频一区| 中文字幕精品在线| 日韩黄色精品视频| 久久国产精品72免费观看| 国内视频一区| 国精产品一区| 欧美午夜精品免费| 97精品人人妻人人| 国产精品国内免费一区二区三区| 97视频免费在线观看| 97人妻人人澡人人爽人人精品| 99精品欧美一区二区三区小说| 一区二区视频国产| 少妇一区视频| 日韩精品在线播放| 青青青在线视频| 精品一区二区三区在线观看国产| 蜜桃av噜噜一区二区三区| 尤物yw193can在线观看| 中文在线不卡| 亚洲h在线观看| 三级一区二区三区| 欧美人与拘性视交免费看| 欧美精品18videos性欧| 国产一区二区女内射| 国产欧美久久久精品影院| 成年人网站免费视频| 亚洲日本视频在线| 欧美成aaa人片在线观看蜜臀| 中文无码av一区二区三区| 26uuu国产日韩综合| 波多野结衣av一区二区全免费观看 | 免费观看性欧美大片无片| 中文字幕欧美日韩精品| 日韩三级一区二区| 91免费在线播放| 毛片在线播放视频| 日韩精品成人在线观看| 久久中文字幕视频| 91成年人视频| 综合在线观看色| 99re精彩视频| 日韩欧美午夜| 国产一区二区在线免费| 午夜在线免费观看视频| 欧美久久一二区| 天天爽天天爽天天爽| 久久av中文字幕片| 一级全黄肉体裸体全过程| 亚洲精品97久久中文字幕无码| 成人四虎影院| 亚洲国产精品中文| 日韩精品人妻中文字幕| 97精品电影院| 久久久久久香蕉| 欧美亚洲国产激情| 国产综合香蕉五月婷在线| 国产在线观看av| 欧美电视剧在线看免费| 国产一级一级片| 91网上在线视频| 中文字幕天天干| 91精品精品| 亚洲综合日韩中文字幕v在线| 日韩少妇视频| 亚洲国内高清视频| 久久精品五月天| 国产精品福利在线播放| 国产农村妇女精品久久| 国内精品嫩模av私拍在线观看| 国产一区二区三区四区五区加勒比| 成入视频在线观看| 亚洲欧美中文字幕在线一区| 亚洲天堂免费av| 亚洲激情一二三区| 亚洲av无码一区二区三区观看| 日韩国产在线观看一区| 波多野结衣三级在线| av在线亚洲色图| 欧美性受xxxx黑人猛交| 天堂аⅴ在线地址8| 日韩一区二区三区电影在线观看 | 国产一区二中文字幕在线看| 色黄网站在线观看| 日韩毛片在线看| 一区二区日韩在线观看| 亚洲国产精品人人做人人爽| 懂色av蜜桃av| 成人午夜伦理影院| 亚洲 中文字幕 日韩 无码| 久久精品亚洲欧美日韩精品中文字幕| dy888夜精品国产专区| 成人免费网站视频| 久久夜色精品国产亚洲aⅴ| 天堂av手机版| 欧美男人的天堂一二区| 亚洲一区欧美在线| 亚洲三级小视频| 中文字字幕码一二三区| 国产精品中文字幕欧美| 欧美综合在线观看视频| 午夜日韩福利| 亚洲一区二区三区免费看| 国产成人福利av| 91精品美女在线| 竹内纱里奈兽皇系列在线观看 | 高h视频在线播放| 在线色欧美三级视频| 亚洲欧洲综合在线| 日韩美一区二区三区| 在线亚洲欧美日韩| 一本大道久久精品懂色aⅴ| 久久久久久久九九九九| 国产精品久久久久四虎| 不卡一区二区在线观看| 粉嫩在线一区二区三区视频| 五月婷婷之婷婷| 日韩成人午夜电影| 九色在线视频观看| 国产一区激情| 一区二区三视频| 日韩久久精品网| 区一区二区三区中文字幕| 国产精品自在线拍| 亚洲www永久成人夜色| 99久久综合国产精品二区| 2019国产精品自在线拍国产不卡| 色女人在线视频| 欧美精品在线观看91| 黄色的网站在线观看| 中文字幕久久久av一区| 黄色影院在线播放| 亚洲精品自拍偷拍| 色播色播色播色播色播在线| 亚洲第一区中文字幕| 亚洲欧美激情国产综合久久久| 日韩视频免费观看高清在线视频| 亚洲网站免费观看| 欧美高清一级片在线| 91福利免费视频| 欧美军同video69gay| 国产一区二区自拍视频| 欧美日韩免费观看一区三区| 一区二区视频网站| 欧美日韩一区视频| 亚洲熟女乱色一区二区三区久久久| 欧美视频你懂的| 依依成人在线视频| 欧美日本在线看| 国产精品羞羞答答在线| 欧美一区二区三区视频免费 | 亚洲国产私拍精品国模在线观看| 亚洲欧美高清视频| 日韩电影中文字幕在线| 欧美套图亚洲一区| 中文字幕亚洲情99在线| www视频在线免费观看 | 伊人久久视频| 欧美自拍大量在线观看| 欧美二三四区| 国产日韩欧美夫妻视频在线观看| 成人精品在线| 俄罗斯精品一区二区| 嫩草国产精品入口| 欧美一级片免费观看| 欧美丰满日韩| 欧洲精品在线播放| 久久久久国产精品一区三寸 | 久久久无码精品亚洲国产| 亚洲国产另类精品专区| www.日本精品| 欧美三级一区二区| 国产成人精品一区二区无码呦| 欧美精品一区二区不卡| 韩国福利在线| 欧美成人精品一区二区| 九色porny丨国产首页在线| 国产成人精品电影久久久| 日本亚洲欧洲无免费码在线| 国产精品theporn88| 国产免费久久| 国产激情在线看| 久久久人人人| 美女被艹视频网站| 久久一夜天堂av一区二区三区| 国产一二三av| 精品福利一区二区| 91亚洲国产成人精品一区| 亚洲第一区中文99精品| 色多多视频在线观看| 久久久久久一区二区三区| 日韩天堂在线| 国产v亚洲v天堂无码| 精品亚洲成人| 成人免费观看cn| 韩国v欧美v亚洲v日本v| 日韩一级视频在线观看| 亚洲欧美aⅴ...| 一级片在线免费播放| 精品av久久707| 草草影院在线观看| 97免费视频在线| 国产精品白丝久久av网站| 欧美日韩国产三区| 亚洲视频福利| 亚洲精品国产一区二区三区| 久久色视频免费观看| 放荡的美妇在线播放| 欧美调教femdomvk| 香蕉久久国产av一区二区| 久久综合五月天| 国产a亚洲精品| 欧美极品一区| 亚洲人成免费| 男人添女人荫蒂国产| 国产精品看片你懂得| 永久免费无码av网站在线观看| 精品日韩一区二区三区免费视频| 欧美激情午夜| 国产精品日韩专区| 国产日产一区| 亚洲爆乳无码专区| 91免费国产在线| 成年免费在线观看| 亚洲成人精品视频在线观看| 性网站在线观看| 亚洲精品日韩激情在线电影| 欧美超碰在线| 中文字幕 91| 欧美国产亚洲另类动漫| 亚洲不卡在线视频| 亚洲乱亚洲乱妇无码| 人狥杂交一区欧美二区| 国产精品一区二区三区不卡| 欧美国产另类| 少妇丰满尤物大尺度写真| 亚洲欧美精品午睡沙发| 91精品国产乱码久久久久| 综合久久五月天| 久久精品嫩草影院| 一区二区不卡在线观看| 六月婷婷色综合| 天天色天天综合| 欧美精品第一页| 国内外激情在线| 97久久精品午夜一区二区| 中文字幕乱码亚洲无线精品一区| 中文 日韩 欧美| 一区二区三区在线视频观看 | 亚洲人线精品午夜| 欧美日韩大片| 午夜精品亚洲一区二区三区嫩草| 欧美aaaaa成人免费观看视频| 貂蝉被到爽流白浆在线观看 | 国内精品久久久久影院优| 国产一区二区在线视频你懂的| 六月婷婷在线视频| 久久综合成人精品亚洲另类欧美| 国产精品久久久久久久妇| 亚洲人在线视频| 韩国精品视频在线观看 | 亚洲第一毛片| 亚洲第一页av| 欧美日韩久久久| 羞羞的网站在线观看| 精品久久久久久中文字幕动漫| 国产欧美综合一区二区三区| 永久免费看mv网站入口78| 欧美无人高清视频在线观看| 国产视频中文字幕在线观看| 成人免费视频网站| 亚洲欧美高清| 五月天免费网站| 日韩欧美国产系列| 在线播放高清视频www| 日韩电影在线播放| 国产一二精品视频| 麻豆久久久久久久久久| 亚洲一区二区福利| 亚洲亚洲一区二区三区| 日韩av黄色网址| 亚洲视频在线一区| 天堂av中文字幕| 国产精品香蕉国产| 亚洲高清毛片| 亚洲色图第四色| 亚洲国产精彩中文乱码av| 99久久婷婷国产综合精品首页| 丰满的少妇愉情hd高清果冻传媒 | 极品少妇xxxx精品少妇| 久久精品久久国产|