Other articles


  1. Understanding the Philosophy of LINQ

    LINQ is Microsoft’s greatest gift to software developers ever.

    Functional programming has been a sweet spot for emerging trends in software development for years. And I agree that functional programming will become even more important during the coming years as Moore’s law fails.

    But ever since I read …

    read more
  2. Getting Excited About C# 7.0 Tuples

    I’ve had the good luck to work on a number of legacy (read: profitable, stable) enterprise code bases. While appreciate all the benefits that such work entails, sometimes it means others may be getting into the new hotness, while my work is rather cool to the idea of adopting …

    read more
  3. Overloaded Inheritance in C#

    class Foo {
        public void Who( int i ) {
            Console.Write("Foo");
        }
    }
    
    class Bar : Foo {
        public void Who( double d ) {
            Console.Write("Bar");
        }
    }
    
    var bar = new Bar();
    bar.Who( (int) 1 );
    //Outputs "Bar" to the Console
    

    Why does the compiler use the double version of the method when we passed an integer …

    read more

social