.NET属性与Java注释:哪个先来?

时间:2010-05-11 01:36:40

标签: .net java-ee

我是一名学习Java EE的.NET开发人员。这两个概念似乎在任一系统中都具有相同的用途。

那么哪个框架可以用来发明它们?

3 个答案:

答案 0 :(得分:16)

属性自成立以来一直是CLR的一部分。我有一个旧的预发布规格的C#从1999年11月开始描述它们,但我能找到的最早的参考是C# 1.0 spec from 2001。这个功能显然是在将该功能添加到Java之前几年。

编辑:这本书C# Programming with the Public Beta于2000年出版并提及属性。

答案 1 :(得分:12)

.NET metadata我相信,于2003年4月3日发布的.NET 1.1中引入(似乎已经在此之前?)。 Java annotations于2002年3月19日被提议为JSR-175,于2004年9月30日获得批准,并成为当天发布的Java SE 5.0的一部分。

目前还不清楚何时提出了确切的.NET元数据,但是当谈到第一个版本时,.NET就胜出了。

答案 2 :(得分:8)

我相信他们首先使用.NET; Java 5紧随其后。

  不幸的是,Java已经落伍了   尽管如此,语言改进的曲线   这是C#语言的事实   模仿之后。

Pierreten的评论是正确的,但我认为有几个因素可以解释它:

  1. Java比.NET有更长的遗产, 并保持向后 兼容性是一个高优先级
  2. Java社区流程需要更长时间才能建立共识;如果Microsoft认为需要某项功能,则不需要任何此类共识。
  3. Sun的财务下滑以及Oracle的最终购买意味着可用于投入Java的资源更少。
  4. Sun已经失去了推动Java向前发展的思想(比如Bill Joy,James Gosling)。 Anders Hejlsberg和Eric Lippert仍然在微软。
  5. (Eric Lippert left Microsoft in Jan 2013加入Coverity。)