精華區beta Programming 關於我們 聯絡資訊
※ 引述《apia.bbs@bbs.ee.nthu.edu.tw (Orz)》之銘言: : 你是我看過唯一說真話的人, : 這年頭大家都只站在自己立場說話,非我類就批評。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 你自己還不是一樣? 大家都是站在自己的立場說話,「唯一說真話」這就是你的立場, 你可以批評別人,但沒資格要別人不要批評。 有幾分事實就講幾分,誇張自己立場的優點,或故意(或不了解而) 忽略非己立場的優點,你這叫「本位主義」。 : 我的看法是: .NET 架構相當不錯,也簡潔,Java 則因為有過去的緣故,多些束縛。 : Windows 若能順利的 .NET 化,並且跨平台方面也著力下去,則非常有機會 : 成為新的共通平台共主。 : 以 C# 來說,開發起來非常順手,Visual Studio.NET 很好用,而且免費。 : 執行速度非常快,有時候跟 C/C++ 不相上下,這應該是最佳化以及 IL 做得好之故。 : 另外,Linux/Unix 上的 Mono 計畫也令人激賞,先不論 Form 的部份, : mono 相容性非常高,MS Windows 上的 C# 程式可以直接用 mono 編譯與執行, : 不過,執行速度大約為 MS C# compiler 編譯出來的 1/2 到 2/3。 說 C# 能快到哪裏去,根本沒啥意義。 虛擬碼的確有可能比原生碼快,但那只是「有時候」。只是這「有時候」 發生的機率因人因環境因專案性質而異,故意找一些例子證明 C#「有時 候」比 C/C++ 快實在是很無聊的事,你什麼時候見過 C/C++ 需要花力氣 證明自己的「快」? 程式執行的時間主要是消耗在 run-time library 及 OS 核心中斷處理的 函式方面,所以一般應用程式,用什麼語言寫,差距不會太大,大多時候 也不是很重要。 基於 C# 語言本身的特性,它就不適合寫系統程式,你不可能用 C# 來寫 .NET 驅動程式,也不能用 C# 來寫 C# 編譯器,至少現在不行(C++/CLI 還有可能),還有太多太多的例子,是 C# 效率不堪用的,當這些「有時 候」發生時,你還是得求助 C/C++ 甚至 ASM。不能因為「有時候」很少 發生在你身上,就閉著眼說 C# 「執行速度非常快,有時候跟 C/C++ 不 相上下」,這種話很容易誤導。 (我也可以閉著眼說,「有時候」我用 C# 寫了一支程式,結果「執行速 度龜到不行,完全無法忍受,比 VB 還慢得多」。但這種話有何意義?) 至於開發順不順手,用慣了就好了。很多領域傾向用的是成熟的技術,而 非嶄新的技術。該用什麼、適合用什麼就去學去用,太斤斤計較能否大小 通吃,結果往往是什麼都吃不到。 我個人的看法,如目前 Win32 就夠用,那就好好用,不見得要立刻轉換。 當然,Java 很好,.NET 也很好,很先進,有需要或有興趣就去學,但沒 有必要丟掉舊的或除此之外不再接觸其他的東西,畢竟 MS 老是想將用戶 綁死在 MS 平台上的種種手段,實在令人不敢恭維。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.214.120 ※ 編輯: cppOrz 來自: 59.120.214.120 (09/16 22:35)