C++、Java/C#之比較 (轉)
一、關於跨平臺問題。
這點我未深入研空,只談談我的感覺,我感覺/的跨平臺實際上是個比較巧妙的騙局。因為它們的跨平臺性還是要某個廠家或廠家聯盟的支援,這種平臺不過是透過在不同的“硬平臺”基礎之上設定一個介面統一的“軟平臺”,這梓表面上是跨越了“硬平臺”,實際“軟平臺”的限制仍是無法跨越的;或若廠家未生產某一“硬平臺”的“軟平臺”那這個“硬平臺”你還上跨不上去的。真正的跨平臺技術是互聯上的“htm/”,這是目前任何廠家無法據為己有而又不得不遵守的標準。
二、關於指標問題。
C#/Java 借鑑了C++,但去掉了C++的雙刃劍——指標(當然不是完全去掉,在某種形式下還是可以用的,或者在使用時受到了比較大的限制)。於是關於C#/Java、C++的優劣問題往往圍繞著指標展開,“用C#/Java,還是用C++”對於許多C/C++員來說,就象哈姆雷特的“是生存,還是死亡”讓人躊躇徘徊。其實指標的使用與否,其本質就是的分配、訪問與釋放權由誰掌握的問題。
使用指標,由程式設計師根據需要分配、訪問記憶體,程式執行時動作明確直接沒有額外的處理步驟,程式的就高,但若程式設計師忘了釋放記憶體或釋放記憶體的策略不夠周全,就會產生不可預知的問題,而且這種問題往往是比較嚴重。
不使用指標,並不意味著記憶體的分配、訪問與釋放不須處理,只不過是這些工作由生成的通用“記憶體管理器”完成了,因此程式執行時,必須增加額外的記憶體管理動作,所以執行效率相對上種方式而言有所下降。由於“記憶體管理器”的運作是基於業內專業人士制定的比較完善記憶體管理機制,因而程度較高。但實際上,由於記憶體的分配、訪問、使用、釋放的情況比較複雜,這種安全性並不是100%的。也就是說安全的保證是由“另外的人”負責的,這種情況下,一旦出現問題,你無法查清問題所在,或即使你查清問題所在,也無法糾正。
好了,關於指標,一邊是100%的效率、60%的安全性、100%的自由,一邊是60%的效率、99%的安全性、100%枷鎖,你選擇吧。我想對於“高手”而言,自信也罷、固執也罷,選擇指標是他們骨子裡自由與冒險精神的決定。
“是生,是死——這是一個值得考慮的問題。”——但不要喪失了行動的能力。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991794/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C# Java之比較 (轉)C#Java
- Visual C++與Delphi/C++Builder之比較 (轉)C++UI
- (轉貼) C++,C#,Java功能比較 (.NET) (C#) (C/C++)C++C#Java
- Free BSD,Linux之比較(轉)Linux
- Python 與 Javascript 之比較PythonJavaScript
- 【筆記】RDBMS和NOSQL之比較筆記SQL
- 12種JavaScript MVC框架之比較JavaScriptMVC框架
- mysql——ROUND與TRUNCATE函式之比較MySql函式
- 常見資料庫系統之比較 - SYBASE 和 SQL SERVER(轉)資料庫SQLServer
- 常見資料庫系統之比較 - Oracle資料庫(轉)資料庫Oracle
- 解構反應式程式設計——Java8,RxJava,Reactor之比較程式設計RxJavaReact
- 國內外專案管理軟體之比較專案管理
- SQL、Linux 指令碼與 Ruby 之比較 ZTSQLLinux指令碼
- 常見資料庫系統之比較 - DB2資料庫(轉)資料庫DB2
- 普通使用者應該考慮的 linux @ windows x 之比較(轉)LinuxWindows
- C# 和 C++ (轉)C#C++
- ERP系統之比較——SAP、Oracle、BAAN、JDE、SSAOracle
- Django筆記二十四之資料庫函式之比較和轉換函式Django筆記資料庫函式
- 常見資料庫系統之比較 - 資料庫的發展和現狀(轉)資料庫
- C語言入門學習記錄(4)之比較運算C語言
- Java、C、C++中的陣列的比較JavaC++陣列
- [C++] 自定義C++比較器比較大小C++
- 強制型別轉換時的異常處理_java與c++比較型別JavaC++
- C#比較兩個字串的相似度【轉】C#字串
- 多媒體和網路時代中,C++,Delphi,Java,還是C#? (轉)C++Java
- J2EE vs. NET, Java vs. C#:比較公正的評價 (轉)JavaC#
- C# DataRow 比較C#
- 對比C++和Java (轉)C++Java
- ASP.NET 與 JAVA 的比較 (轉)ASP.NETJava
- 淺談C# vs Java (1) (轉)C#Java
- 我理解的IOC技術在Java和C#中比較分析JavaC#
- The main difference between Java & C++(轉載)AIJavaC++
- 【轉載】C++ ,C#資料型別對照C++C#資料型別
- 在C#中使用C/C++寫的DLL (轉)C#C++
- C#和C++的速度大比拼(二) (轉)C#C++
- Java排序演算法速度比較(轉載)Java排序演算法
- 優思學院|什麼是業務流程重組(BPR)?與六西格瑪管理之比較
- 如何在C#中模擬C++的聯合(Union)?[C#, C++] How To Simulate C++ Union In C#?C#C++