.NET的一点历史故事:擦肩而过的机遇

Sun公司通过开源Solaris和Java平台应对竞争挑战,而微软则通过.NET Framework不断追赶Java的脚步,双方在技术广度和深度上展开激烈竞争。

Sun 公司曾经借由 SunOS/Solaris 这个 UNIX 操作系统,SPARC 硬件平台和 Java 语言建立了一个商业帝国。Sun 工作站应该是很多资深业界大佬们偶尔还会拿来回忆的一个经典产品。不过时间进入二十一世纪第一个十年的中段,它已经在竞争对手的轮番进攻下显出了颓势。作为最后一搏,当时的管理层采纳了开放源代码这个方式,希望学习网景公司孕育 Mozilla/Firefox 的经验来扭转乾坤。于是2005年,它宣布了 OpenSolaris 项目,开源自己的操作系统,并在2006年11月13日,更近一步将自己核心资产 Java 平台开源,并采用 GPL 这个非常严格的授权协议。虽然这些努力并没有完全解决 Sun 公司的经营困难,它最终被甲骨文收购,但是开放+开源的 Java 平台确实在之后的十几年中顶住了新型语言的冲击,既然是 IT 业界广泛采用的主要技术。与之相比,微软一家主导并且完全绑定在 Windows 平台的 .NET 技术,在二十一世纪的发展过程中却是从平淡无奇开始的。

2002年2月13日发布了 .NET Framework 1.0 和 Visual Studio .NET 2002 之后,微软将研发资源同时投到了多个领域,希望在广度和深度上追上 Java 的脚步。这些投资在后来的三年内逐步提升了 .NET 平台的开发灵活性,也补上了一些缺环,但是是否符合用户的需要则必须另说了。

第一个重要升级是2003年4月3日,微软发布了Visual Studio .NET 2003 和 .NET Framework 1.1。这个版本带来了一些新的特性,但是明显比较平淡:

  • IP v6支持

  • ODBC 和甲骨文数据库支持

  • 配合 Windows CE 开发的 Compact Framework

  • ASP.NET 对于移动浏览器的支持

在2007年 iPhone 发布之前,J2ME 和 Windows CE 的竞争只能说是小孩打架。所以这次升级更多的是配合微软 Windows Server 2003 的发布。毕竟 Windows Server 2003 是微软第一个内置 .NET Framework 的 Windows 发布版本。

下一个重要升级就拖到了2005年11月7号的 .NET Framework 2.0 和 Visual Studio 2005。从这里开始,.NET 开始慢慢在广度上追上 Java,比如加入官方构建工具 MSBuild,官方测试框架 MSTest,加入64位支持,同时在深度上开始超越 Java,比如在 CLR/MSIL 层面实现真正的泛型。同时微软开始发布适合嵌入式系统使用的Micro Framework。

有了这个关键的版本做基础,微软后面连续发布了 .NET Framework 3.0 (2006年11月6日) 和 3.5 (2007年11月19日),终于在广度上再进一步,加入 WPF、WCF、WF 和 EF,ASP.NET 开始支持 AJAX。在深度方面,.NET 开始引入 LINQ 机制,使得数据库操作可以不使用 SQL 等查询语言,而是在 C# 等语言层面直接集成。

在 Java 开源之前,微软也做出了一些积极行动,比如

  • 2004年4月5日在 SourceForge 开源了 WiX 工具

  • 2006年6月正式上线了 CodePlex 开源托管平台

  • 2006年11月2日和 Novell 公司达成了一系列开源软件相关的合作(Novell 公司当时是 Mono 项目的领导者,所以这些合作对于 Mono 团队有很大帮助)

但是它一直没有在是否开源 .NET 平台问题上做出决定。这些当然我们事后来看都是可以理解的,因为

  • 微软公司的创始人 Bill Gates 领导了商业软件革命,使得软件有版权这一理念深入人心,并且建立了自己的微软帝国,同时也促使了其他商业软件公司成长壮大。

  • 开源软件运动对于商业软件公司具有潜在威胁,而大型商业软件公司选择开源自己产品的案例不多(网景、IBM和Sun走在了时代的前列)。

  • 微软公司内部对于如何运作开源项目,如何把开源代码作为竞争手段缺乏了解,所以迟疑不决。

但是当时没有追随 Java 开源的热潮去做 .NET 平台的开源,对于微软来说还是棋差一招。等它八年后意识到必须走开源这条路的时候,IT 世界的版图已经完全不同了。

相关文章:

原文地址:http://weibo.com/ttarticle/p/show?id=2309404102499094119132


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

内容概要:本文介绍了一项创新性未发表的研究,即利用多元宇宙优化算法(Multiverse Optimizer, MVO)对分时电价下的需求响应与综合能源系统调度问题进行建模与求解,旨在实现能源系统的经济性、高效性与可持续性运行。该研究构建了包含多种能源设备(如光伏、风机、燃气轮机、储能系统等)及可调节负荷的综合能源系统模型,充分考虑了用户侧的需求响应行为在分时电价机制下的响应特性,通过MVO算法对系统运行成本、能源利用率、碳排放等多目标进行协同优化,实现了日前调度计划的智能决策。研究还提供了完整的MATLAB代码实现,便于研究人员复现实验、验证算法性能,并为进一步研究提供可靠的仿真基础。; 适合人群:具备一定电力系统、优化算法及MATLAB编程基础的科研人员、研究生以及从事能源互联网、综合能源系统规划与运行的技术工程师。; 使用场景及目标:① 学习并掌握多元宇宙优化算法在复杂能源系统调度中的具体应用方法;② 研究分时电价机制如何通过需求响应引导用户参与电网互动,实现削峰填谷;③ 实现综合能源系统(IES)中冷、热、电、气等多种能源的协同优化调度,以降低运行成本、提高新能源消纳能力和系统可靠性;④ 为相关领域的学术研究提供可复现的代码实例和仿真平台。; 阅读建议:此资源以MATLAB代码为核心载体,深入剖析了算法应用与系统建模的全过程。建议读者在学习时,不仅应关注代码的实现细节,更要理解其背后的数学模型、优化目标设定和约束条件的物理意义。建议结合文档中的模型描述,逐步调试代码,观察不同参数和场景下的优化结果,从而深刻掌握综合能源系统优化调度的设计思想与关键技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值