Java 7 以后应该具备哪些功能来鼓励从 C# 转换?[已关闭]

C#目前势头良好。为了切换到(或返回)Java,您需要具备哪些功能?

如果人们为当前的Java版本发布这些解决方法,例如,围绕自定义类包装Nullables,这将使它成为一个更有趣的wiki,那也将非常有用。


答案 1

作为 .NET/C# 开发人员,这里缺少的功能让我很烦恼。这个列表没有特别的顺序 - 就像想到的想法一样:

  1. Java 库太小了。对于常见的东西,我必须在5个竞争的开源产品之间进行选择,因为基础库在很多方面都缺乏。
  2. 这是一种面向对象的编程语言吧?为什么基元类型不能从“对象”继承?
  3. 指针
  4. Lambdas
  5. 闭 包
  6. 分部类和较小程度的分部方法
  7. 对泛型的真正支持
  8. 使用语句和释放 - 这对我来说是一个真正的WTF。您确实必须在 try/catch 块中显式关闭连接。可怜的Java家伙!
  9. 收益率回报会很好
  10. 无符号整数 - 再次 WTF?我必须使用大于我需要的数字类型,以便再次用于什么目的?
  11. 在Java中,您可以从最后的尝试/捕获块返回。一位同事通过这种方式引入了一个错误,从而将我弄糊涂了几个小时。应像在 C# 中那样禁止此行为。

我很少需要使用Java,当我这样做时,我有各种各样的WTF时刻。

编辑:我删除了每条评论,因为它自1.5以来不再是缺少的Java功能。


答案 2

根据我的经验,Java与.Net更像是一个商业决策,而不是一个技术决策。具有MS体验的商店趋向于.Net,具有Java体验的商店趋向于Java和OSS。我几乎没有看到人们根据语言特征进行转换的证据。另一方面,我看到商店严重倾向于一个平台b / c,他们想要雇用一两个关键员工在该领域知识渊博。


推荐