日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

“如今,99.9% 以上的代碼都是垃圾!”(現(xiàn)在的代碼)

作者 | Cliff Harris

譯者 | 彎月

出品 | CSDN(ID:CSDNnews)

偶然的一次,我需要使用網(wǎng)盤(pán)服務(wù),就是把文件上傳到某個(gè)地方(具體是哪家服務(wù)就不說(shuō)了,反正都一樣)。這只一個(gè)非常簡(jiǎn)單的操作,首先將硬盤(pán)上某個(gè)文件夾里的文件復(fù)制到遠(yuǎn)程服務(wù)器,然后再執(zhí)行一些數(shù)據(jù)庫(kù)操作,給文件起個(gè)名字,然后提供給下載,僅此而已。

提供網(wǎng)盤(pán)服務(wù)的是一家大公司,規(guī)模很大,估計(jì)每天有不少黑客訪問(wèn),所以他們需要一些安全措施,上傳和下載的時(shí)候還得驗(yàn)證文件是否被篡改等等,這都沒(méi)問(wèn)題。

但是,最基本的功能只不過(guò)是列出文件、讀取文件、上傳文件,然后關(guān)閉連接,在日志里寫(xiě)上成功,或者出錯(cuò)的話在日志里寫(xiě)出錯(cuò)誤原因。這又不是火箭科技,實(shí)際上我自己用wininet API寫(xiě)這段代碼,服務(wù)器用PHP和MySQL,盡管達(dá)不到企業(yè)級(jí),但也能支持幾十萬(wàn)文件的上傳、下載和日志記錄——一個(gè)人寫(xiě)代碼大概也就是兩三周的工作量?

然而,我用的那個(gè)專用上傳工具的客戶端總共有230MB,包含2700多個(gè)文件。

是的,你沒(méi)看錯(cuò),2700多個(gè)文件,237MB的可執(zhí)行文件和各種垃圾,僅僅是為了把文件拷貝到服務(wù)器而已。這已經(jīng)不能叫膨脹了,更不是過(guò)度設(shè)計(jì),這完完全全到了不可理喻的地步。

實(shí)際上,不光是這個(gè)上傳工具,如今任何大型軟件公司的任何軟件都一樣。

“如今,99.9% 以上的代碼都是垃圾!”(現(xiàn)在的代碼)“如今,99.9% 以上的代碼都是垃圾!”(現(xiàn)在的代碼)

電腦里 99.9% 以上的代碼都是毫無(wú)用處的垃圾

我知道怎么回事,我也見(jiàn)過(guò)其他程序員的實(shí)現(xiàn)方式。根本原因在于,程序員根本不懂怎樣通過(guò)高效率的底層代碼來(lái)實(shí)現(xiàn)目標(biāo),他們甚至從來(lái)沒(méi)見(jiàn)過(guò)底層的高效代碼。沒(méi)見(jiàn)過(guò)的東西怎么可能做得出來(lái),還要做得更好呢?

編寫(xiě)一個(gè)安全、快速上傳文件到服務(wù)器的軟件,最多需要二十分之一的代碼量。只需要一個(gè)文件,一個(gè)exe文件就夠了,根本不需要好幾百個(gè)DLL。這是完全可能的,而且會(huì)更容易、更可靠、效率更高,還很容易調(diào)試,甚至能更穩(wěn)定地工作。

代碼膨脹似乎是像我這種老家伙的碎碎念,畢竟我已經(jīng)上年紀(jì)了。但我們這幫老家伙們碎碎念的可不是代碼運(yùn)行減慢了50%、規(guī)模增大了50%。實(shí)際情況遠(yuǎn)不止于此。

我相信你電腦里99.9%以上的代碼都是毫無(wú)用處的垃圾,永遠(yuǎn)不會(huì)被運(yùn)行。但這些代碼都堆在那兒,堆在65個(gè)DLL文件里,這都是因?yàn)槌绦騿T想做一些不太重要的事情,比如保存一張圖片,但他們完全不懂得該怎么做,就干脆導(dǎo)入一大堆垃圾來(lái)實(shí)現(xiàn)。

我說(shuō)過(guò),看著年輕程序員這樣做我真不應(yīng)該生氣,畢竟他們學(xué)到的實(shí)現(xiàn)方式就是這樣的。他們根本不知道高性能開(kāi)發(fā)是什么樣子,也沒(méi)見(jiàn)過(guò)條件有限的軟件是什么樣子。你要是告訴他們,最初的Elite游戲能生成整個(gè)銀河系,有3D狗斗,有職業(yè)系統(tǒng),交易系統(tǒng),還能探索上千個(gè)星球,而這一切只有64KB,他們也能接受,但完全沒(méi)辦法理解這與現(xiàn)在的軟件之間有什么差距。

“如今,99.9% 以上的代碼都是垃圾!”(現(xiàn)在的代碼)

CPU和內(nèi)存都有限才是編程的黃金時(shí)代

