Java 12可能会破坏原始字符串文字

对于2019年3月的升级,测试版功能尚未准备就绪

Java开发工具包(JDK)12很快就会成为发布目标的第一个功能:原始字符串文字的beta版本。

为了简化Java的开发,原始字符串文字可以跨越多行源代码而不解释转义序列。但是,这个功能的开发人员不再确信在JDK 12于2019年3月19日发布时,测试版功能已经准备就绪。因此,Oracle Java语言架构师Brian Goetz发布了删除原始字符串文字的提案。计划升级的能力。删除计划的审核期限于2018年12月18日结束。

[ 15个Java框架,为开发人员提供了帮助。• 哪些工具支持Java的新模块化功能。| 使用InfoWorld的App Dev Report简报了解编程中的热门话题。]
Goetz说,他不再相信开发人员在复杂性和表现力之间做出正确的权衡,或者已经有足够的探索来了解当前的设计是最好的。对提案的反馈提出了诸如将两个反引号序列混淆为空字符串的问题,即使它是一个开放分隔符。其他问题集中在不必要的不​​对称和复杂性上。

删除提案指出,现在每六个月升级一次的Java更快的发布时间表意味着错过发布的成本远低于之前的成本。在达到“永久”状态时,该功能甚至可能不会错过任何一个节拍,因为无论如何都会预测随后的beta期,因为可能会对第一个beta进行修改。

与此同时,撤销功能使开发人员有机会继续完善设计并探索更多选项。除了原始字符串文字之外,JDK 12仍然提出的其他功能包括垃圾收集的改进,JVM常量API,开关表达式和基准测试套件。

SAP构建自己的Java发行版

OpenJDK的下游版本支持Windows,Linux,MacOS和Docker

SAP发布了一个名为SapMachine的开源Java“友好分支”。

该项目于2017年12月开始,作为SAP维护的OpenJDK的下游版本。SAP客户和合作伙伴可以使用它来运行他们的应用程序。OpenJDK是Java的开源版本。

[ 15个Java框架,为开发人员提供了帮助。• 哪些工具支持Java的新模块化功能。| 使用InfoWorld的App Dev Report简报了解编程中的热门话题。]
尽管它是另一个Java发行版,它可以与Oracle和IBM 等公司的其他Java产品竞争,但SAP坚持认为它不打算分裂Java社区。“我们要强调,这显然是’友好的分叉’。SAP致力于确保Java平台的持续成功,“该公司写道。SAP指出它在JCP(Java Community Process)执行委员会中服务,并为OpenJDK做出了贡献。

SapMachine版本与OpenJDK版本一致。目前的生产版本是SapMachine 11长期支持。接下来是SapMachine 12的发布,这是Java Development Kit(JDK)12的一个实现,将于3月19日发布。之后,将在SapMachine 13上开始工作。

Windows,Linux和MacOS支持SapMachine。Docker镜像适用于大多数版本。发行版已通过Java Compatibility Kit,用于证明与OpenJDK的兼容性。从JDK12开始,SAP将为几个Java版本维护SapMachine的活动分支。

在哪里下载SapMachine
SapMachine的生产版本可从SAP获得。

BetaJanet语言希望采用富有表现力的编程

基于C99的Lisp实现借用了Lua和Clojure,可用于IoT应用程序

Janet是一种功能性和命令式语言以及字节码解释器,正在开发作为表达代码的通用平台。该语言以电视节目The Good Place中的角色命名,由核心库,解释器,编译器和汇编器组成。

在之前的C标准C99中实现的Lisp版本,beta Janet语言采用了Lua和Clojure的功能。它可以作为脚本语言或嵌入其他程序。Janet适用于原型设计,可在Windows,MacOS和Linux上运行,并且可以移植到其他系统。

[ 函数式编程入门,包括F#中的示例。•了解F#中的新功能。•发现使用F#的14个理由。| 使用InfoWorld的App Dev Report简报了解编程中的热门话题。]
创作者Calvin Rose表示,虽然它适用于物联网和嵌入式开发,但它拥有大约375KB的占地面积,可用于最大的完整版本,适用于非常小的设备。

珍妮特的功能包括:

一个二进制文件,旨在提供最小的设置。
垃圾收集。
通过一个二进制文件设
Python样式的生成器,实现为普通宏。
可变和不可变的数组和字符串。
通过抽象类型和C函数与C的互操作性。
功能强大的命令式标准库。
互动环境
read-evaluate-priont循环(REPL)。
核心库中有300多个函数和宏。
在测试版中,珍妮特可以用于小型项目和“热切的黑客”,罗斯说。

计划要求增加测试覆盖率,改进文档并最终确定C API。使用此API,Janet应该更容易嵌入到其他项目中。绘图板上还有对C库的绑定,可能是多线程,也可能是外部函数接口(FFI)库。

哪里可以下载珍妮特
你可以从GitHub 下载Janet。

[ 在这个全面的12部分课程中,从初学概念到高级设计模式学习Java!]