c# - F# 之于 IronPython/IronRuby 就像 C# 之于 VB.NET?

标签 c# vb.net f# ironpython ironruby

我刚听podcast of Chris Smith talking about F#他在其中谈到 F# 是一种语言,它允许您以不同于 C#/VB.NET 的方式以不同的方式解决问题,即不是“插入位”,而是“将数据转换链接在一起” ,以及 F# 将如何“变得像 XML”,除了您选择的语言(C# 或 VB.NET)之外,您还可以使用它来以更有效的方式解决某些问题。

让我开始思考.NET 语言之间的关系,以下是我对它们的理解:

  • C# 和 VB.NET 在语法上有区别,但没有本质区别,即 C# 程序员不会为了“以新的方式解决问题”而学习 VB.NET
  • 但是,C# 或 VB.NET 程序员学习 F# 是为了“以函数式方式处理编程问题”

但是 IronPythonIronRuby 呢? Chris 提到“F# 从 Ruby 和 Python 中学到了很多东西”,所以我认为 F# 与 IronRuby/IronPython 的关系相似,而 C# 与 VB.NET 的关系相似。然而,稍微谷歌一下我就知道 IronRuby 和 IronPython 都构建在 DLR 上,但 F# 不是

如何更好地理解 F#、IronRuby 和 IronPython 之间的关系?

最佳答案

从语言的角度来看,F# 和 IronPython/IronRuby 相距甚远。 F# 是一种功能性、高度类型化的编译语言。 IronRuby/IronPython 是动态类型的解释型语言。

我相信 IronPython 确实还支持编译,但我不是 100% 确定,更不用说 ruby​​ 了。

VB.Net 和 C# 之间的关系更加密切。

关于c# - F# 之于 IronPython/IronRuby 就像 C# 之于 VB.NET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/977823/

相关文章:

MySQL 数据不从表 VB.NET 中删除

c# - 使用 f# 扩展从 C# 中的枚举获取枚举描述属性

F#:不能在签名中隐藏类型缩写?为什么不?

c# - 将数组解包到方法参数中

c# - AES 计数器模式 C# 等效

c# - 在表单上的列表中显示文件名和错误

无法使用 VB 从 C 函数读取 char *

c# - 是否可以使用 TagLibSharp 从 MP3 文件中删除 Lyrics3v2 标签?

f# - 在 F# 中使用另一种记录类型扩展记录类型

c# - "The ' : ' character, hexadecimal value 0x3A, cannot be included in a name"