我刚听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# 是为了“以函数式方式处理编程问题”
但是 IronPython 和 IronRuby 呢? 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/