精華區beta Programming 關於我們 聯絡資訊
※ 引述《tinlans.bbs@whshs.cs.nccu.edu.tw (汀)》之銘言: : ※ 引述《Anshley@bbs.ee.ntu.edu.tw (戀妳終身永不悔)》之銘言: : > Java推出好幾年了 : > 開發.Net用的程式(C#, VB.net, C++.net) : > 我在網路上倒還沒聽說有人嫌他不夠快 : > 就速度而言.Net強過Java太多了 : 這樣說讓我有一些疑問, : 因為 .NET 大多數還是在 MS Windows 上在 run, : 而 Java 程式還是都在 MS Windows 上 run, : 這是因為 MS Windows 的用戶相當普及(因而影響人數統計), : 直覺上自家的 OS 搭自家的 framework 本來就有主場優勢, : 不知道是不是有 Java 跟 .NET 都不在自家生產的 OS 上 run 出來的數據比較? 如果是 GUI, 二家明顯就是導向不同, MS 是把 .net framework 的 gui 對應到作業系統所提供的 ui, 這樣的 performance 自然比較好, Java 則是強調跨平台, swing 是強調 light-weight-component, light 指的是不透過 system-call, 不用 os 的, 所有 ui 的自己畫, 所以, swing 跨平台, 會比 .net framework 容易很多, 也有彈性很多, 幾乎 ui 都可以自己客製化. (分為 component 跟 ui-delegate, component 負責的是 mvc 裏的 model ui-delegate 是 mvc 裏的 view-control) 當初 MS 也有在 java 這樣玩 (提供直接使用 windows control 的 gui), 也因此被 sun 告, 而停留在 jdk1.0. (swing 是 jdk 1.1 開始弄的) net framework 做法, performance 好. 彈性不佳 因為 OS 提供什麼, 就用什麼, 客製化能力不好. 低層 runtime 跨平台不好提供, 例如一個 treecontrol, 那麼就要該平台(x-window,macos)要提供一個 treecontrol 的元件, .net framework 才能用, 而不同平台的 tree 元件功能又不一樣, 一樣有跨平台的問題. (不過, 也可以用 swing 的方式去做出那些 component, 那就沒有 performance 的優點,而仍然有彈性不佳的缺點) 總之, 微軟是站在如何強化自己的產品, Sun 是佔在如何跨平台, 也就是要消弱MS的優勢... 我還是喜歡 MS 做法, 就算不能完全跨平台 (因為各系統元件不一, 而有所差別,需要 ifdef之類的), 我是覺得還能忍受. 為了完全跨平台, 而 performance 變太差, 這就是我放棄 swing 的原因之一... 最好有 MS 的做法, 而且能提供 MVC 的客製化... -- ※ Origin: 鳥窩 (BirdNest.twbbs.org) ◆ From: 249.123.217.203.static.tcol.com.tw