如何理解Java之父James Gosling對Java的定義?小熊社長2018-03-10 16:09:59

如何理解Java之父James Gosling對Java的定義?

Java is C++ without the guns, knives, and clubs” 直譯是「Java 就是不帶刀槍棍的 C++」,其中槍 (guns)、刀 (knives)、棍 (clubs) 都是指危險的東西。Gosling 這句話應該主要是對習語 “shot yourself in the foot” 的發揮。

“Shot yourself in the foot” 大約相當於中文的「引火燒身」或「玩火自焚」,在程式設計相關語境中通常用來描述程式設計師採用過於花巧的特性和伎倆實現功能,最後控制不好導致問題重重、無法解決的常見窘境。人們拿什麼東西 “shot yourself in the foot” 呢?當然是 gun 咯。

如何理解Java之父James Gosling對Java的定義?

Gosling 於是玩了個文字遊戲,把危險程度遞減的三種武器並列起來說,以此強調 Java 的安全易用,程式設計師無需過多操心。C++ 中有許多這樣的特性容易失控【至少對於大多數普通水平的程式設計師而言;大牛不受影響】,比如指標操作、模板、手動記憶體管理等等;而 Java 的設計目的則是將這些過於「危險」的特性隱藏起來【無指標、不支援模板、垃圾回收機制自動管理記憶體等】,讓程式設計師無法使用從而避免「誤傷」自己。

希望上面的回答對你有所幫助,如果還是不懂或者有問題,可以關注今日頭條“小熊社長”頭條號,私信我。希望能夠對樓主有所幫助。如果喜歡請轉發。

如何理解Java之父James Gosling對Java的定義?