精華區beta Programming 關於我們 聯絡資訊
※ 引述《HZYSoft.bbs@ptt.cc (PCMan 2004)》之銘言: > gtk+ & qt 都有類似的問題,而他們所寫的軟體目前佔桌面程式的大部分 > 拿這些來比較並不會太過分 商用的並沒佔大部分, 商用的 > : 寫 winxx game 不用 directx 你能用啥? > OpenGL,你上面不是說了嗎? SDL 也可以用 opengl 只是 3d, 其它部份還是要 directx > 還有其他強大的 知名lib,當然某些 lib 底層可能還是要 DirectX > 但是對於 game developer 來說,你說的問題可以減低不少 game 都是 binary, 用這些不夠方便 我說的是在賣的 game, windoze game 有用啥強大的 知名lib 減低問題嗎? windoze game 只好自備 directx 一包, 不小心還把你中文 directx 蓋成英文 或者把你系統給降版 > : 一些新 driver 沒 directx 也不能用, WDM 被拿掉囉 > : M$ 封閉平臺逼你用新規格, IDE 把舊東西取消, 就是綁死你 > : IE 連 html 都有版本相容問題, 新舊 IE jscript 都可以互不相容 > : mozilla 延用 netscape 的 plugin 也比 IE 的 activex 變化少 > 我跟你說的不是這個,沒有打算筆戰,跟你保證你自己寫過一次就知道了。 > 你要不要試試看 netscape 上不上得了 mozilla extension 我用 mozilla 寫過整套 kiosk, 還修過 mozilla 中文 bug netscape 怎麼可能未卜先知支援 mozilla extension > 這樣的比較跟我本來的用意差滿多的,總之您自己寫過一次就會了解 > : 很多都是為了 i18n 字型, encoding... > 這點我可不敢講,因為遇過幾次當機原因不明,而那和 i18n 似乎沒有關係 只 tw build 掛的話明顯 i18n 當機是 bug 不是 api 改規格的話不算大問題, 新版總會修得了 > Windows NT 系列的應該可以,檔名是 unicode vfat 只能用 big5, 除非舊 data 不要了, 也不想讓舊 windoze 讀 ntfs 更慘, 不同版 windoze 不能共用 > 我所謂的不能執行很多都不是 encoding 造成的 只要也不是改規格造成的就不是大問題 > : 會莫名的當掉或關閉視窗時 access violation 不算向下相容 > : 拿來賣的商用 application 可以出現這些嗎? > 大部分是 developer 自己的問題,access violation 很少是 OS 自己的問題 在 windoze 下就是 OS 自己的問題 我 trace 的結果就是因為 event 產生的 window message 的先後不同 光是 window minimize, close 在 2000,xp 就很明顯不同 所以很多程式在舊的 win9x 沒問題, 新的就在 window close access violation 源於此 這就叫亂改規格 > 不要跟我說 Linux 上的程式都不會 access violation,那就是睜眼說瞎話 > : X11 從沒這種鳥事 > 誰說沒有,X11 的鳥事也滿多的,去看一下 bug 的紀錄就可以證明 > X11 死當或者 segmentation fault 小弟不巧全部都碰過,而且是預設安裝 這是 bug 不是規格就都是能修的 X11 is protocol, glx 也是, 所以不只是向下相容, 還跨機相容 > 根本還沒動過任何東西的時候。 您這樣的比較也很奇怪,拿 OS 比應用程式 > X11 只有相當於 Windows gdi32.dll + user32.dll的部份。 > 請不要把 X11 神化了。 只有 windoze 才搞 kernel/gui, application/driver 不分, 這些 dll 是算 application or kernel? driver 也會去和 application 用到同個 dll > : 無法安心重用舊 code, 重用性==0 > 無法安心重用很正常吧,本來就沒有任何平台敢保證這種事情 那整天搞重寫就好了, 那還有空做新東西 只要是平臺就該保證這種事情, 至少要明確保留一些 api 當然規格也要非常明確, 這些 M$ 都沒有 > 重用性 = 0 請問那一大堆別人包好的 library 都是垃圾嗎? > : 寫程式還要配一堆實測人員就是成本 > 貴公司的程式都沒有實測人員嗎? > Open source 程式比較能仰賴社群的測試,Propriatary 又是另一種狀況 > 本來測試就是程式開發必須的部份,用什麼平台都一樣 你大概以為實測萬能? 實測測不出的 bug 超多, 一個東西用法只有幾種嗎? 花人力的該是每個 part 的 spec conformance, model simulation 全靠實測代表東西太爛, 玩一玩就出事 > 問題大多數是出在 developer 自己本來就沒寫好,不必急著全部牽拖到開發平台 > : pcc* 不就吃過 xp sp1 的大虧, > : 賣 winxx application 得準備 n 種版本的 winxx 在 n 種 pc 跑來測 > : 安裝時 dll 檔有 n 種可能版本組合, n>50 > 這個問題可以用 windows xp 的 assembly 解決 > 而這是傳統老 Windows 的問題,到了 .net 狀況應該會有所不同 > 拿過去的缺點來說未來的 Windows 不好用,有點沒說服力 > : static link 的 linux application 只要在 2.4/2.6 跑一下就知道了 > App 並不是有 kernel 就會跑,而你不可能 static link 所有東西 > : 比 unix 間 porting 難多了 > 如果你用別人包好的 lib 事實上不會,何況還有 Cygwin X11? GLX? motif? 花大錢是買得到 solution, linux 下也有花錢的 directx > : static link 會消除這種問題, winxx static link 還是無法避開運作不同 > 你並不可能全部 static link,不信可以自己試試看。 > : 完全不變當然很難, 但是 posix api 定得比 win32 實用且精簡是事實 > Windows API 如果真的像你罵的這樣不值,很難解釋為何用它寫出來的 App > 還有這麼多。 很多的不精簡是為了向下相容,有些東西不實用是真的 > 但這樣的比較仍然不合理,這是設計哲學的不同,它包了所有東西進去 > Linux 下你得裝一堆 lib 才能涵蓋 Win32 API 提供的功能。 > 更不要說是 .net 了。 我不覺得 Windows 上開發好用,也不覺得 Linux 難用 你的 win32 api 是把 IE, mediaplayer, vbrun, mfc 算進去嗎? IE, mediaplayer 也綁版本的 > 只是單純的就個人開發經驗認為,多考慮一些因素後差距並沒有這麼極端。 -- ┌─────KKCITY─────┐  線上音樂新震撼   bbs.kkcity.com.tw ^_^ / 隨選隨播免等待 KKBOX ^_^ / └──From:59.120.53.7 ──┘   http://www.kkbox.com.tw   --