我刚刚听了Chris Smith 的播客谈论 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 之间的关系?