代碼一致性問題
Java 的代碼是采取偽編譯的,屬於特殊的腳本文件;
既然是腳本,當然是“跨平台的”;
知道 PHP 吧?
編程思想問題
Java 確實引入了一些新的概念,對於編程是一種促進;
語言表現形式
Java 使用的是改進了的 C++ 風格,通過格式化的命名解決了 C 中命名中斷問題;
微軟的 .Net 也參考了它的風格;
這一點值得我們學習;
界面問題
Java 的界面讓人不敢恭維;
在所有平台表現都是同樣糟糕的(圖形或者字符)界面;
程序員所接觸的是闊別多年的字符界面(讓人感到很親切);
運行效率問題
由於它是解釋執行,效率自然很低;
最典型的是 JBuilder,讓我們在工作之余可以輕松的喝杯咖啡,作為 Java 的程序員,真應該感謝 sun;
有人說“可以理解做企業級應用的程序員對Java的喜愛。從他們的立場,軟件容易修改和移植比運行效率高要重要的多”,真的這樣嗎?我對此深表懷疑;
還有人說“語言變得無意義,每種語言都能做相同的事,並有相同的執行效率,這是馬上要發生的事”,但對於腳本語言(包括 java),是不可能達到編譯語言的執行效率的,看來,我們只能用 Java 跟 PHP 相比了;
投資問題
Java 應用的開發和運行費用是很高的;
操作系統和數據庫都需要從第三方購買;
(大家都感覺 M$ 黑,現在看來甲骨文更黑)
歷史遺留問題
Java 是個“全新的”系統,所有的歷史遺留它一概不管;
采用 Java,原來的東西都推翻了重做,浪費多嚴重?
創新問題
Java 是有些創新思想,但如果說它是“全新的”語言,嘿嘿,sun 好意思承認嗎?
很多概念早有了,大家都是在學習前人經驗基礎上發展的,Java 當然也不例外;
很多原來就有的東西,sun 改頭換面,或許是為了避免糾紛,或許是為了嘩眾取寵,炮制出新的概念,欺世盜名;
有人說“微軟最為擅長的就是在技術落後的情況下,借鑒別人的想法,整合到自己的戰車上”,sun 難道比微軟高明多少?
技術壟斷問題
眾所周知,sun 也是封閉源代碼的;
或許,現在有些東西 sun 是免費提供的,當它真正強大以後,鬼知道他們會怎樣;
捨棄微軟,投奔太陽,所謂才離狼穴,又入虎口;
sun 的野心,不可不察;
JIT 的必要性
采取字節碼(腳本)是為了跨平台;
但是,眾所周知,代碼的更改並不是經常的,運行次數比版本發布的次數不知道要高上多少倍,每次運行都重新編譯,有這個必要嗎?!
“虛擬機”問題
Java “虛擬機”其實是一個腳本解釋執行程序,換了名字而已;
有人說“虛擬機是一種強大的故障保護系統還是有一定現實意義的”,虛擬機跟故障保護系統沒有絲毫關系,況且 Java 程序出錯的情況在 chinaren 上面是有目共睹的;
為什麼使用 Java
可以達成共識的只有“為了混飯吃”;
有個“職業程序員”說是因為“流行”,但他說的“職業的人注重走路本身,不管走到哪裡,因為它往往要自己找路走,更多的人是為了到達目的,這是個側重點的問題”就很古怪,用 Java 是為了用著玩,而不是為了使項目達到目的?
還有個說法,“隨便找個做MIS的,稍微白呼兩句就能扔出去做Java高手狀了”;
有個對於 Java 崇拜的五體投地的人說漏了嘴,“開發服務器軟件現在最佳的語言還是c,c++,需要畫大量的用戶界面還是用vb,pb快些”,哈哈;