本人大一學C語言,大二學VB,大三學VC,畢業後工做前兩年用C++,接着兩年用C#,最近幾個月Android開發用Java。java
如下本人總結如下,有些疑惑但願大師幫忙解答。安全
1. C語言,精簡,靈活,適合底層,編碼相對大多數高級語言,比較原始,因此構建大項目,若是沒有大量代碼庫儲備,工做量很是大,性能高,開發效率低。框架
2. C++,引進了面向對象,又長期存在,因此基礎庫比較多,好比STL等等,語言的表現力很是強。即面向底層、系統層,又能高級UI開發,我的感受,最好的語言。缺點是發效率相對稍微差一點點,一點而已,同時C++龐雜,學習稍微困難點。性能
C/C++最大的優點是直接操做內存,對效率性能很是很是有幫助,並且數據類型內存級強制轉換、段域等,對數據類型轉換,內存處理相對方便。而C++在此基礎上支持面向對象,又有大量開發庫支持,太好了,我喜歡。學習
3. C#,用了一兩年,只用了C/S、WinForm方面,開發效率高,UI開發、事件委託機制、屬性機制等,比較系統,比較高級,命名、類庫結構等等是學習的典範。編碼
4. Java,用了3個月,只是在Android使用,因此沒接觸java幾大框架。線程
C#/Java主要特色是屏蔽了內存操做、引進了一些近幾年的新概念,加強了語言的表現力。表現力強了,計算機描述問題就簡單了些。剝離了內存操做是一大遺憾。設計
C#做爲強大支持的微軟,其整個C#領域,從設計、實現、小到命名規則、大到強大基礎庫支持,都是學習的典範。orm
Java優點就是開源和跨平臺,開發平臺搭建麻煩點,各個實現都要涉及多方面拼接,徹底沒有C#的完整性。Java自己類庫支持的遠遠不夠,好比Data類,字節轉換類,好比一些(線程安全)隊列等等。彷佛Java提倡一切從頭構建?難道我理解錯了?爲何不少想使用的機制或者類庫,在java沒找到。對象