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 の関係を最もよく理解するにはどうすればよいですか?