Boo是否完全兼容C#?

5
< p > Boo 看起来是一种非常酷的语言。它是否与 C# 100% 兼容?我的意思是:我能使用任何 C# DLL/类吗?我能利用 XNA 框架吗?


如果它在.NET之上运行,那么它应该是可以的。 - Adrian Godong
是的,我认为我已经成功地使用F#实现了XNA。 - RCIX
4个回答

6
据我所知,Boo在.NET CLR之上有一个实现,这意味着它应该能够既使用C#代码,也被C#代码所使用。当从C#中使用Boo时,语法可能不总是优美的,但相反的情况应该非常优雅,因为Boo具有简洁明了的语法。
此外,.NET BCL中的所有类都应该在Boo中可用。

2
是的,Boo很容易被C#消耗,反之亦然。 Boo最好的特性大多不能转移到C#,例如语法宏,这是显而易见的原因,但你可以在C#中创建宏并在Boo中使用。此外,Boo具有创建模块的好功能,而这是你无法在C#中做到的。
它们都可以创建扩展方法。Boo拥有“鸭子”类型,而C#现在拥有“动态”关键字。虽然它们在功能上是等同的,但最终可能会看到两者合并。
Boo目前已知存在泛型问题,但一旦修复所有问题,该功能将完全受支持。我认为还需要进行一些额外的工作,以支持.NET 4中的新协变/逆变特性。

1

使用Boo与C#使用VB.NET没有什么不同。目前两者之间(在功能上)唯一的区别是Boo没有指针...但有方法来处理它。

PS:Boo是一种很棒的语言。


1
据我所知,任何编译成中间语言(IL)的语言(即.NET版的Java字节码),都可以与其他使用同样中间语言的语言配合使用。因此,你可以混合使用C#、F#、ASP.NET和VB.NET;如果Boo也是如此,那么你应该也能够与C#一起使用它。

2
不完全是这样。在某些语言中,可以创建其他语言无法使用的结构。例如:http://codebetter.com/blogs/matthew.podwysocki/archive/2008/09/10/object-oriented-f-extension-everything.aspx - Mauricio Scheffer

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