前两天JDK 20更新了,很多人表示很失望,但是我万万没想到的是,还有更令人失望的。
OpenJDK最近又增加了一个新提案,JEP 445,这个提案的主要内容是要简化Hello World的写法。并且该新特性即将在Java 21中作为预览功能推出。
这个提案的作者认为,Java中写一个Hello World太麻烦了:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
这对于初学者来说不够友好,他觉得,Hello World应该简单点,直接就像这样写:
class HelloWorld {
void main() {
System.out.println("Hello, World!");
}
}
或者这样写:
void main() {
System.out.println("Hello, World!");
}
作者表示,这个提案目的是为了:
为 Java 提供平滑的入口,方便教育工作者可以循序渐进地介绍编程的概念。
帮助学生以简洁的方式编写基本入门程序,并随着其 Java 技能增长,优雅地扩展代码。
减少编写简单程序(例如脚本和命令行实用程序)的仪式。
不要单独介绍 Java 的初学者方言。
不引入单独的初学者工具链;编译和运行学生的程序,使用的工具应该和生产环境的 Java 程序相同。
这就咋说呢,是有很多人吐槽Java复杂,可是问题是,他的复杂性仅仅在于这一个小小的Hello World吗?真的会有人关心Hello World复不复杂吗?
如果一个初学者,连这几行代码都嫌复杂的话,那也没啥必要继续学下去了吧?
而且现在各种IDE都很成熟了,psvm、sout,这不就写完了么,哪复杂了?
很多人吐槽复杂,是因为语法规范太多、并发模型复杂,这和Hello world有个啥的关系呢?
现在Java每半年一个新版本,但是大部分人使用的还是1.8 ,原因是啥这些专家没点那啥数么,从JDK 9 到 JDK 20。
10多个版本了,加一起都没有1.8的变化大,在我看来真正有用的也就一个虚拟线程。
各个版本都在不断地加语法糖,整的和kotlin、groovy越来越像。
可是,如果我想简单一点,我直接就用Groovy了不好么?