国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

Java還是C++?

2019-11-18 13:23:06
字體:
來源:轉載
供稿:網友

  java還是C++?
  Java非凡象C++;由此很自然地會得出一個結論:C++似乎會被Java取代。但我對這個邏輯存有一些疑問。無論如何,C++仍有一些特性是Java沒有的。而且盡管已有大量保證,聲稱Java有一天會達到或超過C++的速度。但這個突破迄今仍未實現(盡管Java的速度確實在穩步提高,但仍未達到C++的速度)。此外,許多領域都存在為數眾多的C++愛好者,所以我并不認為那種語言很快就會被另一種語言替代(愛好者的力量是容忽視的。比如在我主持的一次“中/高級Java研討會”上,Allen Holub聲稱兩種最常用的語言是Rexx和COBOL)。
  我感覺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慢上20到50倍。盡管經過長時間的發展,這個速度有一定程度的提高,但和C比起來仍然很懸殊。計算機最注重的就是速度;假如在一臺計算機上不能明顯較快地干活,那么還不如用手做(有人建議在開發期間使用Java,以縮短開發時間。然后用一個工具和支撐庫將代碼轉換成C++,這樣可獲得更快的執行速度)。
  為使Java適用于大多數Web開發項目,要害在于速度上的改善。此時要用到人們稱為“剛好及時”(Just-In Time,或JIT)的編譯器,甚至考慮更低級的代碼編譯器(寫作本書時,也有兩款問世)。當然,低級代碼編譯器會使編譯好的程序不能跨平臺執行,但同時也帶來了速度上的提升。這個速度甚至接近C和C++。而且Java中的程序交叉編譯應當比C和C++中簡單得多(理論上只需重編譯即可,但實際仍較難實現;其他語言也曾作出類似的保證)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 临泽县| 怀宁县| 山阴县| 马龙县| 牟定县| 怀远县| 琼中| 修武县| 康保县| 铜山县| 沁阳市| 德州市| 南漳县| 隆化县| 泸水县| 新晃| 桑植县| 永州市| 全州县| 稻城县| 石城县| 祁门县| 舞钢市| 禄劝| 察哈| 噶尔县| 重庆市| 浪卡子县| 潮州市| 通州市| 天峻县| 沂源县| 托克逊县| 巫溪县| 高雄县| 慈溪市| 黎川县| 桃江县| 彰武县| 苏州市| 富平县|