人們對Java最不滿的是什麼? - Reddit

banq發表於2022-05-07

對 Java 語言或平臺的第一大不滿是什麼?為什麼?

1、沒有語言級別的 null 安全性。這不是一件容易解決的事情,但它是我真正懷念(例如)Kotlin 的一種語言級別的功能。

2、我最討厭的是所有的日誌庫。jdk裡有足夠好的日誌,我真的希望大家不要再讓我們依賴log4j,或者sf,或者commons等等,只是為了愚蠢的日誌記錄。

3、在位元組碼中,double和long佔用了常量池和區域性變數表/堆疊中的兩個槽。甚至在規範中他們也說這是 "一個糟糕的選擇"。
對於泛型來說,如果能實現Consumer<One>, Consumer<Two>就更好了。但是可以理解為什麼不是這樣的。

4、絕對是模組系統。它的設計完全是為了讓JDK維護者的工作更容易(並阻止框架使用sun.misc.Unsafe),但是卻犧牲了庫和框架開發者的利益。

使用者/開發者並沒有從中受益
在OSGi、Maven、Gradle都存在的情況下,我還沒有遇到一個明確使用Java模組的理由。
如果你維護一種用Java寫的、使用反射的解釋型程式語言,JPMS就是一場噩夢
沒有一個人能夠說服我相信模組系統的好處,尤其是在工具支援如此之差,而且沒有版本控制的概念的情況下。

5、另一個。我希望有語言支援來定義具有自動生成的getters、setters和constructors的類屬性。
記錄Record只涵蓋了不可變的值型別的使用情況。我們仍然需要一些東西來減少可變物件(如JPA實體)的模板。
(banq注:提出這個缺點的人大概不明白實體getter和setter的沒有必要使用,隱藏在可變物件中的屬性不能用setter、getter隨意更改,需要經過領域邏輯檢查)

 

相關文章