首页
/
每日頭條
/
科技
/
低代碼高代碼
低代碼高代碼
更新时间:2026-06-13 20:20:21

作者 | Cliff Harris

譯者 | 彎月

出品 | CSDN(ID:CSDNnews)

偶然的一次,我需要使用網盤服務,就是把文件上傳到某個地方(具體是哪家服務就不說了,反正都一樣)。這隻一個非常簡單的操作,首先将硬盤上某個文件夾裡的文件複制到遠程服務器,然後再執行一些數據庫操作,給文件起個名字,然後提供給下載,僅此而已。

提供網盤服務的是一家大公司,規模很大,估計每天有不少黑客訪問,所以他們需要一些安全措施,上傳和下載的時候還得驗證文件是否被篡改等等,這都沒問題。

但是,最基本的功能隻不過是列出文件、讀取文件、上傳文件,然後關閉連接,在日志裡寫上成功,或者出錯的話在日志裡寫出錯誤原因。這又不是火箭科技,實際上我自己用wininet API寫這段代碼,服務器用PHP和MySQL,盡管達不到企業級,但也能支持幾十萬文件的上傳、下載和日志記錄——一個人寫代碼大概也就是兩三周的工作量?

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

是的,你沒看錯,2700多個文件,237MB的可執行文件和各種垃圾,僅僅是為了把文件拷貝到服務器而已。這已經不能叫膨脹了,更不是過度設計,這完完全全到了不可理喻的地步。

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

低代碼高代碼(如今99.9)1

低代碼高代碼(如今99.9)2

電腦裡 99.9% 以上的代碼都是毫無用處的垃圾

我知道怎麼回事,我也見過其他程序員的實現方式。根本原因在于,程序員根本不懂怎樣通過高效率的底層代碼來實現目标,他們甚至從來沒見過底層的高效代碼。沒見過的東西怎麼可能做得出來,還要做得更好呢?

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

代碼膨脹似乎是像我這種老家夥的碎碎念,畢竟我已經上年紀了。但我們這幫老家夥們碎碎念的可不是代碼運行減慢了50%、規模增大了50%。實際情況遠不止于此。

我相信你電腦裡99.9%以上的代碼都是毫無用處的垃圾,永遠不會被運行。但這些代碼都堆在那兒,堆在65個DLL文件裡,這都是因為程序員想做一些不太重要的事情,比如保存一張圖片,但他們完全不懂得該怎麼做,就幹脆導入一大堆垃圾來實現。

我說過,看着年輕程序員這樣做我真不應該生氣,畢竟他們學到的實現方式就是這樣的。他們根本不知道高性能開發是什麼樣子,也沒見過條件有限的軟件是什麼樣子。你要是告訴他們,最初的Elite遊戲能生成整個銀河系,有3D狗鬥,有職業系統,交易系統,還能探索上千個星球,而這一切隻有64KB,他們也能接受,但完全沒辦法理解這與現在的軟件之間有什麼差距。

低代碼高代碼(如今99.9)3

CPU和内存都有限才是編程的黃金時代

為什麼我關心這件事?原因有很多,最簡單的就是當你花費兩千倍的時間來做一個東西,它就應該能用。但更重要的是,我知道99.9%的CPU時間都浪費在這些垃圾上。每秒執行幾十萬指令,結果毫無用處。本來我的電腦應該處于極低功耗,風扇都不應該轉,因為我現在幹的隻不過是在wordpress裡寫字而已。

現在的電腦速度飛快,确實是魔法。你能想到的一切,都能在屏幕刷新一次的1/60秒内完成。但是!當我在Surface筆記本(幾乎是新的!)上點擊硬盤圖标時,我能看到明顯的延遲,電腦在一點點畫出用戶界面。這需要很久,我估計至少有半秒鐘,對于CPU來說這就像幾十億年那麼長。

如果我沒猜錯,因為電腦裡有99%的垃圾,99%的電力都被浪費了,這已經不能用犯罪來形容了。這些浪費的電力都幹什麼了?我不知道,但看看任務管理器就知道了:一大堆不知道是什麼也不知道在幹什麼的東西。

我現在隻不過寫篇文章,Windows就要運行102個後台進程。NVidia顯卡有6個進程,一些甚至還有子進程。幹啥呢?我又沒玩遊戲,對于顯卡來說我現在幹的事兒跟20年前沒什麼區别,但就是要6個進程。

微軟的Edge浏覽器也有6個進程,它的Web View還有6個。我甚至都沒打開Edge。可能是我昨天開了一張SVG圖,這就出現了12個毫無用處的進程在那兒浪費内存和CPU?這簡直不可理喻。

