我们需要一个Java++吗?[已关闭]
2022-09-03 03:09:21
在我看来,在某些方面,Java是C语言一段时间以来的地方。两者在当时都是相当简约的语言,具有相对干净,简单的核心。(我在这里指的是核心语言,而不是库。两者都非常受欢迎。两者都是通用语,有大量的遗留代码。两者都缺少一些现代生产力功能,其他语言的程序员经常会错过这些功能。两者似乎都非常惯性主导,适应不断变化的世界的速度很慢。
在我看来,创建一个Java ++是合理的,它大致是Java的超集,就像C++C一样。这样的语言将试图将Java从它所经历的相对停滞中解脱出来,只有在绝对必要的情况下才以一些次要的方式破坏向后兼容性,添加许多普通的旧Java所缺少的现代功能,并担心以后的标准化。可能是一个好主意的功能包括:
- 一等函数,委托。
- 闭 包。
- 静态类型推断,类似于 C# 或 D 中。
var
auto
- 运算符重载。
- 结构作为与类(如 C# 和 D)不同的值类型。
- 性能。
- 用于忽略已检查异常的选项。
- 在文件中声明多个顶级公共类的功能。
- 更强大的内置数组,允许诸如追加之类的操作。
- 更好的泛型/真实模板。
- 类似于 C# 4.0 的 dynamic 关键字,它允许在必要时使用一般静态语言进行 duck 键入。
- 由于Java主要是一种VM语言,因此可能会有一些硬核元编程功能,例如为某些事情动态生成代码。
你认为会有这种语言的需求吗?你认为这样的事情会成功吗?
编辑:我不是在谈论运行时/字节码级别的兼容性,我说的是源代码级别的Java兼容性。另外,是的,Java 7可以添加其中一些,但是似乎向Java添加功能的“官方”过程非常保守。真正的要点是将Java分叉成一个分支的想法,重点是创新而不是稳定性/标准化。