PTT推薦

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

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

遊戲開發者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留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.1.144 (臺灣)
PTT 網址

amsmsk07/03 16:40確實

argorok07/03 16:40確實

a236498307/03 16:41給錢啊 時限跟薪水就訂在那邊 幹嘛自己寫底層

k96060807/03 16:41要有以前那種超多限制的環境才有研究這些程式的必要阿

horseorange07/03 16:41所以你敢刪掉99%的代碼嗎

mosqutiolamp07/03 16:41確實

abccbaandy07/03 16:42他去大公司工作就知道了,獨立開發都把事情想得很簡單

gaaaaper07/03 16:42確實 你行你上

q25142507/03 16:43幹嘛自己造已經有的輪子....

spfy07/03 16:43對 我就廢 寫個小程式要引用幾百M的.NET框架

mapulcatt07/03 16:43不用自己造輪子 但是使用輪子也該用得更聰明一點吧

aliensu07/03 16:43可能還是要踏出門一下

wizardfizban07/03 16:43那麼肝 自己重寫又沒比較多薪水 幹嘛自找麻煩

wizardfizban07/03 16:44嫌肝太新鮮?

rockmanx5207/03 16:44如果是接手前人的會留一堆垃圾很正常 因為根本看不懂

rockmanx5207/03 16:44包括那個寫的人...

leon1979060207/03 16:44無解啦,就問你接手上一個的碼,你願意全部重寫只為

leon1979060207/03 16:44加一個功能,還是直接外掛一個省事?

tsubasawolfy07/03 16:45不知道寫程式的AI會不會執著於#magic

flysonics07/03 16:45這就是最典型的沒事幹嘛去造輪子的問題

hom547307/03 16:46輪子別人造的 隨便改以後維護很麻煩 但裡面又塞了一堆

spfy07/03 16:46如果他是工程師寫了三十年程式 那我可以理解他說的 但現在高

fuhu6607/03 16:46硬體夠強軟體就隨便寫,功能對就可以了

spfy07/03 16:46階語言就是叫你直接用別人的輪子 就算那輪子很胖

Srwx07/03 16:47一部分是空間成本低 所以膨脹頂多讓玩家增加下載時間

qwer33885907/03 16:47一個爛的工程師可以製造三個工作機會.jpg

JustBecauseU07/03 16:47好像js也是這樣欸

hom547307/03 16:47而大公司可能有自己常用的輪子組

tw1507/03 16:47

flysonics07/03 16:47我覺得這個人真的把問題想得太簡單 一堆DLL放在那邊就

flysonics07/03 16:48是為了相容性跟可攜性

flysonics07/03 16:48你哪天灌個東西就因為少個DLL或是兩個互相衝突 結果導

inte629l07/03 16:48東西穩穩能動就好 重造出事還要扛責任

flysonics07/03 16:49致你要花幾天的時間在那邊Debug 最後解法還超級簡單

arrenwu07/03 16:49"與企業級的東西相比,我的東西可能沒有那麼強大,

flysonics07/03 16:49那你就會寧願留多一點空間放這些DLL了

arrenwu07/03 16:49但它確實可以做到。" <--- 所以他想表達啥?

astrofluket607/03 16:49Techbang呵呵連程式設計師的名字都寫錯

sunshinecan07/03 16:50如果目標平台有足夠空間 當然是開發效率>>>程式精簡

Vladivostok07/03 16:50現在容量就跟不用錢一樣,哪個消費者在乎大小?只有

Vladivostok07/03 16:50switch 版遊戲會加減瘦身吧?然後瘦完載day1修正檔

arrenwu07/03 16:51他好像在說"我做的小項目程式可以比較精簡"的廢話

henry123456207/03 16:51簡單說 就是因為現在不怕容量不夠

medama07/03 16:51確實

memory102407/03 16:51完全理解,我在前公司曾經砍掉系統一半的code再重寫了

memory102407/03 16:511/6去取代,結果網站速度比以前快了10倍有

henry123456207/03 16:51所以把程式精簡這一步優先度就很低

CorkiN07/03 16:52獨立遊戲開發者 難怪說的出這種話==

arrenwu07/03 16:52有效能需求的時候自然會有人去profiling

eewhole07/03 16:52自己寫的和接手四五個人碰過的程式就不一樣,講什麼幹話

q25142507/03 16:53要在影響效能重大才有理由做 通常都只是佔容量而已沒差

henry123456207/03 16:53然後呢 接手別人寫的程式是怎麼回事應該知道吧

eewhole07/03 16:53原來是獨立遊戲開發者講的,難怪

arrenwu07/03 16:53「研究通過底層的高效程式碼來完成工作」這幹話都講得出

henry123456207/03 16:53你拿過來的東西 要加一個功能 你難道要重新把別人

henry123456207/03 16:53寫好的東西完全review一遍嗎

airawesu07/03 16:54團體分工時 當然要選擇肥但很容易看懂的寫法比較輕鬆...

wanjack07/03 16:54他的意思可能是你能自己造輪子 但有現成的可以用,只是那

henry123456207/03 16:54哪有這美國時間.. 完整看一遍跟重新開發有啥兩樣

wanjack07/03 16:54個現成的上面有超複雜無意義的花紋這樣 自己造就能只保留

k96060807/03 16:54前人的成果就擺在那 沒什麼事情當然是能不動就不動阿

wanjack07/03 16:54輪子的功能不需要那堆裝飾

r8527060707/03 16:54我反而會去注意奇怪的遊戲容量膨脹問題

arrenwu07/03 16:54現在CI/CD可能都比他那個高效重要多了

CorkiN07/03 16:54大公司的程式一堆都是長久pass下來的 你想改還不一定給你

CorkiN07/03 16:54改勒 動了出事誰負責==

spfy07/03 16:54能正常運作的就不要去動它 大型專案的工程師定律

et31007/03 16:55雀食

henry123456207/03 16:55要改就要改一整套完整的 然後還要測試結果沒變

CorkiN07/03 16:55而且很多時候你光要理解某部分某些東西為什麼那樣做都會

CorkiN07/03 16:55有困難了

storyo1141307/03 16:55自吹順便踩大公司

henry123456207/03 16:55你一個人能完成那你就自己做啊..

k96060807/03 16:55簡單說 比起要多繞10分鐘才能回家 找新路的那個出錯成本

aegis12332107/03 16:55同意啊 現在一堆實作就是一大串dependencies 但他舉

eewhole07/03 16:55獨立遊戲開發不用趕時程商業工具要阿,一個月要我重寫?

aegis12332107/03 16:55自己寫小程式有差不多功能的例子很尷尬==

r8527060707/03 16:55記得是新德軍總部系列出現時我注意到高達50G

r8527060707/03 16:55這對於以技術宅起家的id soft而言 臃腫真的是很奇怪

k96060807/03 16:55不一定更划算就是 站在第一次探路的立場上會想找新路

avans07/03 16:56說的是正論,但市面上已有造好的輪子,通常就是直接利用了

chinnez07/03 16:56我他媽才不做輪子 ,我他媽就給你裝輪子 不管大小用途就

chinnez07/03 16:56給你他媽的裝爆

spy1907/03 16:56問題是去追求他所說的那些東西 遊戲公司也不會賺更多錢啊

arrenwu07/03 16:56他舉那例子...痾 一個有工作經驗的人講話像個學生

r8527060707/03 16:56不過外行人也不在乎就是 甚至記者以為越大越好的也有

