为什么不是';Microsoft分支C#、.NET、CLR是否有重大更改(水平版本控制)?

为什么不是';Microsoft分支C#、.NET、CLR是否有重大更改(水平版本控制)?,c#,.net,clr,versioning,C#,.net,Clr,Versioning,这与新版本不同,新版本仍然具有向后兼容性 我的意思是,当C#、.NET、CLR的设计者意识到他们犯了一个错误,或者他们忽略了一些可能非常有益的东西,但现在由于向后兼容,他们无法继续这样做时,他们可以通过以不同的方式指定相应的产品(水平版本控制)来分支相应的产品 这不是更能证明未来吗 你可以说这将是一场噩梦,但是会有一些限制,比如不能混合和匹配不同的分支,不同的语言彼此兼容,等等(在同一分支中) 通过这种方式,您可以说使用C#4.0,然后您可以从C#4.0 B1(分支1)中使用一些非常有益的东西,

这与新版本不同,新版本仍然具有向后兼容性

我的意思是,当C#、.NET、CLR的设计者意识到他们犯了一个错误,或者他们忽略了一些可能非常有益的东西,但现在由于向后兼容,他们无法继续这样做时,他们可以通过以不同的方式指定相应的产品(水平版本控制)来分支相应的产品

这不是更能证明未来吗

你可以说这将是一场噩梦,但是会有一些限制,比如不能混合和匹配不同的分支,不同的语言彼此兼容,等等(在同一分支中)

通过这种方式,您可以说使用C#4.0,然后您可以从C#4.0 B1(分支1)中使用一些非常有益的东西,并使用它,尽管它可能需要一些移植工作

这难道不是一个健康的发展战略,新项目总是可以开始使用最新和最好的语言,也就是某一特定语言的最新版本和最新分支(例如C#6.0 B4)

我看不出有任何额外的麻烦来跟踪新语言的情况,因为您已经知道每个版本的情况。因此,这只是在垂直版本控制中添加了另一个维度(水平版本)


这种发展战略的潜在利/弊是什么?

事实上,这有点像开源批评者过去认为开源项目最终会走向成功的方式。毕竟,你、我或其他任何人都可以接受任何开源项目,并在明天将其引入另一个分支

谢天谢地,这将在社区中获得任何吸引力的唯一情况是,我们要么把它带到一个专业的rôle(这样它就没有真正与原始项目竞争,只是建立在一个共同的祖先之上),要么是对原始项目的运行方式有巨大的不满(在开源政治中,这是一种核打击选项)

它被用作反对开源的妖怪论据的原因是,不可能跟踪给定库、框架、语言、组件等的哪个版本的哪个版本的哪个版本的哪个版本的哪个版本可以与另一个版本的哪个版本的哪个版本的哪个版本一起工作


幸运的是,无论是开放的还是关闭的,这些分支机构都会在“市场”(无论该市场是经济的还是其他的)面前自然死亡.

事实上,这有点像开源批评者过去认为开源项目最终会继续下去的方式。毕竟,你、我或其他任何人都可以接受任何开源项目,并在明天将其转移到另一个分支

谢天谢地,这将在社区中获得任何吸引力的唯一情况是,我们要么把它带到一个专业的rôle(这样它就没有真正与原始项目竞争,只是建立在一个共同的祖先之上),要么是对原始项目的运行方式有巨大的不满(在开源政治中,这是一种核打击选项)

它被用作反对开源的妖怪论据的原因是,不可能跟踪给定库、框架、语言、组件等的哪个版本的哪个版本的哪个版本的哪个版本的哪个版本可以与另一个版本的哪个版本的哪个版本的哪个版本一起工作

幸运的是,无论是开放的还是关闭的,这些分支机构都会在“市场”(无论该市场是经济的还是其他的)面前自然死亡商店很难跟上已经发布的.Net的主要修订版。这种策略可能适用于一个不是全球主流开发平台的平台,但对于Microsoft(和许多开发人员)来说,这将是地狱

微软非常重视向后兼容性,尤其是在开发者(自90年代中期Windows问世以来,微软的生命线)方面令人担忧。由于Windows的规模,以及最近的.Net的采用,破坏性的更改会产生不可知的影响。你想成为一个不得不向史蒂夫·鲍尔默解释为什么你在新的.Net小版本中的酷补丁会破坏通用电气(比如)所使用的应用程序的人吗运营他们的业务?我们付出了巨大的努力来确保遗留应用程序和设备继续运行。增加要测试的版本矩阵将不可避免地导致偷工减料,我们都知道接下来会发生什么,对吗

你可以反驳说,没有人必须采用最新版本。但是,谁不在Windows SPs发布后立即安装它们,以避免安全问题的热修复?人们自然倾向于采用最新版本,尽管这必须与稳定性问题相平衡

Net在从Windows开发者词典中删除DLL地狱方面做得很好,并且在某种程度上使开发者平台进程与操作系统版本分离。我认为大多数Windows开发者并不急于看到这一变化。不管他们喜不喜欢,微软都非常擅长管理大型的、不经常发布的DLLat仍然是世界上事实上的桌面标准。随着Android在未来一两年在移动市场占据一席之地,谷歌如何处理同样的问题将是一件有趣的事情。

Many(更大)商店很难跟上已经发布的.Net的主要修订版。这种策略可能适用于一个不是全球主流开发平台的平台,但对于Microsoft(和许多开发人员)来说,这将是地狱

微软非常重视向后兼容性,尤其是在开发人员(自Windows问世以来,这是公司的命脉)的情况下