> 文章列表 > JDK新增史上最无用提案!竟是为了简化Hello World?

JDK新增史上最无用提案!竟是为了简化Hello World?

JDK新增史上最无用提案!竟是为了简化Hello World?

0f7f6c41843e2c2677e08db7215f8f2f.jpeg

前两天JDK 20更新了,很多人表示很失望,但是我万万没想到的是,还有更令人失望的。

OpenJDK最近又增加了一个新提案,JEP 445,这个提案的主要内容是要简化Hello World的写法。并且该新特性即将在Java 21中作为预览功能推出。

JDK新增史上最无用提案!竟是为了简化Hello World?

这个提案的作者认为,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的变化大,在我看来真正有用的也就一个虚拟线程。

JDK新增史上最无用提案!竟是为了简化Hello World?

各个版本都在不断地加语法糖,整的和kotlin、groovy越来越像。

可是,如果我想简单一点,我直接就用Groovy了不好么?