Java特別象C++
由此很自然地會得出一個結論
C++似乎會被Java取代
但我對這個邏輯存有一些疑問
無論如何
C++仍有一些特性是Java沒有的
而且盡管已有大量保證
聲稱Java有一天會達到或超過C++的速度
但這個突破迄今仍未實現(盡管Java的速度確實在穩步提高
但仍未達到C++的速度)
此外
許多領域都存在為數眾多的C++愛好者
所以我並不認為那種語言很快就會被另一種語言替代(愛好者的力量是容忽視的
我感覺Java強大之處反映在與C++稍有不同的領域
C++是一種絕對不會試圖迎合某個模子的語言
特別是它的形式可以變化多端
以解決不同類型的問題
這主要反映在象Microsoft Visual C++和Borland C++ Builder那樣的工具身上
它們將庫
組件模型以及代碼生成工具等合成到一起
以開發視窗化的末端用戶應用(用於Microsoft Windows操作系統)
但在另一方面
Windows開發人員最常用的是什麼呢?是微軟的Visual Basic(VB)
當然
我們在這兒暫且不提VB的語法極易使人迷惑的事實——即使一個只有幾頁長度的程序
產生的代碼也十分難於管理
從語言設計的角度看
盡管VB是那樣成功和流行
但仍然存在不少的缺點
最好能夠同時擁有VB那樣的強大功能和易用性
同時不要產生難於管理的代碼
而這正是Java最吸引人的地方
作為
下一代的VB
無論你聽到這種主張後有什麼感覺
請無論如何都仔細想一想
人們對Java做了大量的工作
使它能方便程序員解決應用級問題(如連網和跨平台UI等)
所以它在本質上允許人們創建非常大型和靈活的代碼主體
同時
考慮到Java還擁有我迄今為止尚未在其他任何一種語言裡見到的最
健壯
的類型檢查及錯誤控制系統
所以Java確實能大大提高我們的編程效率
這一點是勿庸置疑的!
但對於自己某個特定的項目
真的可以不假思索地將C++換成Java嗎?除了Web程序片
還有兩個問題需要考慮
首先
假如要使用大量現有的庫(這樣肯定可以提高不少的效率)
或者已經有了一個堅實的C或C++代碼庫
那麼換成Java後
反映會阻礙開發進度
而不是加快它的速度
但若想從頭開始構建自己的所有代碼
那麼Java的簡單易用就能有效地縮短開發時間
最大的問題是速度
在原始的Java解釋器中
解釋過的Java會比C慢上
到
倍
盡管經過長時間的發展
這個速度有一定程度的提高
但和C比起來仍然很懸殊
計算機最注重的就是速度
假如在一台計算機上不能明顯較快地干活
那麼還不如用手做(有人建議在開發期間使用Java
以縮短開發時間
然後用一個工具和支撐庫將代碼轉換成C++
這樣可獲得更快的執行速度)
為使Java適用於大多數Web開發項目
關鍵在於速度上的改善
此時要用到人們稱為
剛好及時
(Just
In Time
或JIT)的編譯器
甚至考慮更低級的代碼編譯器(寫作本書時
也有兩款問世)
當然
低級代碼編譯器會使編譯好的程序不能跨平台執行
但同時也帶來了速度上的提升
這個速度甚至接近C和C++
而且Java中的程序交叉編譯應當比C和C++中簡單得多(理論上只需重編譯即可
但實際仍較難實現
其他語言也曾作出類似的保證)
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19567.html