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

Tom*_*sky 13 .net java-ee

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

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

Gab*_*abe 16

自从CLR成立以来,属性一直是CLR的一部分.我从1999年11月开始编写了一个旧的预发行版C#,描述了它们,但我能找到的最早的参考文献是2001年C#1.0规范.这个功能显然是在将该功能添加到Java之前几年.

编辑:本书,公共测试版的C#编程,于2000年出版并提及属性.


Bal*_*usC 12

我相信,.NET元数据是在2003年4月3日发布的.NET 1.1中引入的(它似乎已经存在于此之前?).在Java注解被提议作为JSR-175于2002年3月19日被批准于2004年9月30日成为了一部分的Java SE 5.0被发布在同一天.

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


duf*_*ymo 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仍与微软合作.

(Eric Lippert 于2013年1月离开微软加入Coverity.)