歷史上最昂貴的代碼,三行,價(jià)值180億美金

導(dǎo)讀:今天將給大家講三個(gè)有關(guān)代碼昂貴的故事。

9行代碼,價(jià)值10億美金

最近,甲骨文和谷歌的 Java API 版權(quán)訴訟案因需重新審理次進(jìn)入人們的視野。這起就“API 該不該受法律保護(hù)”的官司打了5年之久,審理結(jié)果也是一波三折。

因案件雙方都為科技件巨頭,事件本身爭(zhēng)議較大,索賠金額較多,本案件一直受到科技界的廣泛關(guān)注。如果按照甲骨文的索賠金額計(jì)算,9行代碼,索賠超過(guò)10億美金,那么每一行代碼價(jià)值一億多美金,這也一度被外界解讀為史上最昂貴的代碼之一。

事件回顧:

原告:甲骨文

被告:谷歌

爭(zhēng)議問(wèn)題:API該不該受法律保護(hù)

審理結(jié)果:還未有最終結(jié)果

由于本文談?wù)撝黝}是代碼金額問(wèn)題及代碼背后的人物故事非法律問(wèn)題,如果要道其始末,非只言片語(yǔ)可詳盡,所以具體案請(qǐng)不再贅述,如有感興趣的朋友可以自行查閱。

到底是什么代碼那么貴,需要索賠如此巨大的費(fèi)用呢?雖然費(fèi)了些時(shí)間,還是找到了備受爭(zhēng)議的9行代碼。

Java JDK 中的那 9 行代碼:

privatestaticvoidrangeCheck(intarrayLen, intfromIndex, inttoIndex) {

if(fromIndex > toIndex)

thrownewIllegalArgumentException("fromIndex("+ fromIndex +

")> toIndex("+ toIndex+")");

if(fromIndex < 0)

thrownewArrayIndexOutOfBoundsException(fromIndex);

if(toIndex > arrayLen)

thrownewArrayIndexOutOfBoundsException(toIndex);

}

Google 用了的那 9 行代碼,也就是被甲骨文認(rèn)為侵權(quán)的代碼:

privatestaticvoidrangeCheck(intarrayLen, intfromIndex, inttoIndex) {

if(fromIndex > toIndex)

thrownewIllegalArgumentException("fromIndex("+ fromIndex +

")> toIndex("+ toIndex+")");

if(fromIndex < 0)

thrownewArrayIndexOutOfBoundsException(fromIndex);

if(toIndex > arrayLen)

thrownewArrayIndexOutOfBoundsException(toIndex);

}

有意思的是,上面2段代碼都是一位叫Joshua Bloch 的哥們寫(xiě)的。此消息來(lái)自國(guó)外新聞資訊類(lèi)網(wǎng)站HackerNews。

【Hacker News是一家關(guān)于計(jì)算機(jī)黑客和創(chuàng)業(yè)公司的社會(huì)化新聞網(wǎng)站,在該站,你可以實(shí)時(shí)看到編程界發(fā)生的新聞、新的學(xué)習(xí)資源、新的教程等等,也可以從從用戶(hù)提交的數(shù)據(jù)中找到適合你的學(xué)習(xí)資源,學(xué)習(xí)者可以從這個(gè)網(wǎng)站找到更適合自己的新資源?!?/p>

Joshua Bloch 是誰(shuí)?

百科能查到,簡(jiǎn)言之。

1996年,Java 剛嶄露頭角,一年內(nèi)連發(fā)了2個(gè)版本,Java技術(shù)如火如荼,此時(shí),JoshuaBloch 加入了Sun,學(xué)Java 的同學(xué)都知道,Java 就是由Sun 公司開(kāi)發(fā)的。2004年,他榮獲 Sun “杰出工程師”稱(chēng)號(hào),此時(shí),他離開(kāi)Sun 去了發(fā)展比較迅猛的Google ,成為 Google 的Java 首席架構(gòu)師,在核心平臺(tái)組從事底層API 設(shè)計(jì)。不過(guò)現(xiàn)在他已經(jīng)離開(kāi)了 Google 了,網(wǎng)上言論說(shuō)正是因?yàn)檫@事才離開(kāi)谷歌的。

如果這是真的,優(yōu)優(yōu)也想吐槽下,哥們,你太強(qiáng)大了,9行代碼就可以坐看兩大巨頭風(fēng)云迭起,你才是科技界的梅長(zhǎng)蘇啊,佩服。

其實(shí),在科技發(fā)展史上,與昂貴代碼相關(guān)的故事還是挺多的,摘其比較知名的案例分享之。

歷史上最昂貴的代碼,三行,價(jià)值180億美金

