Bruce Eckel最新演讲:调bug就是浪费生命!放弃吧!(附完整PPT)
導(dǎo)讀:bug和可恢復(fù)錯(cuò)誤是兩個(gè)不同的概念。
程序員花在bug上的大量時(shí)間,實(shí)際上都被浪費(fèi)了。面對(duì)bug,我們應(yīng)該采用的方法叫做“快速失敗”(Fail-fast)。
有時(shí)候你可能會(huì)遇到“面向鐵路的編程”:一旦你踏上失敗的軌道,你幾乎永遠(yuǎn)不會(huì)回頭。
5月18日,2018全球軟件與運(yùn)維技術(shù)峰會(huì)(WOT)在北京舉行,大數(shù)據(jù)(ID:hzdashuju)的小編應(yīng)主辦方邀請(qǐng)到現(xiàn)場(chǎng)圍觀。本次WOT的一大亮點(diǎn)就是請(qǐng)到了Bruce Eckel這位神級(jí)人物,他在現(xiàn)場(chǎng)發(fā)表了題為"Failing at Failing: How and Why We've Been Moving Away From Exception Handling"(我們?yōu)槭裁础⒂衷撛鯓痈鎰e異常處理)的演講,并與粉絲互動(dòng),隨后又進(jìn)行簽名售書(shū)活動(dòng)。
▲大神的簽名真是萌萌噠
Bruce Eckel是MindView公司的總裁,該公司向客戶提供軟件咨詢和培訓(xùn)。他是C++標(biāo)準(zhǔn)委員會(huì)擁有表決權(quán)的成員之一,擁有應(yīng)用物理學(xué)學(xué)士和計(jì)算機(jī)工程碩士學(xué)位。從1984年至今,他已經(jīng)發(fā)表了超過(guò)150篇計(jì)算機(jī)技術(shù)文章,出版了6本書(shū)。他的《C++編程思想》一本書(shū)在1995年被評(píng)為“最佳軟件開(kāi)發(fā)圖書(shū)”,《Java編程思想》被評(píng)為1999年Java World“最受讀者歡迎圖書(shū)”,并且贏得了編輯首選圖書(shū)獎(jiǎng)。這兩本書(shū)的英文影印版及中文版均已由機(jī)械工業(yè)出版社引進(jìn)出版。
▲B(niǎo)ruce Eckel在WOT
在演講中,Bruce Eckel提出,當(dāng)前編程面臨的三大挑戰(zhàn)是編程語(yǔ)言的設(shè)計(jì)和影響、并發(fā)性以及錯(cuò)誤的處理和報(bào)告。
編程語(yǔ)言設(shè)計(jì)以及它所造成的影響是第一個(gè)也是最重要的一個(gè)挑戰(zhàn),它關(guān)系到程序員的效率和生產(chǎn)力;關(guān)于并發(fā)性,他仍在不斷學(xué)習(xí)、加強(qiáng)這方面的知識(shí);而這次演講的重點(diǎn)就放在錯(cuò)誤的處理這方面。
而重點(diǎn)中的重點(diǎn)是,bug和可恢復(fù)錯(cuò)誤是兩個(gè)不同的概念。
Bruce Eckel表示,很多時(shí)候我們是無(wú)法從錯(cuò)誤當(dāng)中進(jìn)行恢復(fù)的,大部分的錯(cuò)誤都是不可恢復(fù)的,他們都是bug。程序員花在bug上的大量時(shí)間,實(shí)際上都被浪費(fèi)了。所以我們要一定要區(qū)分開(kāi)bug和可恢復(fù)錯(cuò)誤,如果出現(xiàn)了bug我們是沒(méi)有辦法處理的,不要在bug上浪費(fèi)時(shí)間。
bug使得我們的代碼可讀性更低,使得整個(gè)程序運(yùn)行速度更慢,消耗掉了大量的資源。面對(duì)bug,我們應(yīng)該采用的方法叫做“快速失敗”(Fail-fast),我們不會(huì)使用任何的恢復(fù)機(jī)制。所有的這些問(wèn)題都是不可恢復(fù)的,比如說(shuō)錯(cuò)誤的函數(shù),或者是內(nèi)存不夠,我們就需要去放棄他們,而不是說(shuō)寫(xiě)代碼去繞過(guò)他們。
可恢復(fù)的錯(cuò)誤呢?一般來(lái)說(shuō)都是來(lái)自于程序外部的一些東西,比如I/O的問(wèn)題、數(shù)據(jù)的問(wèn)題。可恢復(fù)錯(cuò)誤一般比例很小,其數(shù)量是要遠(yuǎn)低于10%的。
編程語(yǔ)言是否需要異常處理?它可能有用也可能沒(méi)用。不同語(yǔ)言的處理方式和效果也各自不同。在這方面,Java其實(shí)是有漏洞的。
最后,Bruce Eckel談到了一些未來(lái)的趨勢(shì),并對(duì)本次演講進(jìn)行了簡(jiǎn)單的總結(jié),再次強(qiáng)調(diào)了放棄的哲學(xué)。有時(shí)候你可能會(huì)遇到“面向鐵路的編程”:一旦你踏上失敗的軌道,你幾乎永遠(yuǎn)不會(huì)回頭。
本文內(nèi)容整理自Bruce Eckel在WOT的演講稿及PPT。
關(guān)注“大數(shù)據(jù)”(ID:hzdashuju)并在后臺(tái)回復(fù)bug,可下載完整版PPT
關(guān)注“大數(shù)據(jù)”(ID:hzdashuju)并在后臺(tái)回復(fù)20,可參與尋找"黑皮書(shū)"活動(dòng),領(lǐng)取當(dāng)當(dāng)購(gòu)書(shū)券
點(diǎn)擊閱讀原文,可查看&購(gòu)買(mǎi)Bruce Eckel著作《Java編程思想》
推薦閱讀
用《復(fù)聯(lián)3》的豆瓣評(píng)分教會(huì)你正確使用條形圖、餅圖、漏斗模型
入門(mén)干貨:從《權(quán)力的游戲》戰(zhàn)斗場(chǎng)景中搞懂?dāng)?shù)據(jù)抽樣和過(guò)濾
別被數(shù)據(jù)帶進(jìn)溝里:這才是應(yīng)用數(shù)據(jù)的正確姿勢(shì)!
大數(shù)據(jù)沒(méi)用?!張小龍:我們很少看統(tǒng)計(jì)數(shù)據(jù)!
Q:?想想你有多少時(shí)間浪費(fèi)在bug上了?
歡迎留言與大家分享
覺(jué)得不錯(cuò),請(qǐng)把這篇文章分享給你的朋友
轉(zhuǎn)載 / 投稿請(qǐng)聯(lián)系:baiyu@hzbook.com
更多精彩,請(qǐng)?jiān)诤笈_(tái)點(diǎn)擊“歷史文章”查看
點(diǎn)擊閱讀原文,了解更多
總結(jié)
以上是生活随笔為你收集整理的Bruce Eckel最新演讲:调bug就是浪费生命!放弃吧!(附完整PPT)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 任正非:不向美国人民学习他们的伟大,就永
- 下一篇: 区块链要去中心化么