Why you should learn F#
While I really like the concept of functional programming and F# is definitely on my list of practical useful languages to learn, this article is clearly written by someone who doesn&#x27;t know C# very well.<p>Take the &quot;To hell with interfaces&quot; example.<p><pre><code>  public interface ISortAlgorithm
  {
    List&lt;int&gt; Sort(List&lt;int&gt; values);
  }

  public class QuickSort : ISortAlgorithm
  {
    public List&lt;int&gt; Sort(List&lt;int&gt; values)
    {
        &#x2F;&#x2F; Do QuickSort
        return values;
    }
  }

  public class MergeSort : ISortAlgorithm
  {
    public List&lt;int&gt; Sort(List&lt;int&gt; values)
    {
        &#x2F;&#x2F; Do MergeSort
        return values;
    }
  }

  public void DoSomething(ISortAlgorithm sortAlgorithm, 
  List&lt;int&gt; values)
  {
    var sorted = sortAlgorithm.Sort(values);
  }

  public void Main()
  {
    var values = new List&lt;int&gt; { 9, 1, 5, 7 };
    DoSomething(new QuickSort(), values);
  }
</code></pre>
No, no, no, no, nope.<p><pre><code>  public static class MergeSort
  {
    public static List&lt;int&gt; Sort(List&lt;int&gt; values)
    {
        &#x2F;&#x2F; Do MergeSort
        return values;
    }
  }

  public void DoSomething(Func&lt;List&lt;int&gt;, List&lt;int&gt;&gt; 
  sortAlgorithm, List&lt;int&gt; values)
  {
    var sorted = sortAlgorithm(values);
  }

  public void Main()
  {
    var values = new List&lt;int&gt; { 9, 1, 5, 7 };
    DoSomething(QuickSort.Sort, values);
  }
</code></pre>
No interface necessary.<p>Or immutability:<p><pre><code>  &quot;public struct Customer
  {
    public string Name { get; }
    public string Address { get; }

    public Customer(string name, string address)
    {
        Name = name;
        Address = address;
    }
  }</code></pre>
So far so good, but unless someone knows C# very well one could have easily gotten this wrong.&quot;<p>Really?? This is beginner stuff.<p>I 100% agree that null sucks, functions should not need to be in classes and immutability is great, but this kind of strawman doesn&#x27;t help his point.