henry123456207/03 16:57他是獨立開發者 如果沒有在大公司當碼農就不會理解

k96060807/03 16:57工作經驗不是問題阿 他長期在獨立環境的話這樣想很正常

henry123456207/03 16:57然而理論上只要他的程式部分有跟任何人合作過

eewhole07/03 16:57會講出這種話的人,真的想叫他多出去接觸人,別宅在家

henry123456207/03 16:57理論上應該就能體會到寫程式碼不是這樣

storyo1141307/03 16:57商場最沒價值就是他認為自己很厲害的地方 縮空間沒用

Bencrie07/03 16:57遊戲的話佔空間的絕對不是程式碼啦

henry123456207/03 16:57不是我要說 就算是我自己寫的 一個月前寫的都看不懂

s54042107/03 16:57客戶不在乎你寫得多美多小,好玩好用才是他們要的

gaym1907/03 16:58有別人的輪子可以用 幹嘛自己造一個輪子

Severine07/03 16:58我自己就貢獻了很多QQ

henry123456207/03 16:58何況是不知道幾個人用多少年寫好的東西

flysonics07/03 16:58作為工程師我認同啦 reduce code size & performance

winken200407/03 16:58合理

henry123456207/03 16:58我還花時間去研究怎麼優化他們喔

storyo1141307/03 16:58遊戲程式不是在那邊比較誰的檔案較小誰優秀

arrenwu07/03 16:58我甚至覺得只要有deliver on-time壓力的工程師都不會講

arrenwu07/03 16:58出他這種幹話

flysonics07/03 16:58確實是工程師技術力的考驗 問題是專案是要賣錢的 = =

ccpz07/03 16:58https://imgur.com/afwPznB

henry123456207/03 16:58這就是理想跟現實的差別

Severine07/03 16:59上頭只管何時開發好 整天壓時程

henry123456207/03 16:59用嘴巴說我也知道降低容量 優化很重要阿

k96060807/03 16:59現在也不是一塊卡帶只能塞64KB還700MB的時代了 太鑽研這

ccpz07/03 16:59所以才有這張圖在諷刺阿

arrenwu07/03 16:59一個月前寫的都看不懂 <--- 這就誇張了吧XD

r8527060707/03 16:59有這種想法是好事啦 遺憾的是很多場合都不在乎

henry123456207/03 16:59阿程式碼就不是用嘴巴說一說就會優化好的阿

k96060807/03 16:59個反而弄錯重點浪費開發進度也不好

henry123456207/03 16:59嘛 誇張化了啦 但如果你這個月寫了很多奇怪東西

ashclay07/03 16:59給錢給時間再來討論有沒有這個技術

ccpz07/03 16:59來源: https://bit.ly/3P14L9y

tsp87019707/03 16:59一看就是沒上過班的勝利組 工作事情有夠多 為了一個小

tsp87019707/03 17:00功能從頭去寫底層出bug誰要修?當然直接抓現有穩定的來