這就是為什麼一切都不能正常工作,為什麼一切都很慢,為什麼你每年都要買新手機和新電視,買新的隻不過是為了運行更多垃圾程序而已。

我悲觀地認為,事情隻會越來越糟,因為像Facebook、Twitter、Reddit這些笨頭笨腦的巨無霸公司正是現在的趨勢。每個公司都有好幾千位“程序員”,使用機器學習從GitHub複制粘貼這些毫無用處的垃圾代碼。兩個數相加就要使用32個DLL和16個Windows服務還有幾億行代碼。

Twitter有兩千個程序員。但Tweetdeck偶爾還是無法加載某個用戶的時間線。這個bug已經有四年多了,我估計沒人知道為什麼,背後的代碼隻不過是一堆複制粘貼的垃圾。

再說Reddit,從鍊接讀取标題的功能無法正确處理&和分号,這都2022年了。估計他們也有2000多個程序員,但甚至沒人會寫文本分析器,所以他們拿錢是幹什麼的?

曾經CPU和内存都有限的那個時代,才是編程的黃金時代;而現在,我們生活在一堆毫無效率的垃圾裡。嗚呼哀哉!

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
路由器穿牆效果不好怎麼辦
路由器穿牆效果不好怎麼辦
1、将空易拉罐,洗淨,拔出拉環。2、沿着罐底進行環切,将整個底部移除。3、沿着罐頂進行環切注意不要全切,留下一部分不切,同時這部分必須靠近罐口)。4、在所留部分的反面垂直畫一條線,沿線剪開鐵皮。5、展開鐵皮,使鋁罐保留部分依附在底座上,将天線穿過罐口,用玻璃膠固定罐底,完成。
2026-06-13
lld-al10是什麼型号
lld-al10是什麼型号
演示機型:華為榮耀9系統版本:EMUI11華為榮耀9青春版。華為榮耀9青春版是華為榮耀旗下一款全面屏手機,也是榮耀旗下首款全面屏四攝手機,榮耀9青春版搭載麒麟659八核處理器,輔以4GB運行内存+64GB機身存儲,另有3GB+32GB和4GB+32GB規格可選。榮耀9青春版采用了雙面2.5D玻璃機身設計,鏡面效果有一定提升。同時使用保留“天地”的全面屏設計,指紋識别放在了機
2026-06-13
oppo手機接電話聲音特别小怎麼辦
oppo手機接電話聲音特别小怎麼辦
演示機型:OPPOFindX3系統版本:ColorOS111、點擊手機的音量+鍵,将手機音量開啟到最大即可。2、檢查一下聽筒口是否被髒物堵住,清理一下即可。3、若以上方法無效,建議将手機帶到oppo官方服務中心進行處理。OPPO手機使用小技巧:1、防止流量偷跑:打開OPPO手機的設置選項,點擊雙卡與移動網絡,在下方的選項中點擊每日流量限額與提醒,之後開啟這個功能。開啟之後可以選擇自己每日的需要限額
2026-06-13
去除寶寶痱子的三妙招
去除寶寶痱子的三妙招
第一、首先,可以用金銀花水給寶寶洗澡,這個效果也是比較明顯的,而且對寶寶的皮膚也是沒有傷害的。第二、然後,可以将黃瓜切片,貼在孩子長紅痱子的地方,2到3天之後就可以緩解了,這樣這個方法也是比較安全可靠的。第三、當然,當寶寶長痱子的時候,最常見的方法就是使用痱子粉,在寶寶的皮膚上塗上一層薄薄的痱子粉,這樣可以有效的預防。第四、但是家長們一定要注意,當寶寶長痱子的時候,不要私自去嬰兒用品店買藥膏,因為
2026-06-13
固定電話遷移怎麼辦理
固定電話遷移怎麼辦理
1、固定電話移機可攜帶以下材料到固定電話所屬營業廳辦理辦理:個人客戶可攜帶戶主有效身份證件或攜帶裝機發票或最近連續六個月通信費發票;單位客戶需攜帶單位有效證件;同時需攜帶經辦人的有效證件。2、單位客戶請攜帶戶主有效證件及經辦人有效證件到當地各運營商營業廳辦理。3、上門裝機時,個人客戶需準備好機主身份證複印件(核對原件)、銀行存折複印件(核對原件);單位客戶需準備好單位營業執照複印件加蓋公章、經辦人
2026-06-13
Copyright 2023-2026 - www.tftnews.com All Rights Reserved