為什么我關(guān)心這件事?原因有很多,最簡(jiǎn)單的就是當(dāng)你花費(fèi)兩千倍的時(shí)間來(lái)做一個(gè)東西,它就應(yīng)該能用。但更重要的是,我知道99.9%的CPU時(shí)間都浪費(fèi)在這些垃圾上。每秒執(zhí)行幾十萬(wàn)指令,結(jié)果毫無(wú)用處。本來(lái)我的電腦應(yīng)該處于極低功耗,風(fēng)扇都不應(yīng)該轉(zhuǎn),因?yàn)槲椰F(xiàn)在干的只不過(guò)是在wordpress里寫(xiě)字而已。

現(xiàn)在的電腦速度飛快,確實(shí)是魔法。你能想到的一切,都能在屏幕刷新一次的1/60秒內(nèi)完成。但是!當(dāng)我在Surface筆記本(幾乎是新的?。┥宵c(diǎn)擊硬盤(pán)圖標(biāo)時(shí),我能看到明顯的延遲,電腦在一點(diǎn)點(diǎn)畫(huà)出用戶界面。這需要很久,我估計(jì)至少有半秒鐘,對(duì)于CPU來(lái)說(shuō)這就像幾十億年那么長(zhǎng)。

如果我沒(méi)猜錯(cuò),因?yàn)殡娔X里有99%的垃圾,99%的電力都被浪費(fèi)了,這已經(jīng)不能用犯罪來(lái)形容了。這些浪費(fèi)的電力都干什么了?我不知道,但看看任務(wù)管理器就知道了:一大堆不知道是什么也不知道在干什么的東西。

我現(xiàn)在只不過(guò)寫(xiě)篇文章,Windows就要運(yùn)行102個(gè)后臺(tái)進(jìn)程。NVidia顯卡有6個(gè)進(jìn)程,一些甚至還有子進(jìn)程。干啥呢?我又沒(méi)玩游戲,對(duì)于顯卡來(lái)說(shuō)我現(xiàn)在干的事兒跟20年前沒(méi)什么區(qū)別,但就是要6個(gè)進(jìn)程。

微軟的Edge瀏覽器也有6個(gè)進(jìn)程,它的Web View還有6個(gè)。我甚至都沒(méi)打開(kāi)Edge??赡苁俏易蛱扉_(kāi)了一張SVG圖,這就出現(xiàn)了12個(gè)毫無(wú)用處的進(jìn)程在那兒浪費(fèi)內(nèi)存和CPU?這簡(jiǎn)直不可理喻。

這就是為什么一切都不能正常工作,為什么一切都很慢,為什么你每年都要買(mǎi)新手機(jī)和新電視,買(mǎi)新的只不過(guò)是為了運(yùn)行更多垃圾程序而已。

我悲觀地認(rèn)為,事情只會(huì)越來(lái)越糟,因?yàn)橄?span id="qsh1b7padf" class="candidate-entity-word" data-gid="13021065">Facebook、Twitter、Reddit這些笨頭笨腦的巨無(wú)霸公司正是現(xiàn)在的趨勢(shì)。每個(gè)公司都有好幾千位“程序員”,使用機(jī)器學(xué)習(xí)從GitHub復(fù)制粘貼這些毫無(wú)用處的垃圾代碼。兩個(gè)數(shù)相加就要使用32個(gè)DLL和16個(gè)Windows服務(wù)還有幾億行代碼。

Twitter有兩千個(gè)程序員。但Tweetdeck偶爾還是無(wú)法加載某個(gè)用戶的時(shí)間線。這個(gè)bug已經(jīng)有四年多了,我估計(jì)沒(méi)人知道為什么,背后的代碼只不過(guò)是一堆復(fù)制粘貼的垃圾。

再說(shuō)Reddit,從鏈接讀取標(biāo)題的功能無(wú)法正確處理&和分號(hào),這都2022年了。估計(jì)他們也有2000多個(gè)程序員,但甚至沒(méi)人會(huì)寫(xiě)文本分析器,所以他們拿錢(qián)是干什么的?

曾經(jīng)CPU和內(nèi)存都有限的那個(gè)時(shí)代,才是編程的黃金時(shí)代;而現(xiàn)在,我們生活在一堆毫無(wú)效率的垃圾里。嗚呼哀哉!

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部
邹城市| 余江县| 合川市| 新和县| 同江市| 积石山| 上思县| 农安县| 乌苏市| 阿巴嘎旗| 桦甸市| 文化| 金山区| 大石桥市| 道孚县| 融水| 兴宁市| 凤冈县| 宝清县| 齐河县| 余庆县| 怀仁县| 三亚市| 和静县| 昌都县| 高平市| 蒲城县| 石柱| 华安县| 潮安县| 博兴县| 崇信县| 方正县| 蓝山县| 古丈县| 山东省| 南京市| 察雅县| 应用必备| 永靖县| 郧西县|