Wednesday, July 08, 2009

The good and bad of recent .Net

The Good:
  • Extension methods
    I must admit that I can't get enough of extension methods. They make it much easier to create powerfull structures that are very easy to use, without compromising your good architecture.
  • Lambda expressions
    These are not much of a revolution, but I like having a more compact way of writing code.
  • WCF
    WCF scores high on the simplicity and extendability. I'm not sure I would have designed it the same way, but it does the job. It's coolest feature is that you can start out simple and add complexity a long the way.
  • F#
    F# brings functional programming to .net. The functional paragime brought to .net is very exciting and it will hopefully inspire a lot of people out there.

The Bad:
  • Silverlight
    This framework has been hyped a lot. Although it has a lot of cool features, its lacking the most important one: Interoperability. If I choose silverlight I'm still forcing all my user to windows.
  • WorkFlow Foundation
    I had high hopes for this framework. I have previously worked on workflow systems and was looking forward to having a framework that would ease the creation of workflow systems. I think the problem is that workflow foundation wants to do too much. Anything is possible and that makes it closer to a generic than to a dsl for workflows. I would have preferred a more specialized framework.
  • Entity Framework
    The good thing is that more .net developers have now heard of ORM. The bad thing is that the ideas with EF are quite bad and I would choose another ORM anyday. Too bad this means that more and more will use EF and at some point we are probably all going to be forced into using it.
  • MSTest
    This product doesn't really make a difference. It doesn't provide anything that was not out there already. My preference is still NUnit.
  • TFS
    If you haven't tried this, then don't mind. It is way too ambitious and too complex to use.
  • Monodevelop
    Mono has come a long way. The big problem is and will always be that Mono will always be behind ms .net. Mono has serious problems in being compliant with .net because .net is so closed.