tsp87019707/03 17:00用啊 誰管他99%功能會不會用到(笑

ttyycc07/03 17:00就成本問題啊,容量那麼便宜成本低,為什麼要找個成本很

ttyycc07/03 17:00高的方式來做?

henry123456207/03 17:00突然有人問你上個月寫的這怎麼寫的 是要回想一番的

henry123456207/03 17:00尤其是如果你用了啥剛領會的技巧

arrenwu07/03 17:00但code review的時候,PR裡面別人看不懂的通常會要你寫

q25142507/03 17:00說真的啦程式庫就算佔也沒多少 影片圖片隨便是幾十倍大小

devilkool07/03 17:00對不起,我就爛

arrenwu07/03 17:01一段註解解釋一下吧?

CorkiN07/03 17:01我是不認同這種幹話啦 做硬體的真的是能不動就不動 code

CorkiN07/03 17:01能沿用就沿用 你要改 要時間 要人力 啊資源砸下去又出包

CorkiN07/03 17:01不能work直接死去

iceonly07/03 17:01果然是獨立開發者,科

henry123456207/03 17:01所以寫註解很重要 而且要寫人話

arrenwu07/03 17:01這個不要求的話 以後誰碰到這段誰就要倒楣了

ltytw07/03 17:01雀食

CorkiN07/03 17:01八卦是台灣的硬體公司連code review這件事也沒啥在做XD

Bencrie07/03 17:01我知道他想講什麼,但是在 Windows 上面追求這個好像

arrenwu07/03 17:01因為要求寫document更是天方夜譚,而且很榮耀out-dated

henry123456207/03 17:01很常見的就是註解有寫 然後自己覺得寫得清楚

Bencrie07/03 17:02不太對啊 XD

CorkiN07/03 17:02沒那個美國時間

arrenwu07/03 17:02所以code review 的時候 能要求寫作文就要寫下去

storyo1141307/03 17:02市場上沒這個需求,哪有白痴花錢請人做這個

henry123456207/03 17:02然後自己幾個月回來看 這誰寫的外星語言

cycling07/03 17:02老實講膨脹正常吧 現在都要寫一堆加密的東西

q25142507/03 17:02不管軟硬這些話都幹話阿 不然用框架幹啥 也不少用不到阿

arrenwu07/03 17:03以前我還多少覺得連test function在幹嘛都要寫得鉅細靡遺

arrenwu07/03 17:03好煩,碰過一次要解其他人的bug就懂那好處

henry123456207/03 17:03是阿 你不寫註解 那個test就沒有人會去用

s94281607/03 17:04最後一句才是重點,一堆文組學幾句就以為行

Axarz63107/03 17:04傻傻的 dll庫未來擴充 改功能 抓bug都好用 傻子才重寫

timez42207/03 17:04所以靠腰的敢刪嗎 我看是不敢吧

aegis4321007/03 17:04所以硬體效能永遠不會供過於求,因為現在軟體工作者只

aegis4321007/03 17:04會弄的愈來愈肥

s54042107/03 17:05註釋寫太多就回到重構的老問題了:與其寫一堆註釋,幹嘛

s54042107/03 17:05不寫得更易讀呢,然後繼續loop

tsp87019707/03 17:05然後程式沒註解的話還真有可能過幾天就會忘了為何要加

tsp87019707/03 17:05那行就變成所謂的看不懂了 當然會知道這行會幹嘛 但是

tsp87019707/03 17:05為何要在這時做? 有時可能是客戶提出的 也可能是為了

tsp87019707/03 17:05避免觸發其他bug 忘了真的很常見www

arrenwu07/03 17:06與其寫一堆註釋,幹嘛不寫得更易讀 <--不衝突啊

q25142507/03 17:06軟體工作者也是知道現在普遍硬體都可以才敢這樣做好嗎

henry123456207/03 17:06就算是易讀的程式 還是要寫註解阿XD

henry123456207/03 17:06因為這一段功能你知道 不代表你知道為啥要在這裡

hom547307/03 17:06大致上分個段落 每個段落開頭寫一下這段落處理啥

Nitricacid07/03 17:06老人臭好重的發言 現在用高階語言開發不就為了用低

Nitricacid07/03 17:06廉的人力快速產生穩定成品搶佔市場 還拿自己 side p

Nitricacid07/03 17:06roject 來比...

q25142507/03 17:06現在的一堆精美網頁20年前可能只是卡死大家電腦

s54042107/03 17:07但重構沒有產出又容易出想不到的bug,開發期提出常會被

s54042107/03 17:07往後延~

flysonics07/03 17:07我真的覺得說反正要重構幹嘛寫註解這種話很.....

hom547307/03 17:07每行都插註解反而看起來很累

rockheart07/03 17:07超級認同,隨便寫一寫。反正玩家硬碟很大

flysonics07/03 17:07寫註解至少每行節省你幾秒的時間在想他在幹嘛

spfy07/03 17:07我本來也很認真寫註解 但客戶一天改三次需求 我改完CODE

spfy07/03 17:08沒時間改註解啦 ㄍㄋㄇ

flysonics07/03 17:08很多東西重構完還是洋洋灑灑一大篇 最後還不是要註解

MDay5607/03 17:08確實

q25142507/03 17:09台灣一堆公司根本沒有訂過規範 反正能動就好

arrenwu07/03 17:09寫註解就是一件「我為人人 人人為我」的事情

sezna07/03 17:09懷疑他沒跟人合作過

tsunamimk207/03 17:09這問題從COM開始就想解決了 到今天也沒有個答案

MDay5607/03 17:09但是重複造輪子不符合開發成本,那就轉嫁去使用者的硬體ㄅ

arrenwu07/03 17:09不過現在IDE比以前也強很多 有時候確實可以自己看程式碼

arrenwu07/03 17:09去了解程式在幹嘛

q25142507/03 17:09開會說瀑布敏捷 然後都只拿對主管有利下屬有害的點混合

Luos07/03 17:104 每個docker image 都是GB起跳

sunshinecan07/03 17:10想少寫點註解的話 至少命名要認真想...

tsunamimk207/03 17:10每次這種人這種專案到最後都一個比一個肥大

rex778807/03 17:10太有效率不就沒事做了?

Gary2107/03 17:10管他 能動能交給老闆才是最重要的^ ^b

q25142507/03 17:10基本上都是時間長短的隕石

tsunamimk207/03 17:11從單一功能變套件 套件與套件相依 太肥的套件被抱怨

greattower07/03 17:11自信點,把遊戲去掉

CorkiN07/03 17:12現在不是還流行啥敏捷開發嗎 我聽朋友說幾乎天天都要開會

CorkiN07/03 17:12決定方向 這種快速變化的開發模式是要怎麼讓你在那邊慢慢

CorkiN07/03 17:12刻==

tsunamimk207/03 17:12三拍子的華爾滋一直這樣舞動下去

tsp87019707/03 17:12除非之後不維護 不然不寫註解只是會婊到自己 當然外包

tsp87019707/03 17:12丟出去能跑就好 時間到了就沒關係的倒是沒差XD

CorkiN07/03 17:13還是要隕石開發 有點忘了

stomachache07/03 17:13每個人都寫python結果就是這樣啊

reaturn07/03 17:13自已寫?智障嗎?公司又不會多給你錢來鼓勵這種行為

tsunamimk207/03 17:13其實也沒啥不能刻就是 看用途

arrenwu07/03 17:13三小啊 這關python啥事XD

tsunamimk207/03 17:14這根python 不python 無關啊 c/c++的世界也一樣

ohmylove34707/03 17:14因為成本最高的是維護不是效能和容量啊,效能現在的

ohmylove34707/03 17:14硬體能解決,硬碟也比以前便宜很多,但維護不好,死

ohmylove34707/03 17:14了就是死了,bug遇到就完蛋了

flysonics07/03 17:14python:馬的關我屁事

tsunamimk207/03 17:15auto config 跑十五分鐘的我都見識過了

Nitricacid07/03 17:15敏捷開發根本被用成流星雨開發 比隕石開發還刺激XD

tsunamimk207/03 17:15軟體功能就是一層一層堆上去的

Axarz63107/03 17:15以前硬體資源比工程師肝貴才錙銖必較 現在別自找麻煩

tsunamimk207/03 17:16一個功能一個模組背後牽扯的相依性就是那麼多

soccer10307/03 17:17哪裡確實?留言的有多少是工程師

arrenwu07/03 17:17Python可能因為又強又可愛所以吸引很多比較不拘小節(?)

arrenwu07/03 17:17的人寫些鳥程式,但鳥程式不是因為python造成的啊XD

tsunamimk207/03 17:18不過這例子很不好 因為顯然套件不只處理上傳這件事情

iamsocool07/03 17:18[閒聊] 卡比開發:容量夠小也是背景品質指標之一

Bencrie07/03 17:19推文一整排都工程師沒錯啊

a22345e07/03 17:19現在開發中比起用容量小的寫法 程式碼乾淨、debug&後續

a22345e07/03 17:19更新方便更重要吧 而且內文也很奇怪 我用的都是兩三年前

a22345e07/03 17:19的一般等級手機電腦 也不覺得容量不夠(一些遊戲跑的比

a22345e07/03 17:19朋友讀iphone卡啦)

js85060407/03 17:19大家是來上班不是改善公司的好嗎

tsunamimk207/03 17:19搞不好裡面有vpn 相關的事情 版本控制相關的事情

Vere07/03 17:19硬體的進步只是給遊戲開發商在優化工作上偷懶

flysonics07/03 17:20推文裡應該八九成都工程師喔wwww

tsunamimk207/03 17:20現代連driver開發都沒有很講究這個了

a22345e07/03 17:20我是看一些c++教程開場幾章就強調這點的啦...我自己也就

a22345e07/03 17:20學些皮毛

a2684840007/03 17:20聽起來我們很快就要安撫機魂了

tsunamimk207/03 17:21應該說這問題從dos時代就開始吵了

arrenwu07/03 17:21C++現在我覺得也滿尬的 C++11之後的程式碼長得好醜

enderboy765207/03 17:21要加一個功能,要選擇全部重寫還是直接掛上去,是人

enderboy765207/03 17:21都選後者

tsunamimk207/03 17:22我已經全面改用go lang了

arrenwu07/03 17:22但是當效能很重要的時候 還是多半在使用C++

Linmon07/03 17:22老新聞:https://bit.ly/3ApbLZI

Axarz63107/03 17:23就像水電師傅去客戶家 一定材料工具開小發財全帶滿

arrenwu07/03 17:23但是這語言本來事static-typed,後來為了迎合現代語言

evilaffair07/03 17:23因為下班時間還沒到

Axarz63107/03 17:23你永遠不知道客戶會突然多出什麼需求 跑回去拿不就尷尬

arrenwu07/03 17:23的開發效率,又引入了 auto 和 lambda function

tsunamimk207/03 17:23上面的東西看用grpc 還是看接fastcgi

hom547307/03 17:23優化偷懶? 你現在功能還沒寫完 新需求就會一直壓過來了

arrenwu07/03 17:23媽的不同理念的設計同時存在一個語言裡面 就變得好醜==

philip8150107/03 17:23你就知道2K為什麼會這麼大坨了

worldark07/03 17:24人類是有極限的

tsunamimk207/03 17:24c++已經發瘋了

NerVGear07/03 17:24size 靠compiler 比較優化比較實在吧

hom547307/03 17:24付薪水的老闆 會給工程師空檔排優化項目? 時間是要花錢的

safe07/03 17:25聽起來像慣老闆講的幹話

arrenwu07/03 17:25他講的研究優化底層效率那個要給專門的team做

tsunamimk207/03 17:25對啊 Java c#各取所需 c++卻沒完沒了的塞新的典範

tamynumber107/03 17:25真的聽聽就好

NerVGear07/03 17:25嫌程式太大可以用Os下去編

Acetoxy07/03 17:25確實

tsunamimk207/03 17:25是的 底層最佳化是一個部門的事

Bencrie07/03 17:26前提是你有 source code

tsunamimk207/03 17:26用os下去編是啥意思 不懂

flysonics07/03 17:27gcc的optimize flag啦

Bencrie07/03 17:27他是說 -Os cflags/cxxflags

tsunamimk207/03 17:28呃 那請真的要知道optimization level的細節再說

tsunamimk207/03 17:28還有真的在意也許該考慮LLVM…

TakiDog07/03 17:28你行你上,糞扣製造機永不停止

TakiDog07/03 17:28現在工具類的桌面App 隨便破百MB,是框架的鍋

Bencrie07/03 17:28那些 Electron apps 有機會變小嗎 XD

bb031v2k07/03 17:29事實啊

zjes4060407/03 17:29增加的容量對現在的設備來說根本還好 反倒是一旦增加

zjes4060407/03 17:29了新東西卻沒dll可以debug才糟糕

Bencrie07/03 17:29裝個 skype vscode slack 我們就有三份 browser 了

tsunamimk207/03 17:29這問題要問node 與 npm wwww

NerVGear07/03 17:29Clang跟gcc各有優缺啦 不一定

tsunamimk207/03 17:30不過vscode是好東西

abadjoke07/03 17:31一個寫程式的最不想做的事情就是去讀別人的程式碼

Nitricacid07/03 17:31Electron 沒救吧 js套件就那樣 親爹都想重寫個語言來

Nitricacid07/03 17:31改這塊..

tsunamimk207/03 17:31不對吧 我還蠻喜歡讀code 的

tsunamimk207/03 17:32沒用啊 莫忘maven 與 gradle

Bencrie07/03 17:32以前 mozilla 就幹過 xulrunner,只是效率太爛沒人想用

TakiDog07/03 17:32跨平台除了Tauri ,Electron/Flutter 每個App都難瘦生

abadjoke07/03 17:34如果讀的程式碼邏輯清晰註解簡明扼要是沒問題啦

abadjoke07/03 17:34但遇到那種註解不寫然後又充滿個人邏輯風格的就很想死

tsunamimk207/03 17:35註解是參考用的而已啦

Nitricacid07/03 17:36論過期的註解跟沒註解哪個比較毒(ry

abadjoke07/03 17:36沒辦法 功力不夠 常常遇到看不懂前一個人在幹什麼的事

tsunamimk207/03 17:37其實html5剛出現的時候真的很多人認為使用者介面描述

tsunamimk207/03 17:37大一統要來了

yoyun1012107/03 17:37不是公司不付薪水給你做這個,是會把資金砸在重刻輪子

yoyun1012107/03 17:37這種智障事的公司早就倒了

r8527060707/03 17:37感覺本串內人人都是碼農 我不是就是了

tsunamimk207/03 17:37然後我們迎來了node , webpack, ecmascript的地獄

flysonics07/03 17:38註解真的很重要 尤其是和硬體相關的code.....

Axarz63107/03 17:38有些人的註解和ptt廢文沒什麼兩樣...

NerVGear07/03 17:38大家都不同領域的碼農吧XD

flysonics07/03 17:39你被逼著去幫人家抓Bug 對面還要理不理 你要生啃他code

Axarz63107/03 17:39不是邏輯死去就是國文死去

flysonics07/03 17:39你就會知道註解根本跟救命稻草一樣...

tsunamimk207/03 17:39硬體的註解通常應該拉出去寫成wiki

NerVGear07/03 17:40硬體的確實該去看spec 而不是寫在註解

tsunamimk207/03 17:40留在程式碼內到最後還是都會被忘記 然後在一堆 branch

tsunamimk207/03 17:40

flysonics07/03 17:40spec寫很爛 HW說喔我都跟xxx講過了啊 你問他就好

Turas07/03 17:41QAQ

tsunamimk207/03 17:41這種事情在前公司幹過太多次了…

flysonics07/03 17:41明明是他的code 結果xxx說你有看到bug你可以自己修啊

tsunamimk207/03 17:41那該花時間整理的就是spec

flysonics07/03 17:41然後上面的人急著要跟客戶交Sample 你真的會想撞牆

tsunamimk207/03 17:42這還好 open source 的專案拉下來甚至沒人給你問

Nitricacid07/03 17:42不同領域的碼農共同的痛 > 遇到 bug 結果沒任何資訊

Nitricacid07/03 17:42只能靠通靈

Nitricacid07/03 17:42 遇到過一次就會寧願所有人都跟著大部隊走不要自幹才

Nitricacid07/03 17:42不會像這篇的講這種幹話

tsunamimk207/03 17:42你去GitHub 看到一堆人問一樣的問題然後問你為何不幫

tsunamimk207/03 17:42

flysonics07/03 17:42open source的東西你要拿來用 milestone本來就會拉長點

flysonics07/03 17:43前面要讓你確認過基本功能都正常才行

tsunamimk207/03 17:43改了為何不發PR 那才叫白眼翻不完…

NerVGear07/03 17:43老的碼農比較值錢就是他比較會通靈啊(X)

tsunamimk207/03 17:43對 就是通靈 久了就變通靈王了

cemin07/03 17:44一個程式精簡了但執行跟精簡前一樣,你覺得老闆看得出來嗎

alan310007/03 17:44這個比較像學生剛到業界有點臭屁以為自己寫的最好用

shadow032607/03 17:45珍惜生命,遠離windows開發,你就不會有這麼多DLL

tsunamimk207/03 17:45我才剛從ansible 的地獄中擺脫出來 telnet 判斷prompt

tsunamimk207/03 17:45的regex 有誤

hom547307/03 17:45就想當然耳的小功能 檢查 相容 通用 容錯 都省略來寫

shadow032607/03 17:46同樣是輪子,根據GNU做出來的輪子就是比較輕

tsunamimk207/03 17:46怎麼辦 上週三要demo 我週二在重寫那個python module

hom547307/03 17:46等到以後遇到問題 才知道這邊要加判斷 要多檢查甚麼

dnkofe07/03 17:46有時是時間問題,要你短時間就弄出來,從基礎建根本不夠時

dnkofe07/03 17:46

tsunamimk207/03 17:46算了吧 gnu..算了吧

hom547307/03 17:46在那些裝置上要怎麼相容處理 然後原本簡單的程式就開始肥

alan310007/03 17:46等你有團隊經驗就會知道自幹的程式生命週期都很短

jokerjuju07/03 17:47雀食 你去刪刪看 看他還會不會正常運作

hom547307/03 17:47有時還要跟上新協定 新環境 又要回去改

tsunamimk207/03 17:48我還不如規定全部都用posix 相容的system call然後去

tsunamimk207/03 17:48他媽的圖形使用者介面 不會用cli 就滾出公司

tsunamimk207/03 17:49不會用vim 直接扣薪水

jonathan79307/03 17:49確實

MoneyMonkey07/03 17:49掩護後台的挖礦軟體?

tsunamimk207/03 17:50linux 的so地獄是少到哪裡去

NerVGear07/03 17:50沒有碼農不會CLI吧 如果有那連碼農都稱不上

tsunamimk207/03 17:50abi 的坑是少到哪去

fancydick50107/03 17:51那聘你你有什麼好方法管理大型團隊嗎xd

tsunamimk207/03 17:52我只管過十人團隊*2 真不知道更大要怎麼辦

tsunamimk207/03 17:52也許那根本就不該從工程師角度思考了…

milk83012207/03 17:53有時間壓力誰會從頭造輪子 又不是沒期限

reaturn07/03 17:53現在都是什麼要你三個月小改版,一年更一大版

CityRanger07/03 17:54沒錯啊 但我就喜歡寫垃圾 哈哈

hollen907/03 17:55效能優化不是第一的話 開發成本能省則省

tsunamimk207/03 17:55事實上就是做不到 我現在一台ubuntu desktop 一台mbp

tsunamimk207/03 17:55 還是用vscode 加上eclipse 加上visual studio (.net

tsunamimk207/03 17:55 core)做事…

xluds2480507/03 17:56看那 node modules 為什麼總是那麼肥大就知道為什麼了

sniper282407/03 17:57自己愛刻輪子沒人管你啊

Axarz63107/03 17:57對啊說穿了就是把開發成本轉嫁給客戶的硬體效能

Axarz63107/03 17:57能用幾個畢業生就弄好的程式 我幹嘛派老鳥幫你搞優化

tsunamimk207/03 17:58問題是從頭造輪子真的能用之後註定再肥大一次

milk83012207/03 17:58用輪子跟造輪子的錢一樣的話誰要造輪子

tsunamimk207/03 17:58你覺得只有上傳檔案 只是因為你只用到上傳檔案…

hollen907/03 17:58現在網路也不是撥接速度 也不是CD安裝

hollen907/03 17:58硬碟也很便宜 編譯出來檔案多大不是重點了

hollen907/03 17:58反而是 CPU、GPU 這方面的優化比較重要

milk83012207/03 17:59比你厲害的大神都幫你把輪子弄好了 自己刻除非你夠閒

Ariadust07/03 17:59我不懂程式,但這個世界不就這樣嗎,演化也是從現有的東

Ariadust07/03 17:59西去改去加,能解決問題就照著用,加不上去或是崩潰了再

Ariadust07/03 17:59來想辦法

Darnatos07/03 17:59解決不了的問題所以才抱怨吧

hollen907/03 17:59以前會覺得 100MB 很大,現在來說根本超小

tsunamimk207/03 17:59搞不好那個套件要處理vpn 要處理CDN, 有p2p的概念 有

tsunamimk207/03 17:59介接各種雲服務的api

tsunamimk207/03 18:00這是很多菜鳥工程師的特徵 想太少 覺得世界很單純 全

tsunamimk207/03 18:00世界都是笨蛋

tsunamimk207/03 18:01我用python加上flask上傳檔案五行就寫完了 為何要這

tsunamimk207/03 18:01麼肥大

tsunamimk207/03 18:02但事實上只是菜而已 這種我看了數十次了

zeyoshi07/03 18:02主要還是有其他更佔空間的東西吧

a8261114107/03 18:03確實

Daichiuri07/03 18:03通篇廢話

k96060807/03 18:04以前是輪子佔整體成本30% 那就會需要讓他改良

k96060807/03 18:04現在這輪子根本佔不了什麼成本 特地浪費時間改這個幹嘛

Axarz63107/03 18:04對 借來整個工具箱你只用到8號扳手 然後怪工具箱肥大

tsunamimk207/03 18:05就是因為懂太少了 …

Ron5132007/03 18:05當小說寫碼字阿,寫越多別人看不懂就來問你了

milk83012207/03 18:07怪工具箱太肥大這比喻不錯 難道運作不用帶工具箱嗎

milk83012207/03 18:08遊戲會肥大占最重還是美術相關啦 高畫質影片 高解析材

milk83012207/03 18:08質 圖片 3D模型等

shlee07/03 18:08講白了就是獨立環境做久了沒有在一般公司行號跟別人合作專

shlee07/03 18:08案才會有這種想法

ASUSboy07/03 18:09這就是標準的半桶水,只懂自己的部分

shlee07/03 18:09個人時間多 沒有專案時程跟團隊維護壓力

ASUSboy07/03 18:09應該把他丟去別的部門看看

peterturtle07/03 18:10第一天看技術債? www

notneme15907/03 18:10薪水跟接手的人啊

linjrming07/03 18:10通篇廢話,程式再臃腫也跟速度無關

hollen907/03 18:10自己實作輪子 完全無視scalability和maintainability

hollen907/03 18:12搞不好還會自己留下安全漏洞沒人知道

hollen907/03 18:12引入第三方日後發現還可以版本升級

Raptors107/03 18:12這才叫進步好嗎 那點容量又不值錢

lbowlbow07/03 18:14你要反反組譯的話就得加一堆垃圾code進去啊

Jacob888807/03 18:14時間成本>>>人力、硬體

RINPE07/03 18:14刪了出事誰負責 反正炸彈不要在我身上爆就好

Sacral07/03 18:16我不敢刪

thibw13ug107/03 18:16所以這個大聲叫囂著要每個人自己造輪子才比較像沒寫過

thibw13ug107/03 18:16程式的人吧? 你這麼行你自己造一個輪子給大家用啊 就

thibw13ug107/03 18:16看看你的輪子最後能不能取代你看不爽的輪子阿?

breeze110807/03 18:16來臺灣輪班就會懂了

chuegou07/03 18:21講得東西合理 我也是站在他這一派 但是我認為這只是開發

chuegou07/03 18:21上的選擇而沒有孰是孰非

k79897686907/03 18:21傻傻的 這樣才能創造軟體工程師的就業機會啊

k79897686907/03 18:22系統太簡單 一堆人要失業了 還好軟體大神前輩們都有想

k79897686907/03 18:22到 故意設計地很複雜 養活廣大工程師們

LeoYuri07/03 18:22大家都馬附加上去,反正只要沒問題就好了,還是一直goto

LeoYuri07/03 18:22一直爽

Clarkliu07/03 18:23老闆:雇個門房吧 主管:買一個警衛公司好了

gamania025807/03 18:23確實

ikachann07/03 18:25不要說遊戲公司,一些銀行或是政府的案子 code都又臭又

ikachann07/03 18:25

smart0eddie07/03 18:29政府跟銀行更不敢亂動啊

chaosset07/03 18:29不懂技術債的成本與可怕,跟從小地方做起,就會變以上推

chaosset07/03 18:29

alinwang07/03 18:30敢說人家99%垃圾但自己做得出人家的1%嗎?

chaosset07/03 18:31樓上通常做得到才敢大聲啦

zxcasd32807/03 18:32給多少錢做多少事

xxxzxcvb07/03 18:36低階都自己寫案子時間是要拉到多長

astrofluket607/03 18:39鍵盤程式設計師出動

Garyisdog07/03 18:40這串釣出好多軟體工程師XD

sean523692107/03 18:43亂講!

streakray07/03 18:43技術債台高築

s451198107/03 18:46硬體的發展導致程式設計師不受限制

alinwang07/03 18:49大聲的通常是吹牛吧。

hinajian07/03 18:49為何推文一堆人站在如何當個稱職社畜的角度在思考 而非

hinajian07/03 18:49這樣是對是錯

renna03876607/03 18:49幹真的

bnd032707/03 18:50以前不把模組分出獨立dll會被質疑是不是不會

bnd032707/03 18:50現在是DLL分出來被用質疑不懂底層,太苦了我

canis83102507/03 18:53我可以兩秒加上去又不會出錯的事,我幹嘛多花時間改

canis83102507/03 18:53好底層再去測試半天?

shbowm07/03 18:53停在過去大概寫十年開發個小軟體的時代?

Haruna199807/03 18:55新手也不敢刪以前的 code 吧?沒事我去動它幹嘛 假如

Haruna199807/03 18:55這個功能突然客戶又要了勒?

a1e07/03 18:56看運作裝置啦,現在pc上面記憶體和硬碟空間像不要錢似,你程

a1e07/03 18:56式就算再肥能肥到1TB?幾百MB的程式,使用者都不在意了,因為

a1e07/03 18:57現在1tb的硬體不到兩千塊,新電腦幾乎都是1tb硬碟了根本沒人

a1e07/03 18:57在意那點空間了

swimbert07/03 18:58如果每個程式都從底層開發,自然短小精悍。但開發週期長

swimbert07/03 18:58幾倍,我們能擁有的應用就少了。硬體增強後用來增加應用

swimbert07/03 18:58,這也合理

a1e07/03 18:58你寫效能再好,但要花一星期,同樣功能套一堆組件不用一小時

a1e07/03 18:58完成,是我也算後者,誰有那個時間和你計較那點不重要的空間

Axarz63107/03 18:59不喜歡人家做好的量產車就閉門造車啊 成本時間自負就ok

a1e07/03 19:00除非你的運作裝置只有不到100MB flash,這才要想辦法減法

pikachu242107/03 19:00原作者經歷查一下就有了吧 除了自己成立獨立開發以外

pikachu242107/03 19:00在三家遊戲公司工作過 其中兩家還算有名 一家是開發

pikachu242107/03 19:00過神鬼寓言(Fable)系列的Lionhead 另一家是開發Sims

pikachu242107/03 19:00系列的Maxis 從1997年開發遊戲至今 今年52歲

TimmyDD07/03 19:03 Python vs C

clisan07/03 19:04問題是時間啊,而且大量安全性的patch,重刻少上一個就變

clisan07/03 19:04安全性問題要花多少時間去查去修

james120107/03 19:05技術債堆疊出來的巨獸 其實真的不少是垃圾

zizc0671907/03 19:07管那麼多,現在功能寫得出來比較重要好嗎==

Koyomiiii07/03 19:08可以用就不要動 壞了你要修??

bobyhsu07/03 19:12我好奇他是因為不會團隊溝通才變成獨立工作的==

bobyhsu07/03 19:14大公司搶市場拼發售 外加工作人員流動率搞 誰給你時間慢

bobyhsu07/03 19:14慢鑽研 多出來的上班時間你要幫老闆付嗎==?

Axarz63107/03 19:15很多之所以累積成技術債是因為一開始不需做那麼大規模啊

Axarz63107/03 19:15客戶要新功能當然從現有架構直接加上去 誰跟你每次都打

Axarz63107/03 19:15掉重寫啊 久而久之累積成巨獸也是難免 只要不出bug就好

kphuang07/03 19:16同意

Gankosakae07/03 19:16想得美 你也要看看老闆會壓你的時間完成專案 還是會

Gankosakae07/03 19:16跟客戶延期讓你慢慢刻底層

SilverFocus07/03 19:17自己重造輪子或許比較快,但會爆胎

firingmoon07/03 19:17所以更新修正你要出錢嗎..

Getbackers07/03 19:18一堆推文的都在大公司被磨的滑不溜手,看不起理想派

webermist07/03 19:19講白了就是現在硬體成本太低 寫的好不好就沒人在乎了

ENCOREH3345607/03 19:20他沒有經歷過flash開發時代吧

Mian199707/03 19:20沒什麼,因為現在寫程式的都是低能兒,搞一堆垃圾騙吃騙

Mian199707/03 19:20喝,就這樣而已。

vincent891407/03 19:20IoC、微服務拼起來就是容易肥大 但造輪子有比較好?

sunshinecan07/03 19:20跟技術債有點差別吧 可維護性跟精簡程度不必然有關

shlee07/03 19:21理想需要時間實現 現實是專案跟客戶不會給你時間

ENCOREH3345607/03 19:21而且他太小看資安了吧

shlee07/03 19:21更別說還有團隊問題

WarIII07/03 19:22確實 但省事

summer0881807/03 19:22我是不覺得他砍掉99%能重建回來啦 一個商業軟體少說

summer0881807/03 19:22數十甚至數百人在弄 中間一定有交接的部分 每個人cod

summer0881807/03 19:22ing style也不同 跟自己精心打造每個零件每個介面是

summer0881807/03 19:22完全不同的管理方式

reaturn07/03 19:23放心,客戶跟老闆會好好的「教育」你

rofellosx07/03 19:23...會覺得垃圾根本二流吧 那垃圾不知省多少時間

summer0881807/03 19:24我以前經理可以code review 完全不加新功能就跟你耗

summer0881807/03 19:24一個月 案子多的時候他就被火了 現實就是你龜毛的點

summer0881807/03 19:24很常不是客戶在乎的地方

rofellosx07/03 19:25那些你覺得臃腫程式就是巨人的肩膀

fade1107/03 19:25市場只需要五萬的工程師才是效率最大

sameber52007/03 19:26前人做的瑞士刀就確實堪用啊 從頭打新刀你要學做刀耶

ricestand07/03 19:29不能賺錢的才是垃圾

nakinight07/03 19:30數碼寶貝

wz7040307/03 19:31確實

gox111707/03 19:37你行你上

v226651407/03 19:39確實,但老闆願意給多少時間讓工程師重新造輪子?

thibw13ug107/03 19:39一堆人一看到用別人的輪子就說是技術債 覺得有問題你

thibw13ug107/03 19:39自己去重造一個更好的輪子給大家用阿?

thibw13ug107/03 19:39就這種底層的東西也被說成是技術債 到底是有什麼問題?

sunwit07/03 19:39抄來抄去在改成自己想要的.裡面一堆不需要的也懶的刪

lucky041707/03 19:39笑死,獨立開發有遇過多部門引用嗎,是開公司不是你自

lucky041707/03 19:39己玩欸

Axarz63107/03 19:41客戶的需求只要量產車就能搞定 你就不用自作聰明幫他搞

Axarz63107/03 19:41手工車 他也不會因此感謝你 以後別人接手也不一定會修

v226651407/03 19:42那位遊戲開發工程師要不要自己打造一個遊戲引擎?畢竟拿

v226651407/03 19:42別人的來用也不是全部method都會用到吧

randy06107/03 19:45無奈啊

jack020407/03 19:46微服務有其需求存在,但不適用在遊戲客戶端場景

pimday07/03 19:50笑了 舉c++來說 你現在要用一個map, std就幫你做好了,你

pimday07/03 19:50只需要其中幾個function ,難不成你還要花時間k一個只有你

pimday07/03 19:50專用但效率根本打不贏std::map的東西出來嗎?老闆第一個叫

pimday07/03 19:50你滾吧

randy06107/03 19:51因為一堆文組轉寫程式?

yoyun1012107/03 19:55商業產品就是講成本講效率的, 還在推給老闆不給錢給時

yoyun1012107/03 19:55間做蠢事的, 怎麼不先考慮自己願不願意花一百倍的錢買

shlee07/03 19:56跟文不文組哪有相關 自己獨立開發或自己寫爽的要

shlee07/03 19:56這樣弄當然沒差 現實是公司跟客戶哪來的時間給你

shlee07/03 19:56在那邊這樣玩 更別說大型專案是多人團隊合作 誰

shlee07/03 19:56有那心力陪你 這樣弄只是變相的在搞自己人而已

yoyun1012107/03 19:57功能一樣只有少吃一些空間的軟體

phix07/03 19:59都美工檔案吧

davidliudmc07/03 20:00多雲才會說文組寫程式的問題 去把文章看完再推文

kurtsgm07/03 20:03幹話

garlic123407/03 20:05現在的路寬到可以開現成坦克車,在那邊說自組一台腳踏

garlic123407/03 20:05車多省空間多美好,別人很難體會吧

tv123907/03 20:06確實 但是其實跟遊戲沒什麼關係XDDD

tv123907/03 20:07不過這時代的問題是,反正電腦很快跑得動,隨便寫就好

jackie080407/03 20:08確實

tv123907/03 20:08這種問題超級常見的 加上時程壓下來 垃圾code就一堆

yoyun1012107/03 20:10跟遊戲也不會沒關係啦, 遊戲開發就是時程成本壓最緊的

iscl607/03 20:10一堆智障不優化 只會加機器 怎麼解

hungayo07/03 20:10計劃性汰舊

ceremonial07/03 20:10大家都知道的事 可以自己又寫不出來 加減用

yoyun1012107/03 20:10價格一超過60鎂, 馬上一堆人發飆

tim224125707/03 20:10Unity包一個空的apk就12mb 問題是有多少公司敢棄用

tim224125707/03 20:11養人去做一個自己要的遊戲引擎

tv123907/03 20:11然後這引擎還要能輕鬆跨平台

Informatik07/03 20:11有一個經測試很圓的輪子 你還要自己造一個不知道耐不

Informatik07/03 20:11耐操的?

bh214207/03 20:11自己寫library裡有的功能才是浪費生命

yoyun1012107/03 20:12不要說遊戲引擎了, 現在最賺的手遊很多就只換皮而已

bh214207/03 20:13自己刻輪子不是說自己刻好就好了欸,要維護要測試什麼都

bh214207/03 20:13要,我平常也喜歡自己造,但這個人根本不懂軟體工程?

yoyun1012107/03 20:13花個十年寫新引擎, 拿個畫質效果落後十年的成品誰要買

tim224125707/03 20:14這也是為什麼這幾年雲端服務開始崛起 你拿顧機房人員

tim224125707/03 20:15不到一成薪水的錢 有專業公司幫你顧機房+資安

tim224125707/03 20:15為什麼還要自己建機房

tony2009507/03 20:16你自己造了個輪子可以動,不代表直接改裝到其他車子上

tony2009507/03 20:16都相容,人家肥大的輪子至少不會出錯

Axarz63107/03 20:16遊戲現在也往雲端化趨勢 再怎麼笨重也影響用戶端不大了

Cyuhsuan07/03 20:18確實

kurtsgm07/03 20:18效能跟容量根本不是問題 自己造輪子寫底層的除了浪費生命

kurtsgm07/03 20:18以外 最大的問題是你自己造的輪子沒有經過長時間的驗證跟

kurtsgm07/03 20:18測試 比起有成千上萬的開發者在使用的lib 有誰敢說自己的

kurtsgm07/03 20:18輪子更穩定更沒bug

Axarz63107/03 20:19對 那些都是人類智慧的結晶 經過千錘百鍊不斷進化的= =

kurtsgm07/03 20:23會說出這種幹話八成很難跟其他人合作或是很難在大公司生

kurtsgm07/03 20:23存 難怪是獨立工作者

tim224125707/03 20:24我連他是不是獨立開發者都很懷疑了 獨立開發者做東西

tim224125707/03 20:24都沒時間了 還有空去嫌東嫌西?

crorangeazy07/03 20:30確實 de 一個bug 跑十個出來

pikachu242107/03 20:31看他的獨立遊戲公司開發過12款遊戲了啊

orze0407/03 20:32不要重新發明輪子aka

chihyu72907/03 20:33節省開發時間更重要吧

yvonne1307/03 20:33不同意的大概沒寫多久程式或是本身就是製造垃圾程式的=

yvonne1307/03 20:33=

orze0407/03 20:33你全凝縮在一起,可用性和維護會更大災難

ianchen122307/03 20:36你行你上阿

orze0407/03 20:38這傢伙有沒有跟其他人合作溝通過啊

Bencrie07/03 20:39這種議題不意外地討論到最後就是互相鄙視而已 XD

orze0407/03 20:43自幹自爽 維護和後續要擴充會恨死這種人

twinmick07/03 20:44由儉入奢易,由奢入儉難 完畢。

Nixwell07/03 20:44應該可以改編一個我寫程式原則就是引用到爆的梗 程式碼怎

Nixwell07/03 20:44麼胖炸 我他媽怎麼知道

raphin07/03 20:48硬體進步的必然趨勢吧

saiboos07/03 20:53人類的結晶怎麼能說垃圾

jupei07/03 20:54新人都會嘴程式很多垃圾怎樣 但常常改到掛點

jaeomes07/03 20:57現在就拼速度 有寫好沒問題就直接拿來用 除非真的要開發

jaeomes07/03 20:57完全新的

shintz07/03 21:03wow改那個底層16格包就不知道耗了多久

vencil07/03 21:06開發的重點是賣產品賺錢,不是花很多時間在不能賺錢的地方

roy110001207/03 21:08很真實

ideal556607/03 21:15問題是你要確保接你工作的人是否有同樣的能力維護

w2810356607/03 21:24之前就有人優化gta5開啟速度太慢,原來是跑了幾億次迴

w2810356607/03 21:24圈,優化後被官方採用還給他獎金

rltc07/03 21:26真的說到我心坎裡…

aegis12332107/03 21:30這篇文就第一個例子比較差而已 有些人急著嘴人菜 二

aegis12332107/03 21:30流 沒跟人合作過XD 作者就是自己刻引擎的geek啊

hollen907/03 21:35通篇舉例都是在講編譯後的大小 完全不是現今優化重點

hollen907/03 21:35GTA5和傲嬌模擬器的經典負面教材 都是CPU GPU的負優化

hollen907/03 21:35和大小沒關 也是影響最大的

orze0407/03 21:35gta5那個是一個迴圈能搞定的事情用到雙層迴圈

orze0407/03 21:36這已經不是軟體開發問題了

hollen907/03 21:37傲嬌模擬器component沒有precache, 很多高成本的都放在

hollen907/03 21:37每個tick (update() 去跑才會悲劇

hollen907/03 21:39gta5不光迴圈 還有不懂得利用hashmap 而是大量if else

hollen907/03 21:40這些才是真正最糟糕的 編譯後去計較40mb 80mb意義不大

kurtsgm07/03 21:41GTA5應該不是用lib或是自己刻輪子的問題了

greg9032607/03 21:42軟體業的鄙視鍊在這串表露無遺

kurtsgm07/03 21:42又或者如樓上幾樓所說 是工程師本身coding能力的問題 如

kurtsgm07/03 21:42果是這樣等級的工程師 那自己造輪子就更加悲劇 不如用lib

kurtsgm07/03 21:43其實這年代早就不是自幹的年代了 如果有在看open source

greg9032607/03 21:43我是覺得爛的工程師乖乖用別人的輪子沒問題 但是等老到

greg9032607/03 21:44一定程度的時候 都該有個自己造超屌輪子的夢想

kurtsgm07/03 21:44的一些熱門專案/framework/library 很多都是幾百甚至上千

kurtsgm07/03 21:44contributor 更不用講回報bug的user有多少

kurtsgm07/03 21:44單人自幹就算你是天才也有極限

kurtsgm07/03 21:46還是那句話 最重要的是你的輪子有多少人幫你驗證過

orze0407/03 21:49GTA那問題有點類似比較兩個物件陣列重複元素,暴力法O(n^

orze0407/03 21:492),hashmap O(n).。 遊戲初始n還很小還覺得無所謂,到面

orze0407/03 21:49後遊戲內容一多就爆炸了。

ffrank02tw07/03 21:50買4個輪子,卻送來一整台車的概念。

greg9032607/03 21:53對 這篇文章其實比較像是在講你只需要一顆輪胎 卻把車

greg9032607/03 21:53商的所有車都買了的概念

ddIvan07/03 22:03用套的快很多啊 誰那麼努力寫底層

dsfrf07/03 22:05https://i.imgur.com/mVwLyv8.jpeg 笑死,要不是別家手遊公

圖https://i.imgur.com/mVwLyv8.jpeg?e=1666658030&s=tj-5VbAcKH4SnoI4-5jzvQ, 遊戲開發者抱怨現在程式碼誇張膨脹「可能有99%的內容都是垃

dsfrf07/03 22:05司太爛我為啥要當米衛兵。

cn556607/03 22:07重點是在開發的效率 不是在執行的效率啊 這是商業行為

cn556607/03 22:08所以這年頭大家才盡可能地做開源 你想要改掉人家的legacy

cn556607/03 22:08你就clone下來自己改最快了

cn556607/03 22:09但實際上摩爾定律還活著 你花時間去改絕對不會有意義的

justice092607/03 22:11確實 一堆RD喊不懂底層 真的頗呵 寫出來就是一堆垃圾

justice092607/03 22:12然後系統慢怪作業系統 怪硬體 呵呵

donkilu07/03 22:15不用dll要造輪子造到什麼時候 公司要release

orze0407/03 22:23不用dll,功能全都自己刻,很精簡很好看沒錯啦

orze0407/03 22:24開發時程慢,擴充和維護搞死人

kurtsgm07/03 22:25XD 不是啊 這篇留言有些論點不覺得很矛盾嗎? 「這些RD就

kurtsgm07/03 22:26是爛,只會call人家寫好的lib,為啥不自己寫底層」

kurtsgm07/03 22:26啊RD爛你還叫他自己刻輪子 不怕翻車?

kurtsgm07/03 22:26框架/lib沒辦法提高code的上限 但可以很有效的提升下限

kurtsgm07/03 22:28永遠有更聰明的人可以幹出比lib更好的輪子 但99%的RD自幹

kurtsgm07/03 22:28出來的東西不會比人家弄好千錘百鍊的東西更穩定

kurtsgm07/03 22:30你各位如果期望手上玩到的遊戲都是那1%的天才寫出來的 那

kurtsgm07/03 22:31可能要多等一倍的時間加上多一倍的新台幣

kurtsgm07/03 22:31相較之下我是不介意硬碟空間多個三倍五倍啦....

blackstyles07/03 22:33有差嗎 它也確實能動就好了 你看看python不就這樣壯

blackstyles07/03 22:33大嗎

donkilu07/03 22:41Linux當初也是能動就樂勝GNU Mach

donkilu07/03 22:41等到輪子造好 市場早就拱手讓人了

DongRaeGu07/03 23:17DLL不就模組化概念嗎 一個壞掉馬上就能知道問題在哪

louis79102107/03 23:18真的 終於有人提出來

rkl07/03 23:24大型軟體鄙視鏈現場

lacoste111307/03 23:40達人跟社畜的思考方式本來就不同

gary82gary07/03 23:50容量又不是主要考量的點,穩定可運行最重要,運行效率

gary82gary07/03 23:50其次,容量更是沒差。程式一直崩潰閃退;載入優化前花

gary82gary07/03 23:50十分鐘但優化後可變一分鐘;容量上百G優化後變10G,自

gary82gary07/03 23:50己想看看重要不就很清楚了

TobyH4cker07/04 00:10確實coder氾濫卻沒什麼programmer

jack7013407/04 00:12確實 但你能怎麼改變?

logic88607/04 00:18只會說嘴,付錢優化啊

kr8018807/04 00:29以前就是都在自幹才會程式一堆bug 又容易掛掉呀

adwn07/04 00:35

sses4071307/04 00:47確實

hooll11107/04 01:29大公司開發的產品系統架構要有彈性阿 通通寫死當然可以

hooll11107/04 01:29很小但不易擴充阿 不過架構怎麼寫都是case by case啦沒

hooll11107/04 01:29有一定

chenyuassa07/04 01:41笑死 這是真的

tim520131407/04 02:06錢 屁話

nalthax07/04 02:11正常啊,WINDOWS 的更新也是這樣

nalthax07/04 02:14行政程序也差不多是類似的設計

lovingyou07/04 03:06工程師花一堆時間精簡了程式碼會加薪嗎?

lovesao07/04 04:02二八法則同樣適用

ageminis07/04 04:12讓我想到 photoshop 早期用 HDD 跑到現在用 SSD 跑開啟

ageminis07/04 04:12都一定要等快十秒

miha8042507/04 07:02雀食 問題我是程式逃兵 現在逍遙自在

paimin07/04 07:08為了快那不到半秒的時間重寫一個 到底是高效率還是低效率

sweetsmoke07/04 07:32幹誰要寫底層,老人臭語言

gekisen07/04 07:47我連dll都要看半天了還去寫lib 有人也還沒出來腦子要先溢

gekisen07/04 07:47血了

leo12516090907/04 09:03啊就拿多少錢辦多少事啊

jim92421107/04 09:37現實中在一堆人輪流接手狀態下,重寫根本不可能

jim92421107/04 09:37要花的心力遠大於效力,把問題推給用戶端讓他們用

jim92421107/04 09:37自己的設備客服就好

kkboy07/04 09:55因為這樣最省時

hh123yaya07/04 10:05確實 但是調整成本過高 效益又很差 最後就是繼續放在那

hasroten07/04 10:09https://i.imgur.com/PorDHfw.jpg

圖https://i.imgur.com/PorDHfw.jpg?e=1666688338&s=sLrKwZ0gEpXKtTtimo-QDQ, 遊戲開發者抱怨現在程式碼誇張膨脹「可能有99%的內容都是垃

Oville07/04 10:44有函式庫了 除非很追求執行效率,還要自己造輪子嗎

zxcasdjason107/04 10:47這完全是菜鳥發言

zxcasdjason107/04 10:52遵循框架是為了統一開發語言降低溝通成本,功能與

zxcasdjason107/04 10:52安全是需求,別混為一談,而需求會決定採用什麼框

zxcasdjason107/04 10:52架來解決問題,獨立開發者我好棒,我能寫高效代碼

zxcasdjason107/04 10:52但別人看不懂的思維,才是一直重造輪子的原因

easych07/04 11:35大家都會抱怨動態連結垃圾庫,就算放手也沒人願意改XD

notinservice07/04 13:21確實

oyaji556607/05 12:581開發時間,2測試問題

oyaji556607/05 13:00你用現成的庫既省時間而且測試人員也不用再重新驗證