[閒聊]遊戲開發者抱怨現在程式碼誇張膨脹「可能有99%的內容都是垃
遊戲開發者Cliffski抱怨現在程式碼誇張膨脹「可能有99%的內容都是垃圾」
https://tinyurl.com/229o8zbm
作為一名從事獨立遊戲設計和程式業務的開發者,克裡夫斯基(Cliffski)在一篇文章中
吐槽道 —— 這年頭的「程式碼膨脹」,已經到了令人髮指的地步。
他以自己常使用的一個雲端備份服務為例來說明,這個由某個大公司提供的雲端備份工具
,基本上提供的服務就是指向本地端硬碟上的一個資料夾,然後把內容複製到一個遠端伺
服器上。而上傳到伺服器時,大公司可能需要做一些與資料庫管理有關的事情,例如給這
一堆上傳的檔案分配一個名稱,並驗證誰下載了它。
「這是一家大公司,所以他們有大的程式,而且可能經常被駭客攻擊,所以需要一些安全
保障,也需要一些驗證,以確保在我上傳和他們接收檔之間沒有被篡改過。我明白這一點
。」他表示。「但基本上這個程度的目的就是列舉一些文件,讀取它們,上傳它們,然後
關閉連接,並提供一個日誌檔,說明是否成功,如果不成功,出了什麼問題。事實上,我
自己也從頭開始寫過這樣的程式碼,使用wininet API和伺服器上的php與MySQL資料庫對
話。與企業級的東西相比,我的東西可能沒有那麼強大,但它確實可以做到。」
不過他表示,今天他所使用的這個大公司提供的上傳工具,檔案大小共有230MB,裡頭有
2700個不同的檔案,就為了管理這個過程。
他表示這說明了現在的應用程式,已經超越了「臃腫」可以形容的程度,程式檔案的膨脹
已經變成「完全的、徹底的、明顯的荒謬和瘋狂」。
一個普通的程式設計師都可以編寫一個同樣功能的程式,它的程式碼量小到只有這個應用
程式的 1/20,足以將文件安全、快速地上傳到伺服器。甚至可以是一個單獨的 .exe 可
執行文件,無需成百上千的動態鏈接庫(DLL)。
不僅可行,而且簡單、可靠、高效、易於調試。只需稍微努力那麼一下,它就會起到切實
的作用。
那麼,現在的程式碼為什麼會變得這麼大而臃腫呢?
「我見過不少程式員在幹這種爛活,我知曉這種情況是怎麼發生的。」他表示,越來越多
程式設計師不去研究通過底層的高效程式碼來完成工作,且許多人甚至從未寫過所謂的好
程式碼。很多人往往就是引用DLL函示庫,需要什麼就去找什麼。
「我可以斷言,在你的電腦中許多應用程式,99.9%的程式碼是絕對無用的,甚至從來沒
有被執行過。它只是在那裡,在一套多達65個檔案的DLL函示庫中,這只是因為某個程式
設計師想做一些微不足道的事情,比如保存一個點陣圖,但他們不想從底層來寫這個程式
,所以他們導入了一整桶臃腫的垃圾來實現它。」
舉個例子,當年一個僅 64Kb 的《Elite》遊戲,就包含了龐大的星系、3D 太空戰鬥、職
業發展系統、交易、以及數千顆可供探索的行星。
誠然,現如今電腦速度已經快到可以忽略程式的臃腫。但是在你使用電腦時,正在懷疑自
己到底有沒有點下去按鈕的這半秒鐘時間裡,頻率動輒數 GHz 的處理器世界裡,早已過
去了數十億年。我們浪費了個人計算機 99% 的算力和能耗,就為了這些垃圾程式。
想像一下,在你急著想要在檔案總管中快速搜尋某個檔案的時候,工作管理員卻在那搞一
堆廢話,如果你查一下後台,竟有102 個程序在忙碌著,天知道他們在幹什麼!
或許正因如此,我們才在幾乎沒有幹任何事情的情況下,你發現你去年才買的機器,今年
就「老了」。
你甚至需要每年都換一部新手機、新電視,以執行那些臃腫不堪的串流媒體 App —— 只
因為它們依賴執行的程式碼是如此糟糕!
他表示他非常懷唸過去程式的黃金時代,程式員們對記憶體和 CPU 的限制瞭如指掌。如
今,我們已經被迫生活在了一個效率極其低下、但浪費又如此誇張的泥潭裡。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.1.144 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1656837555.A.3FF.html
→
07/03 16:40,
2年前
, 1F
07/03 16:40, 1F
推
07/03 16:40,
2年前
, 2F
07/03 16:40, 2F
推
07/03 16:41,
2年前
, 3F
07/03 16:41, 3F
→
07/03 16:41,
2年前
, 4F
07/03 16:41, 4F
推
07/03 16:41,
2年前
, 5F
07/03 16:41, 5F
→
07/03 16:41,
2年前
, 6F
07/03 16:41, 6F
推
07/03 16:42,
2年前
, 7F
07/03 16:42, 7F
→
07/03 16:42,
2年前
, 8F
07/03 16:42, 8F
推
07/03 16:43,
2年前
, 9F
07/03 16:43, 9F
→
07/03 16:43,
2年前
, 10F
07/03 16:43, 10F
→
07/03 16:43,
2年前
, 11F
07/03 16:43, 11F
推
07/03 16:43,
2年前
, 12F
07/03 16:43, 12F
推
07/03 16:43,
2年前
, 13F
07/03 16:43, 13F
→
07/03 16:44,
2年前
, 14F
07/03 16:44, 14F
推
07/03 16:44,
2年前
, 15F
07/03 16:44, 15F
→
07/03 16:44,
2年前
, 16F
07/03 16:44, 16F
推
07/03 16:44,
2年前
, 17F
07/03 16:44, 17F
→
07/03 16:44,
2年前
, 18F
07/03 16:44, 18F
推
07/03 16:45,
2年前
, 19F
07/03 16:45, 19F
推
07/03 16:45,
2年前
, 20F
07/03 16:45, 20F
推
07/03 16:46,
2年前
, 21F
07/03 16:46, 21F
→
07/03 16:46,
2年前
, 22F
07/03 16:46, 22F
推
07/03 16:46,
2年前
, 23F
07/03 16:46, 23F
→
07/03 16:46,
2年前
, 24F
07/03 16:46, 24F
推
07/03 16:47,
2年前
, 25F
07/03 16:47, 25F
推
07/03 16:47,
2年前
, 26F
07/03 16:47, 26F
推
07/03 16:47,
2年前
, 27F
07/03 16:47, 27F
→
07/03 16:47,
2年前
, 28F
07/03 16:47, 28F
推
07/03 16:47,
2年前
, 29F
07/03 16:47, 29F
推
07/03 16:47,
2年前
, 30F
07/03 16:47, 30F
→
07/03 16:48,
2年前
, 31F
07/03 16:48, 31F
→
07/03 16:48,
2年前
, 32F
07/03 16:48, 32F
推
07/03 16:48,
2年前
, 33F
07/03 16:48, 33F
→
07/03 16:49,
2年前
, 34F
07/03 16:49, 34F
推
07/03 16:49,
2年前
, 35F
07/03 16:49, 35F
→
07/03 16:49,
2年前
, 36F
07/03 16:49, 36F
→
07/03 16:49,
2年前
, 37F
07/03 16:49, 37F
噓
07/03 16:49,
2年前
, 38F
07/03 16:49, 38F
推
07/03 16:50,
2年前
, 39F
07/03 16:50, 39F
還有 617 則推文
→
07/03 23:50,
2年前
, 657F
07/03 23:50, 657F
推
07/04 00:10,
2年前
, 658F
07/04 00:10, 658F
推
07/04 00:12,
2年前
, 659F
07/04 00:12, 659F
噓
07/04 00:18,
2年前
, 660F
07/04 00:18, 660F
推
07/04 00:29,
2年前
, 661F
07/04 00:29, 661F
推
07/04 00:35,
2年前
, 662F
07/04 00:35, 662F
推
07/04 00:47,
2年前
, 663F
07/04 00:47, 663F
推
07/04 01:29,
2年前
, 664F
07/04 01:29, 664F
→
07/04 01:29,
2年前
, 665F
07/04 01:29, 665F
→
07/04 01:29,
2年前
, 666F
07/04 01:29, 666F
推
07/04 01:41,
2年前
, 667F
07/04 01:41, 667F
推
07/04 02:06,
2年前
, 668F
07/04 02:06, 668F
推
07/04 02:11,
2年前
, 669F
07/04 02:11, 669F
推
07/04 02:14,
2年前
, 670F
07/04 02:14, 670F
推
07/04 03:06,
2年前
, 671F
07/04 03:06, 671F
推
07/04 04:02,
2年前
, 672F
07/04 04:02, 672F
推
07/04 04:12,
2年前
, 673F
07/04 04:12, 673F
→
07/04 04:12,
2年前
, 674F
07/04 04:12, 674F
推
07/04 07:02,
2年前
, 675F
07/04 07:02, 675F
→
07/04 07:08,
2年前
, 676F
07/04 07:08, 676F
推
07/04 07:32,
2年前
, 677F
07/04 07:32, 677F
推
07/04 07:47,
2年前
, 678F
07/04 07:47, 678F
→
07/04 07:47,
2年前
, 679F
07/04 07:47, 679F
推
07/04 09:03,
2年前
, 680F
07/04 09:03, 680F
→
07/04 09:37,
2年前
, 681F
07/04 09:37, 681F
→
07/04 09:37,
2年前
, 682F
07/04 09:37, 682F
→
07/04 09:37,
2年前
, 683F
07/04 09:37, 683F
推
07/04 09:55,
2年前
, 684F
07/04 09:55, 684F
推
07/04 10:05,
2年前
, 685F
07/04 10:05, 685F
推
07/04 10:09,
2年前
, 686F
07/04 10:09, 686F
→
07/04 10:44,
2年前
, 687F
07/04 10:44, 687F
推
07/04 10:47,
2年前
, 688F
07/04 10:47, 688F
→
07/04 10:52,
2年前
, 689F
07/04 10:52, 689F
→
07/04 10:52,
2年前
, 690F
07/04 10:52, 690F
→
07/04 10:52,
2年前
, 691F
07/04 10:52, 691F
→
07/04 10:52,
2年前
, 692F
07/04 10:52, 692F
推
07/04 11:35,
2年前
, 693F
07/04 11:35, 693F
推
07/04 13:21,
2年前
, 694F
07/04 13:21, 694F
→
07/05 12:58,
2年前
, 695F
07/05 12:58, 695F
→
07/05 13:00,
2年前
, 696F
07/05 13:00, 696F
C_Chat 近期熱門文章
PTT動漫區 即時熱門文章
7
14