※ 引述《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)