.NET有一天可以移植吗?

时间:2009-12-29 22:47:54

标签: .net portability

不仅是紧凑框架。 我知道Mono,但它总是落后于.NET。

8 个答案:

答案 0 :(得分:4)

落后的步骤不是很多。特别是现在,Mono 2.6“借用”了Silverlight的WCF实现并提供了LINQ-to-SQL等价物。它可能没有广泛的Java覆盖范围,但我编写的代码在我关心的所有地方运行良好。

答案 1 :(得分:3)

除非有一些严重的行业转变。 MS所做的一切就是让你与他们的平台和产品联系在一起。 .Net将人们放在Windows上,让他们使用MS Office等。

在改变之前,MS的业务方式必须有很大的转变。

编辑:顺便说一下,这不是对MS的挖掘......他们的商业模式对他们来说非常好。我们其他人可能不喜欢它,但我们不是现金滚动的那些:)

这是对约翰在下面的评论的回应:

我认为这很明显。谷歌出售广告。他们的目标是让一切都消失,以便人们使用他们的产品并看到这些广告。雅虎是一样的。微软销售(主要)产品。他们的目标是让人们使用他们的产品。他们有3种方法:

  1. 制作好产品(消费者和开发者产品通常都是这样......减去份额)
  2. 积极推销
  3. 让您使用他们的产品。
  4. 对于他们今天如何做生意,他们并没有那么邪恶,这很好。回到白天他们会做一些阴暗的事情,比如在Windows中构建代码,使Lotus123运行得更慢(证明)。

    就像我上面所说的那样,我不会像他们做生意一样包装,它对他们来说非常有用。就是这样。

答案 2 :(得分:2)

如果你看看微软的历史,地狱没有

http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish

答案 3 :(得分:1)

这个问题绝对不可能完全回答,因为这里没有人可以预测未来,但我会走出困境,说不。今天开发便携式运行时的其他人可能会继续受到鼓励,但我不会指望第一方便携式运行时。

答案 4 :(得分:1)

Windows Mobile 7应该是一次重大升级,至少对于紧凑型框架的移动电话而言。让我们希望他们开始摆脱他们在.NET和.NET Compact Framework之间创建的这个差距。移动设备已经到了可能支持完整框架的程度,因此从长远来看,他们可能会逐步淘汰CF.

答案 5 :(得分:1)

部分便携,肯定,你提到了Mono。但是,.NET的某些方面需要花费大量精力来编写其他操作系统(WPF for one),这将阻止第三方公司完全支持它。

答案 6 :(得分:1)

为了便携性,它已经可移植用于便携式的某些定义。你必须更加具体。

至于你的另一个主张,有几个地方的单声道提前 .net。

SIMD作为示例

答案 7 :(得分:1)

我打算告诉你.NET 已经今天 。我很确定微软是否从未决定在PowerPC平台上构建XBox 360,如果他们已经已经为PowerPC构建了.NET。此外,如果他们没有 alrady 有一个适用于OSX的.NET工作版本,他们就不会开始构建Silverlight。

因此,.NET 是可移植的。只是微软永远不会移植它。

(这与OSX移植到x86平台的方式类似。苹果公司的工程师被问及他们如何设法将PowerPC-only OSX快速移植到x86.他们说这非常简单,因为OSX永远不会 < / em>仅限OSX。他们总是有一个x86版本。他们只是没有告诉任何人。)

然而,我也很好奇你声称Mono总是落后于.NET。我发现这很好奇有两个原因:

  1. 在同一行上,你列举了一个例子,Mono是.NET之前的光年:Mono已被移植到比.NET更多的平台上。
  2. 在Mono在其C#实现中引入了两个新功能之后两天就提出了这个主张,微软的实现非常缺乏,很多开发人员一直要求:字符串插值和多个返回值。
  3. 以下是Mono支持的其他一些功能,而.NET则不支持:

    • SIMD
    • 延续
    • 模块化
    • 静态编译(例如用于构建iPhone应用程序)
    • 64位数组索引
    • Compiler-as-a-Service(微软已经宣布将其用于.NET的未来版本,并且正在谈论它,因为它是自切片面包以来最好的东西。他们很容易忘记提到的是Mono有这个功能年龄,而它将需要相当长的时间才能在.NET中使用;绝对不会在4.0中。)
    • (与Compiler-as-a-Service相关)用C#编写的C#编译器
    • 哦,我们不要忘记:Mono是自由软件,一个功能,实际上是非常重要的功能,.NET没有