服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

OpenJDK 提案 445 :正在努力简化 Java 的入门难度

日期: 来源:程序员泥瓦匠收集编辑:

点蓝字关注,一起程序员弯道超车之路


出品 | OSC开源社区(ID:oschina2013)

OpenJDK 的 JEP 445 提案正在努力简化 Java 的入门难度。这个提案主要是引入 “灵活的 Main 方法和匿名 Main 类” ,希望 Java 的学习过程能更平滑,让学生和初学者能更好地接受 Java 。
提案的作者 Ron Pressler 解释:现在的 Java 语言非常适合开发和维护大型复杂应用程序,但学校在教编程时往往会从变量、函数和子程序等基本的小型编程概念开始,在这个阶段,往往不需要类、包和模块的大型编程概念。但现在的 Java 对初学者不太友好,比如经典的 Hello, World! 入门程序 :
    public static void main(String[] args) { 
        System.out.println("Hello, World!");
    }
}
Ron 认为,作为新手入门的第一个程序,这段代码太复杂了。比如 class 声明和强制性的 public 访问修饰符是大型编程结构,它们在封装具有定义良好的外部组件接口的代码单元时很有用,但在这个入门小示例中毫无意义。String [] args 参数用于将代码与外部组件连接起来,但在这段代码里面不会被使用。static 修饰符是 Java 类和对象模型的一部分,但在新手村出现也为时尚早。
作为优化,该提案首先增强了启动 Java 程序的协议灵活性:
  • 允许已启动类的 main 方法具有 public 、 protected 或默认(即包)访问权限。

  • 如果启动的类不包含带 String [] 参数的 static main 方法,但包含不带参数的 static main 方法,则调用该方法。

  • 如果启动的类没有 static main 方法,但有一个非 private 零参数构造函数(即 public 、 protected 或包访问)和一个非 private 实例 main 方法,然后构造该类的一个实例。如果该类有一个带 String [] 参数的实例 main 方法,则调用该方法;否则,不带参数调用实例 main 方法。

如此一来便允许省略 main 方法的 String[] 参数,并允许 main 方法既不是 public 也不是 static 。可以稍微简化 Hello, World! :
void main()
此外,还要引入匿名 Main 类来隐式声明 class :
void main()
到这里 Java 的 Hello, World!  入门程序已经到了简化,但在 Ron 眼里,该 JEP 提供的优化只是使 Java 更易于学习的第一步,像 System.out.println 这种长方法 / 函数也是需要简化的地方,不过这些问题需要在未来的 JEP 提案中逐步解决。
该优化属于预览语言功能,默认禁用。要在 JDK 21 中尝试该示例,必须启用预览功能:用 javac --release 21 --enable-preview Main.java 编译程序,用 java --enable-preview Main 运行;或者使用源代码启动器时,使用 java --source 21 --enable-preview Main.java 运行程序。
有关灵活的启动协议和匿名 main 类的更多信息,可以在提案正文中详阅(https://openjdk.org/jeps/445)。

提案目标

  • 为 Java 提供平滑的入口,方便教育工作者可以循序渐进地介绍编程的概念。

  • 帮助学生以简洁的方式编写基本入门程序,并随着其 Java 技能增长,优雅地扩展代码。

  • 减少编写简单程序(例如脚本和命令行实用程序)的仪式。

  • 不要单独介绍 Java 的初学者方言。

  • 不引入单独的初学者工具链;编译和运行学生的程序,使用的工具应该和生产环境的 Java 程序相同。

相关链接:https://openjdk.org/jeps/445


end



↑ 点击即可关注 


关于我的近况:目前在 SaaS 创业中,如果你想成为技术高管或技术转创业,那必不可少的要懂商业、营销、产品等等。

也可以点击下方去阅读我 SaaS 创业的原创公号分享


相关阅读

  • 微信最新公告:1956个被处置

  • 4月15日“微信珊瑚安全”发布公告共处置1956个不合规小程序全文如下微信一直致力于打造安全、健康、绿色的平台生态环境,为推动微短剧类小程序合规运营,促进微短剧内容创作繁
  • 10个Pandas的另类数据处理技巧

  • 来源:DeepHub IMBA本文约2000字,建议阅读5分钟本文介绍了10个Pandas的常用技巧。本文所整理的技巧与以前整理过10个Pandas的常用技巧不同,你可能并不会经常的使用它,但是有时候
  • 【第2916期】使用新的JavaScript .at()方法

  • 前言JavaScript developers are forever students. 今日前端早读课文章由 @迪鲁宾翻译分享。前端早读课:与你分享“我”的技术视界正文从这开始~~https://twitter.com/codewith
  • 独家发布|2023戛纳幼狮中国区选拔赛晋级名单

  • 以下即为终审提案顺序请各位终审选手注意:终审考题:请见公众号次条推文终审作品提交时间:4月22日24:00前作品PPT以及PPT中如有视频(视频格式:MOV,16:9)、特殊字体等,请于4月22日24:0
  • 宜阳工业走廊路灯提质改造 助力营商环境提升

  • 聚民生所需,展政协之能。4月14日下午,市政协组织部分政协委员视察市城投集团政协提案办理工作,推动《关于尽快开通和提质宜阳工业走廊路灯的提案》办理落实,为湘南纺织产业基地
  • 【甲子光年】2023 Web 3.0体验营销方法论白皮书

  • 以上仅为部分展示更多内容详见完整PDF版报告请点击「阅读原文」免责声明:以上报告均系本平台通过公开、合法渠道获得,报告版权归原撰写/发布机构所有。如涉侵权,请联系删除!
  • 动动手指!为您喜爱的电子社保卡服务投票吧

  • 2018年4月22日人力资源社会保障部签发了首张全国统一的电子社保卡五年来,电子社保卡累计服务超300亿人次累计开通87项全国服务您喜欢的服务有哪些?4月13日-4月22日登录电子社

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四
  • 美国对华2000亿关税清单,到底影响有多大?

  • 1 今天A股大跌,上证最大跌幅超过2%。直接导火索是美国证实计划对华2000亿美元产品加征25%关税。 听起来,2000亿美元数目巨大,我们来算笔账。 2000亿美元,按现在人民币汇率

最新文章

  • 中美两国,都到了比拼内力的最后关头

  • 现在世界的两极都到了紧要的关头,就好比森林里唯二的两头巨兽,都到了要渡劫的关头,饥肠辘辘,其他的小虫小草已经没有办法填饱他们的胃口了。唯一的办法就是等对方撑不住了,然后用
  • 一顿饭钱 29¥ 的价值

  • 大家好,我是子木,一直在从事 SaaS 软件行业,并一直研究付费软件。现在我刚刚 30 岁,预计还有 10 年时间来磨砺这个方向。感谢 333 圈友的信任和支持,在知识星球上写相关笔记,目前