Wednesday, 20 May 2009

Microsoft C# 4.0

Today, I had a chance to look at this excellent presentation from Anders Hejlsberg on Microsoft C# 4.0 and it's future direction. Found it really enlightening. What I also find fascinating is that C# is evolving into more and more dynamic language, where type correction is making way for flexibility and powerful expression. We saw some of that with the introduction of var keyword in C# 3.0 and now we have a new keyword "dynamic" for Dynamic Language Runtime. I can almost hear a Visual Basic vs C++ argument echoing into my ears :) Language purists might loathe it  but we can't deny the advantages of dynamic languages in creating quick simple applications. (Imagine the life if javascript was strongly typed). The danger is ofcourse that people would get carried away with it and we would see quite a lot of badly written dynamic code causing lots and lots of runtime type conversions.

Another notable thing is the use of more and more functional programming features in C#. This is definitely a good thing. Especially now that all modern languages run over a virtual machine, where they have a real chance to get some performance optimisation by doing some clever prediction on the behaviour of executing code.

PS: Beta 1 of VSTS2010 and .Net 4.0 was released today for MSDN subscribers. Here's the link

No comments: