【问题标题】:.NET Attributes versus Java Annotations: Which Came First? [closed].NET 属性与 Java 注释:哪个先出现? [关闭]
【发布时间】:2010-05-11 01:36:39
【问题描述】:

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

那么,哪个框架因发明它们而受到赞誉?

【问题讨论】:

    标签: .net jakarta-ee


    【解决方案1】:

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

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

    【讨论】:

    • 实际资源+1。顺便说一句,这还早!
    【解决方案2】:

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

    尚不清楚 .NET 元数据究竟是何时提出的,但在第一个版本中,.NET 胜出。

    【讨论】:

    【解决方案3】:

    我相信他们首先是 .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 left Microsoft in Jan 2013 加入 Coverity。)

    【讨论】:

    • 不幸的是,Java 在语言改进方面一直落后,尽管事实上它是 C# 模仿的语言
    • 感谢背景信息 duffymo;我认为会有相当多的政治因素在起作用
    • Eric Lippert 现已离开 MS。
    • 看起来你是对的 - 他在三个月前,也就是 2013 年 1 月离开微软加入 Coverity。ericlippert.com/about-eric-lippert
    猜你喜欢
    • 1970-01-01
    • 2015-07-08
    • 2015-05-12
    • 2016-12-27
    • 1970-01-01
    • 2018-06-29
    • 2011-04-05
    • 1970-01-01
    • 2011-03-11
    相关资源
    最近更新 更多