.Net框架的早期历史是什么?

25

.Net框架在2002年发布.Net 1.0之前的早期发展历史是什么?

我听说过各种各样的故事,包括ASP.Net最初是用Java编写的,.Net曾经被称为COM3,但某些版本的Windows认为项目目录是一个串行端口。

有没有更完整的故事呢?


我在想,人们认为我应该吗? - SLaks
这里没有真正的“对”或“错”的答案。这更像是一个开放性讨论。我会说它应该是 CW(社区维护)。 - Nick Presta
我很惊讶没有人提到宠物店演示。这就像是Web 1.0中所有营销材料中与.NET相关的可怕度量标准。当.NET首次推出时,J2EE版本仍然让我感到恶心。 - MattC
3个回答

30

w:Anders Hejlsberg:

1996年,Hejlsberg离开Borland公司,加入了主要竞争对手微软。他最初的成就之一是J++编程语言和Windows基础类库;他还成为了微软杰出工程师和技术院士。自2000年以来,他一直是开发C#编程语言团队的首席架构师。

w:Java和C#的比较:

C#包含了一些在其他语言中更常见的结构,例如C++Delphi(Anders Hejlsberg在Borland时的主要工作是设计Delphi),相比之下Java就不太一样。

在创建C#之前,微软实现了一个修改版的Java环境,称为J++,以一种直接违反确保Java平台中立性的标准和约定的方式添加新功能。这违反了微软签署的许可协议,该协议要求严格遵守标准和规范,以换取使用Java名称和品牌标识。Sun Microsystems起诉了微软,在解决诉讼时,微软同意停止使用J++。(其他现有的使用Java的微软产品可以继续使用七年。)

w:C#

w:.NET Framework:

在 .NET Framework 的开发过程中,类库最初是用一种名为Simple Managed C(SMC)的语言/编译器编写的。1999年1月,Anders Hejlsberg成立了一个团队来开发一种当时称为Cool的新语言,其含义为“面向对象的类C语言”。微软曾考虑将“Cool”作为该语言的最终名称,但出于商标原因选择不这样做。到公开宣布.NET项目的时间为2000年7月的专业开发人员大会(Professional Developers Conference),该语言已被更名为C#,类库和ASP.NET运行时也已经转移到了C#上。C#的主要设计师和Microsoft的首席架构师是Anders Hejlsberg,他之前参与过Turbo Pascal、CodeGear Delphi(前身为Borland Delphi)和Visual J++的设计。在采访和技术论文中,他表示大多数主流编程语言(例如C ++、Java、Delphi和Smalltalk)的缺陷推动了公共语言运行时(Common Language Runtime,CLR)的基本原理,进而推动了C#编程语言本身的设计。

微软下一代Windows服务的早期预览

NGWS将完全依赖XML作为数据通信标准,从当前Windows DNA路径偏离。XML通常被用户认为是Web语言HTML的替代品或升级版,但它实际上只是描述数据的标准化方法。在NGWS模型中,每个部分(客户端、中间件和数据)都将使用XML与其他部分进行通信。开发人员无需像现在一样手动编写XML代码,因为Microsoft的下一个VS版本中的工具将为他们生成XML代码。


这里还有谁记得“.NET My Services”吗?我还留着那本书(http://www.microsoft.com/mspress/books/5800.aspx)。另请参见http://www.eweek.com/c/a/Enterprise-Applications/Microsoft-Tunes-Net-My-Services/。 - John Saunders
这个答案完全是错误的,因为它只提到了“Java”这种语言,而没有提到真正有价值的“Java”平台。J++只是另一种看起来像Java的语言。 - mP.
1
@mP,我完全同意.NET Framework受到Java平台的影响。我希望通过展示Anders来自Delphi并在J++上工作的谱系来揭示这一点,这很可能意味着他也在MS JVM上工作过。从技术上讲,它们非常相似(GC、CLI等),但从战略上讲,它们做事情的方式不同,比如推动WinFrom、ASP.NET、Web Services等,将来自旧C++、VB、Delphi和Java的力量融合在一起。此外,.NET Framework始终非常注重多语言,并且具有元数据和代码访问安全性等有趣的概念。 - Eugene Yokota
除了将 Microsoft 类放入错误的命名空间之外,微软还违反了哪些“标准和约定”?我记得的只有“污染命名空间”。 - John Saunders

1
这是关于编程的内容。以下是翻译后的文本:

这里有一个小片段(不多,将近3分钟)来自于大人物本人。


-15

Dot net基本上是Java的写/复制。在90年代末,微软试图向Java添加一些Windows附加功能。在dot net中内置的com和winforms支持显然是微软利用这些技术的投资所必需的。

更好的回答这个问题的方法可能是问微软为什么感觉需要重新发明Java。简短而简单的答案是因为微软想要推动平台的方向和能力,使其与Windows良好地配合使用。像PInvoke这样的功能及其自由的使用将始终意味着当Office或Visual Studio以c#编写时,它们只能在Windows上运行-供应商锁定。

Java和Dot net之间的近亲关系显然很明显,许多东西都被复制了过来-NHibernate,NSpring。ASP MVC是否是Struts + JSP的副本,虽然带有一些小的额外功能?


5
我检查了URL……嗯,不对,我肯定没在“/”上。 - Ahmad Mageed
1
@mP:如果你想被认真对待,你可能需要包含一个关于这个的引用链接。 - John Saunders
如果你查看了上面的答案,微软不得不重新发明Java,因为Sun不允许他们扩展现有的Java。 - MiffTheFox
如果他们想要创造一些不同的东西,他们就不能称之为Java。这是他们所采取的方向,经过一些重新调整后成为了DotNet。 - mP.
@Miff 他们可以把Windows额外功能发布为第三方库,而不是破坏Java语言和平台。这就是为什么他们被起诉并输掉了官司的原因 - 因为他们完全无视了最初签署的合同。 - mP.
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接