前不久,大眾柴油車(chē)在美國(guó)被EPA(Environmental Protection Agency)查出了尾氣排放作假的新聞,通過(guò)裝有作弊程序的發(fā)動(dòng)機(jī)電腦來(lái)規(guī)避?chē)?yán)苛的排放測(cè)試,進(jìn)而導(dǎo)致了大眾車(chē)主在不知情的情況下為美國(guó)的環(huán)境增添了負(fù)擔(dān),大眾也因此可能面臨180億美金巨額罰款。

下面就是網(wǎng)傳的價(jià)值180億美金的代碼,但是可信度無(wú)從查證:

圖片來(lái)自微博@覃里雯

據(jù)網(wǎng)友解釋?zhuān)a字面意思是“如果驅(qū)動(dòng)輪轉(zhuǎn)動(dòng),且非驅(qū)動(dòng)輪靜止,則開(kāi)啟dyno模式?!奔辞伴镛A轉(zhuǎn),后轱轆不轉(zhuǎn)情況下,開(kāi)啟環(huán)保模式。在消費(fèi)者正常使用過(guò)程中默認(rèn)處于關(guān)閉狀態(tài),只有在進(jìn)行車(chē)輛檢測(cè)的時(shí)候才會(huì)啟用,從而使排放合格。根據(jù)美國(guó)環(huán)保局公布的數(shù)據(jù),這些汽車(chē)在正常情況下的排放,是檢測(cè)標(biāo)準(zhǔn)的10-40倍。

上面的意思,開(kāi)車(chē)的朋友比較熟悉。

一行JS代碼丟掉百萬(wàn)大單

這個(gè)事件比較久遠(yuǎn)了,發(fā)生在2009年,距今已有6年了。

當(dāng)時(shí),Opera 公司預(yù)計(jì)到預(yù)見(jiàn)到其產(chǎn)品Opera Mini, Opera Link,Opera Turbo 會(huì)帶來(lái)爆炸性增長(zhǎng),于是準(zhǔn)備采購(gòu)大批服務(wù)器來(lái)減緩壓力。管理層批準(zhǔn)整個(gè)訂單的預(yù)算達(dá)幾百萬(wàn)克朗(當(dāng)前匯價(jià)1挪威克朗基本等于1元人民幣)。接下來(lái)技術(shù)控們像條女朋友一樣從供貨商那里挑服務(wù)器,直到有一臺(tái)服務(wù)器把他們?nèi)繐魸⒘恕_@臺(tái)服務(wù)器來(lái)自所有人都知道的全球一級(jí)廠(chǎng)商(名字不敢提)。當(dāng)Opera工作人員啟動(dòng)之后,用 Opera 瀏覽器訪(fǎng)問(wèn)管理界面,被直接轉(zhuǎn)到錯(cuò)誤界面。這還不是問(wèn)題全部,當(dāng)找到問(wèn)題根源時(shí),連同 CSS 發(fā)明人(現(xiàn)任 Opera CTO)及旗下所有人都崩潰了。

錯(cuò)誤的原因是,服務(wù)器管理界面被下面一個(gè)經(jīng)銷(xiāo)商加了一行代碼,判斷到 Opera 瀏覽器訪(fǎng)問(wèn)管理界面直接粗暴的轉(zhuǎn)向錯(cuò)誤頁(yè)面。

程序員都知道,這可是致命的錯(cuò)誤。因?yàn)榇耸?,此公司把Opera 公司的相關(guān)人員激怒了,他們丟掉了這筆百萬(wàn)大單。

我們來(lái)看看那句價(jià)值百萬(wàn)的JavaScript代碼:

if (is.opera) {window.location.href="config/error.htm"; }

這是一個(gè)條件判斷語(yǔ)句,邏輯是一旦發(fā)現(xiàn)用戶(hù)使用 Opera 瀏覽器直接轉(zhuǎn)向錯(cuò)誤頁(yè)面。

中國(guó)有句古話(huà)叫,若要人不知,除非己莫為。如此簡(jiǎn)單粗暴的處理用戶(hù),遲早會(huì)為此付出代價(jià)的,善待用戶(hù)吧!你也將為人所善待。

今天就分享到這來(lái),明天繼續(xù),我是千里馬君,感謝關(guān)注!

【原創(chuàng)編輯,轉(zhuǎn)載請(qǐng)聯(lián)系作者】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂(lè)視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,753評(píng)論 11 349
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,502評(píng)論 19 139
  • Java是一門(mén)面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此...
    黃花菜已涼閱讀 6,660評(píng)論 6 140
  • 姓名:周君會(huì) 學(xué)號(hào):17011210526 轉(zhuǎn)載自: http://www.itdecent.cn/p/...
    lotus兒閱讀 2,123評(píng)論 1 9
  • 從周末和素心錄制視頻說(shuō)起吧: 一條不到兩分鐘的視頻反復(fù)錄制了不下10次,估計(jì)已經(jīng)被身邊人當(dāng)成神經(jīng)病院跑出來(lái)的瘋子了...
    臻靜閱讀 316評(píng)論 2 0

友情鏈接更多精彩內(nèi)容