🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

我寫軟體的時間越長,我對「令人印象深刻」的定義就越發改變。如今真正讓我驚嘆的不是現代技術,而是那些古老的系統——以及建造它們的人。

以 Windows 95 為例。這是一款近 30 年前的完整作業系統。它擁有圖形使用者介面、驅動程式、多工處理、多媒體、進程和執行緒管理等功能。所有這些功能都只佔用磁碟上大約 50 MB 的空間,並且只需要 4-8 MB 的記憶體即可執行。

圖片描述現在對比一下今天的情況。我用來輸入這段文字的瀏覽器標籤頁目前佔用了超過1GB的記憶體。我沒有編譯任何東西,也沒有渲染影片,我只是在編輯文字。

光是這個數字就足以讓 1980 年代的工程師感到震驚——他們當年在只有 2MB 記憶體和 20MB 硬碟的機器上執行完整的多用戶 Unix 環境。整個開發工作流程——編輯器、編譯器、網路、使用者——都能夠在如今看來幾乎不可能的限制條件下運作。

如今,即使是微不足道的小事也讓人感覺負擔沉重。啟動虛擬環境後,一個簡單的「Hello, World」程式就可能在實際邏輯運作之前就載入數十兆位元組的庫檔案。這並非因為問題本身複雜,而是因為圍繞它所建構的生態系統過於複雜。

圖片描述

正在消失的學科

令我驚訝的並非硬體速度的提升,這本是必然的。真正令我驚訝的是,物質的富足改變了我們的行為。我們失去了軟體使用方面的禮儀。

資源稀缺的限制曾經促成了不成文的行為準則:

  • 記憶彌足珍貴-你會自覺地收拾自己的東西。

  • 每一次循環都至關重要——循環前都要深思熟慮。

  • 依賴關係是靠實力贏得的-你不會為了瑣碎的任務而引入函式庫。

  • 抽象概念很容易理解——你知道底層發生了什麼事。

舊系統並非神奇,而是受限的──正是這種限制迫使人們自律。我們為了便利而放棄了這種自律。

職業悖論

接下來才是真正令人痛苦的地方:現在的製度獎勵浪費。

圖片描述

如果你不使用執行時會消耗資源(和現金)的大量函式庫、雲端 SDK 和抽象層,你就有可能被不在乎這些的開發者 B 搶走。開發者 B 是「交付者」-他們交付速度快,後果什麼的根本不管!

各項指標都對精湛的工藝不利:

  • 速度 > 效率

  • 已發布功能 > 資源消耗

  • 上市時間 > 技術債考慮

  • 框架熟悉度 > 基本原理理解

我們創造了一個這樣的世界:最「高效」的開發者往往是那些不斷堆砌抽象、依賴,直到整個結構變得臃腫不堪,以至於需要升級硬體才能維持效能,並推高雲端成本的人。

圖片描述

缺乏禮貌的代價

這不僅是懷舊的問題,其後果是真實存在的:

  1. 環境影響:我們消耗大量電力來執行低效率的軟體,而這些軟體只能完成一些簡單的任務。

  2. 無障礙功能受損:需要最新硬體的軟體會將使用舊裝置的使用者排除在外。

  3. 安全脆弱性:層層依賴關係造成了我們無法理解的攻擊面。

  4. 創新停滯:當我們所有的精力都用於維持臃腫的現狀時,我們幾乎沒有剩餘的精力來進行真正的突破。

在2MB記憶體的PDP-11處理器上編寫C++的工程師們不僅才華橫溢,而且考慮周全。他們顧及硬體、後續程式設計師以及用戶的資源。這種周全考慮正是他們的職業道德。

重新學習禮儀

是的,我們正在喪失禮貌。但禮貌是可以重新學習的。它始於一些小小的體貼之舉:

  • 質疑依賴關係:“對於一個簡單的任務,我真的需要這個 50 MB 的庫嗎?”

  • 持續進行程式碼分析:了解你的程式碼實際上執行了什麼,而不是你認為它執行了什麼。

  • 深入理解一層:了解你的抽象思維之下究竟發生了什麼

  • 倡導效率至上:將性能視為功能,而不是事後考慮。

最令人印象深刻的軟體並非消耗最多資源的軟體,而是以最少的資源實現最大功能的軟體。這種嚴謹的態度、這種周全的考慮、這種對機器和使用者的專業禮儀——正是我們需要重新拾起的。

歸根究底,軟體開發不僅是讓電腦執行任務,它還關乎我們如何在資源有限的世界中生存。而事實證明,良好的禮儀在程式碼中與在生活中一樣重要。


原文出處:https://dev.to/adiozdaniel/are-we-losing-our-manners-in-software-development-1c55


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝12   💬9   ❤️5
350
🥈
我愛JS
📝1   💬8   ❤️2
62
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付