JAVA - AayJay's Experimental Blog Beta 00

AayJay's Experimental Blog Beta 00

Creative Commons License
Creative Commons License

本 作品 係採用共享創意 署名-相同方式共享 3.0 香港 授權條款授權。
This work is licenced under a Creative Commons Licence.

2009 年 2 月 1 日  星期日

JAVA

last update:
2009-03-03 06:15 PM

Software

在很多人眼中,Java是一個跨平台的程式語言。
在學校的教導下,筆者亦順理成章地接受了這一套說法。
不過日前瀏覽C++之父Bjarne Stroustrup的網站時,
看到了他的論點:「Java不是跨平台,Java本身就是一個平台。」
初時我並不明白他為何會有這樣的看法,
但想深一層,原來這是個十分直接的推論,
只要對Java有認識的,應不難理解。
Java是SunMicrosystems研發的一個技術,
其包含三個部份,分別為語言、編譯器及虛擬機。
程式開發人員在以Java語言編寫程式後,
會交給Java編譯器進行編譯成為中介語言(位元組碼, bytecode),
最後,位元組碼會在不同的系統上透過Java虛擬機轉譯為可被該系統執行的指令碼。
可見,無論缺少了那一環,Java都不能被執行,
所以,無論在什麼系統上,Java其實都是以平台的形式出現。
不過,考評局說它是跨平台,它就是跨平台了。
正如考評局說CPU的時脈是代表該CPU的運算速度,那就是了。

Java原本是一個專利方案,版權由Sun擁有。
Sun後來以Java編寫了一個開源計劃-OpenOffice.org的一些功能,
不過由於Java是封源的,這引起了很多的爭議。
猜一猜Sun之後怎麼辦?以其他開放的語言重寫OOo?
不,Sun把Java公開化。
Sun以GPL授權Java,使其成為自由軟件,
在解決紏紛的同時為自由軟件邁進了一步。
Sun真是一間十分神奇的公司。

 [ 編輯日誌 ] [ 分享至FACEBOOK ]  




訪客留言 (返回 aayjaychan 的日誌)

訪客名稱:
電郵地址: (不會公開)
驗證碼:  按此更新驗證碼 (如看不清楚驗證碼請點擊圖片刷新)
俏俏話: (必需 登入 後才能使用此功能)
[ 開啟多功能編輯器 ]



[ 返回 aayjaychan 的日誌 ]


Parallel Universe

in Xanga (那裡較熱鬧...)