學Java很容易的感覺是很容易獲得的,隻要你有C或者C++或者Python或者C#的經驗,學習Java隻不過就是熟悉熟悉文法而已。特别是從C或者C++過來的人會明顯感覺記憶體管理的負擔小很多,這也是 Joel Spolsky吐槽Java的原因——連指針這種抽象都不需要的掌握的語言是不适合拿來初學的。
當然,學Java很容易不代表寫Java就很容易。Java非常好學,也更容易寫的更爛,這是任何一個準入門檻低的事物的宿命。在C++裡面你不認真對待記憶體管理你得到的是段錯誤或者core dump,在Java裡面有JVM給你擦屁股——好呀,程式寫完了,本應該在C++裡面出現的記憶體耗盡變成了無盡的GC。
一般意義上的Java語言本身其實隻是冰山一角,Java最大的價值來源于幾乎無所不包的庫,如果不了解Guava、不了解Spring、不了解一些persistence,其實也不算學會了Java。
是以從這個角度來說,學Java又簡單又難,簡單在于它本身簡單,有程式設計基礎(比如python)的都會容易很多,但是難又難在寫出高品質的Java程式,既有python的靈活性,又有不比C++弱的性能。