編寫本文的目的
在大環境下,Java是一個飽受爭議的語言,一方面在工程上它的流行程度非常高;另一方面,越是資深的軟體工程師就越容易對這個語言感到不滿。
在這種情況下,博主希望每一個Java程式設計師能夠耐下心來好好看看對於Java的批評,獨立思考。
P.S.如果你認為它優秀, 一門優秀的程式語言應該是經得起時間的檢驗,也經得起批評的。
PP.S.如果你認為它不足,需要合理地黑,而不是人云亦云。
對Java的經典批評
-
譯文《Java語言學校的危險性(譯文) - 阮一峰的網路日誌》
本文批評了一種現象,美國一些大學將Java作為入門的程式語言,讓很多連指標和遞迴都不理解且不懂程式設計的畢業生進入了程式設計的市場(Java比較簡單,無法區分一個軟體工程師的優劣)。 -
《Why Java Sucks and C# Rocks (1):比較的意義與目的》
本系列文章的意義在於通過和C#程式語言的對比,勸導Java程式設計師轉向Scala等其他JVM平臺上的語言(尤其指出了某些特性不僅僅是縮減程式碼長度,更是它們從設計到使用上更符合邏輯,直覺)。
個人的看法
從理性上,博主非常認同上述文章的觀點,但是主觀情感上,Java是自身第一個深入學習的程式語言,主觀上一定會有所傾向。
一開始,想從下面幾個角度辯解,
- Java有些蹩腳的地方是在於對之前版本的相容,這主要是取捨問題。
- Java的亮點在於JVM,而很多文章基本不談。
- Java的設計問題在新版本後正一點點被彌補,可以期待Java11今後的發展。
- 在工程上,的確Java的生態會比其他的要好一些。
...
但是在博主讀了下面這篇文章《122. 十年學會程式設計》後,釋然了。
要成為一個真正的程式設計人員,只會一門程式語言是絕對不夠的。
是一個Java開發者,並不意味著你放棄了其他程式語言。這本來就是一個非零和博弈。
為什麼你不去學習一下新的程式語言呢?
如果你覺得有一些道理,那麼從現在開始吧!?