1 回答

TA貢獻1828條經驗 獲得超6個贊
寸有所短,尺有所長。各個語言都有各自的特色和不足,不可以好/壞來評價。應該以自己需求來選擇最合適的編程語言。
1、 效率方面:C++注重運行效率,如果對實時性有較高要求,首選C++/C語言。C#寫成的代碼,都是先被編譯成中間語言(IL,Intermediate Language,在運行時,再由即時編譯器(JIT,Just-In-Time)編譯成本機代碼,所以實時性上少欠一籌。
2、依賴性:C++可以生成native(本地代碼),不用依賴于.net framework;C#需要相應版本的.net framework支持。
3、可移植性:采用標準C++編寫的代碼(或使用QT編寫的代碼)可移植性還是比較強的;采用C#編寫的程序目前基本上只能運行于windows系統上,linux平臺上有個mono項目用于將C#遷移到linux平臺使用,但是目前該項目還有很長的路要走。
4、易用性:C++從C語言過渡而來,對C語言保持了最大的兼容性,熟悉C語言的用戶很容易上手,但是也因為這一原因,使C++不是一個純粹的面向對象的語言。而C#則是一個徹底的面向對象語言。C++中最特色的部分就是指針,但是現在普遍認為應該適度使用指針,因為它太容易出問題了,C++中可以設置全局變量;C#很少使用指針(還存在,在非安全代碼中仍使用),沒有全局變量。C++中程序員要自行處理對象的析構,容易出錯;C#有垃圾回收機制(從java借鑒過來的,其實還有很多東西都像是從java學來的),程序員不用再過分擔憂對象的析構了,一切交給系統來處理。初學者C#更容易上手。
5、數據庫:大多數數據庫軟件都為二者提供了相應的訪問接口,相對而言C#更容易使用。
6、網頁編程:很明顯,C#在Web編程上更現代,更靈活,更易用。
7、并行編程:例如nVidia的CUDA并行計算架構只對C++提供了支持,盡管有第三方提供了面向C#的接口,還是使用C++更方便一些。
- 1 回答
- 0 關注
- 1282 瀏覽
添加回答
舉報