例如C#中属性的语法糖:
private int x; public int X{ get { return x; } set { x = value; } }
或者干脆
public int X{ get; set; }
我在java中错过了逐字符串... @"C:\ My Documents \"而不是"C:\\ My Documents \\"
你是否同意Java需要更多"糖"?任何人都知道下一个Java版本中会有糖吗?
"复合糖导致分号癌症."
- Alan Perlis.关于编程的谜语.
听起来你想要Groovy ......显然属性正在他们的路上,虽然不是在Java 7中(因为@erickson在评论中帮助纠正了我).
Groovy确实有很棒的糖.
虽然我不一定同意Java的哲学,但我认为在Java中添加大量语法糖会违背其理念.Java应该是一个非常简单,易于理解的语言,只有很少的结构,在编程社区中是一种最低标准的通用语言.这主要是对C++复杂性的反应.除了所需要的(主要是垃圾收集)之外,它应该是非常少的"魔力",以使其成为一种内存安全的语言.
如果你想要一个相当高性能的静态类型语言中的更多糖等,我会说Java对你来说是错误的语言.你可能最好只使用C#,或者可能是D.
在过去的几年里,我也在Java和C#中进行了开发,并且发现C#在表达力和强大的语言结构方面是一种优秀的语言.Java语言没有像C#那样经历相同程度的更改和更新,至少没有达到相同的速度.我仍然不一定意味着Java应该大幅更新,但我们需要在Java平台上使用功能强大且富有表现力的静态类型语言.我认为Scala将发展成这种替换语言,当普通Java不削减它时,Java开发人员可以切换到这种语言.
C#是一种非常棒的语言; 这些天可能是"最好的"静态类型语言,但Java在我看来仍然是一个优越的平台.我喜欢Java这个平台,我喜欢C#这个语言.