PTT評價

Re: [閒聊]遊戲開發者抱怨現在程式碼誇張膨脹「可能有99%的內容都是

看板C_Chat標題Re: [閒聊]遊戲開發者抱怨現在程式碼誇張膨脹「可能有99%的內容都是作者
wei115
(社畜)
時間推噓 2 推:2 噓:0 →:0

※ 引述《pl132 (pl132)》之銘言:
: 遊戲開發者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 的限制瞭如指掌。如: 今,我們已經被迫生活在了一個效率極其低下、但浪費又如此誇張的泥潭裡。


沒辦法

摩爾定律告訴我們,每18個月電晶體數量增加一倍
而電晶體數量和電腦性能有一定關聯
程式寫再好有什麼用?開發週期一長,你節省的性能馬上就被摩爾定律幹過去
反而快速開發不管性能的,已經搶佔了市場,然後性能問題也隨著設備更新被解決

不過最近幾年,隨著製程越來越接近物理極限 摩爾定律有失效的趨勢
還有提升CPU IPC的技巧都用的差不多了
現在程式越來越不能亂寫了,至少最基本的多執行緒要用上,還有GPU加速之類的

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.21.189 (臺灣)
PTT 網址

orze0407/03 21:08除非像GTA5那種智障載入的錯誤

orze0407/03 21:16https://tinyurl.com/4yakxude