看板 Soft_Job 關於我們 聯絡資訊
※ 引述《TonyQ (沉默是金。)》之銘言: : ※ 引述《HYL (@EVERYWHERE)》之銘言: : : → sayya2311:不要做過多假設..假設自己還比能系統考慮得更多? 假設 05/25 00:01 : : → sayya2311:程式還不夠完美? 假設loading只是定量? 也許你們還有更 05/25 00:01 : : → sayya2311:多想像, 但再多假設也不會比"沒有任何假設"更真實. 05/25 00:02 : 身為一個 framework 開發者, : 我會說沒有人寫程式是沒有任何假設的。 : 事實上我們討論議題本來就是基於各種合理的假設去進行討論, : ex.討論 Java App 時大概都會假設這不是 fps game , : 討論 web 時假設 user 會concurrent多人, : 加上mutliple servlet thread access。 : 即使是寫程式也會考慮到之後走哪條路線比較快, : 舉例來講,用 max heap 實作 A* 就比用List實作 A* 快上很多倍。 : 很多假設根本就是在因為自己覺得太過合理的情況下被忽略掉了, : 只准自己假設 gc 之後只能等著噴 outofmemory , : 不准別人假設程式還有優化空間,那還有什麼好討論的。 : (有時候也不見得是優化,是拿時間換記憶體降低,像是改檔案io access。) : 真實的程度是你假設的條件有多貼近事實, : 有假設你更有機會逼近事實, : 沒假設一輩子你都停在原地不用前進。 : 通常這是種猜,但是填空題你不自己填上去, : 留白看起來好像很真實,但事實上一點進展也沒有。 : 幾乎沒有程式背後是不隱含的假設的, : 除非你視而不見。 預測比假設更好, 因為太出於自想像的的假設, 不會進入預測時考慮的範圍 在某個時間點, 程式設計師該有能力預測接下來的災難, 我認為是很正常的 而對於, GC卻無效果, 接下來會Out of memory這件事, 也是的預測沒錯 因為一個人能預測多少東西, 取決於他對現況能掌握多少 視野不同或是視而不見, 也許你認為我是後者, 我沒啥異議 但我知道VM的能耐, 說真的大部份對於GC的考量都是最佳化用, 不是救命用 也知道眾多如Scala新語言等發展的趨勢, 舉個例來說, 以stateless取得高度平行的能力 如果對於string連接, new太多物件等情形讓人忍不住假設? 那看到Scala的var與list運算會讓人更嚇一跳.. 也許吧, 你們仍可繼續假設更多的東西, 說我錯得更多 我還是只能說, 那不一定會在我的考慮範圍.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.8.134
GALINE:如果預測內容是「不手動呼叫GC就一定會OOM」,這就太悲觀了 05/25 08:47
GALINE:例如說,記憶體大小、實際物件的產生量、系統 Loading 都不 05/25 08:50
GALINE:清楚的話,這樣的預測其實不見得會成立 05/25 08:51
GALINE:而且過量呼叫 GC 反而拖慢系統的例子也是不少 05/25 08:52
TonyQ:所以有些人基於這些假設不會去選擇你說的這些動態語言啊 05/25 09:11
TonyQ:沒人說你錯,你可以發表你的意見,只是其他人的意見不一定跟 05/25 09:11
TonyQ:你一樣。沒有人是「對」的。至少目前還沒有。 05/25 09:11
TonyQ:只有能不能認同的差異。 05/25 09:11
TonyQ:你可以提出假設不符現實的可能性,讓觀看者去決定他們要 05/25 09:12
TonyQ:相信哪些假設。比方說銀行板就有個經典例子,國外刷卡若不考 05/25 09:12
TonyQ:慮匯差,是否手續費其實沒有比較貴。這個假設就被打爆了, 05/25 09:13
TonyQ:事實上你幾乎不可能不考慮匯差。 05/25 09:13
TonyQ:或者是提出你認為更合理的幾組可能假設,這樣才是對討論有幫 05/25 09:14
TonyQ:助的。事實上寫程式你大可以假設程式沒有問題,演算法有考慮 05/25 09:15
TonyQ:到但也還是碰到OOM的情況,這也是一種假設。 05/25 09:15
TonyQ:問題是哪種狀況比較多,是大家比較關注的議題而已。 05/25 09:15
iincho:有人可以解釋一下他想表達甚麼嗎...? 05/25 09:38
sayya2311:有型別推論不等於動態, 基本上在compile後, Scala==Java 05/25 10:57
sayya2311:否則舉它當例子就沒意義. 05/25 10:58
sayya2311:ok,我假設程式沒有問題,演算法有考慮,如果你看待這是有 05/25 10:59
sayya2311:需要的假設而不只是烏賊的煙霧的話. 05/25 10:59
ripeSelf:「預測」和「假設」,真的不同嗎? 別玩文字遊戲吧,卻 05/25 12:08
sayya2311:樓上相信氣象預測還是氣象假設? 05/25 12:25
andymai:寫程式時要"假設"是沒錯~但也要"合理的假設"~例如明明只有 05/25 12:26
andymai:幾十個人在用的封閉系統~寫的時候卻要假設它有上萬個使用 05/25 12:26
andymai:者?我記得最經典的是:為了防使用者砍錯檔案造成程式不能執 05/25 12:28
choufeng:..我怎麼覺得到這篇變成有點在玩文字遊戲了.. 05/25 12:28
andymai:行~所以要在程式執行前自動修復→這真的有必要嗎? 05/25 12:29
choufeng:預測...假設...如果...預知...假如...萬一... 05/25 12:29
andymai:不合理的假設~只是累死自己罷了... 05/25 12:30
choufeng:把本篇有"預測"的字眼 換成"假設" 好像是一樣意思 05/25 12:32
choufeng:還是不太懂原PO要表達的 05/25 12:32
sayya2311:樓上,回到前二篇,把你寫過的假設代換成預測,看一不一樣? 05/25 12:35
choufeng:啊?我沒寫過假設的文呀? 05/25 12:43
Lordaeron:玩文字遊戲,我也愛玩, 預測可以是無根據的,例如511 05/25 12:44
Lordaeron:假設,也可以是有根據的,例如假設未來系統的loading 05/25 12:44
Lordaeron:例如系統假設是以1億連線/instance 為設計目標. 05/25 12:45
sayya2311:從開討論串以來, 從沒有過嚴謹的要求(建立程式與演算法 05/25 13:01
sayya2311:無問題的前提),與最模擬兩可的態度同時在這兩篇.(預測與 05/25 13:02
sayya2311:假設的語意可混淆), 如果不能取舍其中一種,說再多也不會 05/25 13:02
sayya2311:有結論. 05/25 13:02
Lordaeron:哈.....開發系統,從來都是按照某目標去做,頂多叫假設 05/25 13:04
Lordaeron:你系統都未寫好,真實的user 都還未用, 哪來預測? 05/25 13:05
Lordaeron:所以, 我用"預設" 05/25 13:06
sayya2311:從辯預測out of memory辯到系統開發? 05/25 13:07
Lordaeron:你也無法預測outofmemory啊, 你這等本事?比java之父還神 05/25 13:08
sayya2311:outofmemory的時機是寫在文件上的,任何人皆可看它來預測 05/25 13:14
Lordaeron:哪你一定比java 之父還神了, 強. 05/25 13:15
Lordaeron:想問一下,它的時機寫在哪裏啊?它上面寫了什麼? 05/25 13:25
sayya2311:嗯..樓上突然也想變得比java之父還神? 05/25 14:23
ledia:他只是想知道寫在哪裡, 寫了些什麼吧~ XD 05/25 14:30
Lordaeron:因為我想知道看了什麼才可以變神,我可不想吃三柱香或 05/25 14:51
Lordaeron:阿里路呀 05/25 14:52
choufeng:out of memory 的時機會寫在文件? 那我也要來請益一下了 05/25 15:33
choufeng:要如何得到這樣的資訊~ 05/25 15:34
sayya2311:樓上如果是認真的, 那我可以告訢你VM判斷Out of Memory 05/25 17:19
sayya2311:Exception丟不丟, 的確完全取決於GC進行的成果如何,剩下 05/25 17:20
sayya2311:的請自己google. 如果是想搗亂的? 那也許請樓樓上幫忙要 05/25 17:20
sayya2311:一下Java之父的電話, 他的祕密還是讓他老人家自己公佈. 05/25 17:21
Lordaeron:我從java 1.0用到現在,都還未見過out of memory 05/25 18:15
Lordaeron:exception, 所以我確定沒你強 05/25 18:16
Lordaeron:只得請你幫個忙 05/25 18:16
choufeng:我認真的啊! 怎麼這麼說~我想多學點東西~ 05/25 18:16
Lordaeron:還有重點,james gosling 講過,他不知道,他無法預測 05/25 18:26
Lordaeron:http://www.artima.com/intv/gosling22.html 原文在這 05/25 18:26
Lordaeron:但你老兄可以, 當然要問你囉, 不然去問誰呢 05/25 18:27
sayya2311:The Realtime Specification for Java? 05/25 19:10
sayya2311:樓上的,你有看過文件嗎? 讀懂嗎? 05/25 19:10
sayya2311:請你看看就知囉. 05/25 19:11
Lordaeron:哦, 你用JDK的跟我們用的JDK不一樣?請問成品在哪? 05/25 21:11
Lordaeron:繼續.... 05/25 21:12
sayya2311:本來期待會回:什麼跟什麼?... 05/25 21:18
Lordaeron:我才期待呢,結果給個spec 我幹嘛,我又不寫JDK 05/25 21:19
Lordaeron:更別說,你還是沒回,哪一套jdk有support 你講的東西 05/25 21:19
Lordaeron:你比james gosling強的人呢, 快給出來吧,別扯了 05/25 21:20
sayya2311:樓上啊,那標題是你給我的?不是我給你的啊?james Gosling 05/25 21:32
sayya2311:訪談的副標題啊.. 05/25 21:32
Lordaeron:-_-"真能扯呢,我還在等你講寫在哪告訴你如何預測 05/25 21:45
Lordaeron:gc 發生呢, 你去扯副標幹嘛? 他就講了他無法預測了 05/25 21:46
Lordaeron:而你可以, 哪我當然要問你啊. 你本事比較大呢 05/25 21:46
Lordaeron:快講在哪份文件, 寫在哪吧. 另外java.lang.outofmemory 05/25 21:47
Lordaeron:只有error沒exception,我看到1.6 的文件了,也沒看到 05/25 21:47
Lordaeron:如果你有空, 也順便講一講在哪吧. 但沒空也沒關係 05/25 21:48
Lordaeron:主要還是想知道如何可以這麼神. 05/25 21:48
sayya2311:他的意思並不是你以為的, 不過奇妙的是, 原本熱烈的眾人 05/25 22:44
sayya2311:看見這卻突然靜悄俏了, 看樣子我的智力人氣都不如你啊, 05/25 22:45
sayya2311:怎麼鬥下去啊? 如果有人敢接棒就交給他接棒, 如果沒人 05/25 22:45
sayya2311:接棒你就當我在虎爛好囉. 05/25 22:46
TonyQ:你要人看文件,我也想知道你所謂的文件在哪。 05/25 22:52
TonyQ:不然你倒是說說它的意見是怎樣,不要只給反對意見而不解釋。 05/25 22:54
TonyQ:沒人氣我個人是認為沒有任何具體內容可以討論的影響因素比較 05/25 22:54
TonyQ:大,畢竟從實務技術瞬間跳到玄學領域,是跳的有點遠。 05/25 22:54
Lordaeron:不然是什麼? non-determinism 這個詞你懂嗎? 05/25 23:08
Lordaeron:我也沒人氣啊,是你人氣好啊,不然怎麼這麼多人想知道 05/25 23:09
Lordaeron:你口中的文件是哪一個, 寫在哪. 05/25 23:09
Lordaeron:更別說outofmemory exception了,我1.0寫到現在,都沒見過 05/25 23:09
choufeng:...不是吧! 我都跟你說我是認真的 結果你現在不打算講 05/25 23:10
Lordaeron:JDK 的document 有寫. 還望指正呢 05/25 23:10
choufeng:不要鬧了 快給點資訊吧! 我們都很好學的~趕快!認真點!!! 05/25 23:10