前兩天JDK 20更新了,很多人表示很失望,但是我萬(wàn)萬(wàn)沒想到的是,還有更令人失望的。
OpenJDK最近又增加了一個(gè)新提案,JEP 445,這個(gè)提案的主要內(nèi)容是要簡(jiǎn)化Hello World的寫法。并且該新特性即將在Java 21中作為預(yù)覽功能推出。
這個(gè)提案的作者認(rèn)為,Java中寫一個(gè)Hello World太麻煩了:
(資料圖片僅供參考)
public class HelloWorld {
public static void main(String[] args) {
System.out.println(\"Hello, World!\");
}
}
這對(duì)于初學(xué)者來(lái)說不夠友好,他覺得,Hello World應(yīng)該簡(jiǎn)單點(diǎn),直接就像這樣寫:
class HelloWorld {
void main() {
System.out.println(\"Hello, World!\");
}
}
或者這樣寫:
void main() {
System.out.println(\"Hello, World!\");
}
作者表示,這個(gè)提案目的是為了:
為 Java 提供平滑的入口,方便教育工作者可以循序漸進(jìn)地介紹編程的概念。
幫助學(xué)生以簡(jiǎn)潔的方式編寫基本入門程序,并隨著其 Java 技能增長(zhǎng),優(yōu)雅地?cái)U(kuò)展代碼。
減少編寫簡(jiǎn)單程序(例如腳本和命令行實(shí)用程序)的儀式。
不要單獨(dú)介紹 Java 的初學(xué)者方言。
不引入單獨(dú)的初學(xué)者工具鏈;編譯和運(yùn)行學(xué)生的程序,使用的工具應(yīng)該和生產(chǎn)環(huán)境的 Java 程序相同。
這就咋說呢,是有很多人吐槽Java復(fù)雜,可是問題是,他的復(fù)雜性僅僅在于這一個(gè)小小的Hello World嗎?真的會(huì)有人關(guān)心Hello World復(fù)不復(fù)雜嗎?
如果一個(gè)初學(xué)者,連這幾行代碼都嫌復(fù)雜的話,那也沒啥必要繼續(xù)學(xué)下去了吧?
而且現(xiàn)在各種IDE都很成熟了,psvm、sout,這不就寫完了么,哪復(fù)雜了?
很多人吐槽復(fù)雜,是因?yàn)檎Z(yǔ)法規(guī)范太多、并發(fā)模型復(fù)雜,這和Hello world有個(gè)啥的關(guān)系呢?
現(xiàn)在Java每半年一個(gè)新版本,但是大部分人使用的還是1.8 ,原因是啥這些專家沒點(diǎn)那啥數(shù)么,從JDK 9 到 JDK 20。
10多個(gè)版本了,加一起都沒有1.8的變化大,在我看來(lái)真正有用的也就一個(gè)虛擬線程。
各個(gè)版本都在不斷地加語(yǔ)法糖,整的和kotlin、groovy越來(lái)越像。
可是,如果我想簡(jiǎn)單一點(diǎn),我直接就用Groovy了不好么?
關(guān)鍵詞: