.NET Source Code

Wow!


Like I didn’t have enough to do already, Microsoft will now let me download and peruse the .NET framework source code. Talk about exciting Saturday nights.


In all seriousness, this is very valuable for debugging. There are places the framework goes south and it’s hard to figure out why. This will help with debugging scenarios, and will be easier to use than Reflector in many other scenarios.


I am a little worried that at a time VB is finally coming into its own (XML LINQ, My, announced DLR support , etc) that this source code release for the first time makes it relevant whether you are writing in the same language as the framework.


My simple answer to that is that we already lived in a world where every VB programmer should be comfortable reading C# and every C# programmer should be comfortable reading VB. In the first case, samples are coming out first in C#, a few scenarios require C#, and now the framework will be in your debugger in C#. C# programmer’s need to be able to read and code in VB because there are some very common scenarios where VB is easier and ignoring the world of dynamic languages is just silly. The common scenarios include the occasional late binding scenario, interop with Office (unless you are very fond of redundant Missing.Value) and XML scenarios under .NET 3.5.


As each language evolves to have cool new features, there will be increasing reasons to mix languages in applications so we are using the best tool for the job. With snippets and Intellisense, crossover is really not so hard, although it infuriates me that the teams won’t take seriously explicit crossover features like quietly removing that stray semicolon that wanders into my VB application.


All of which is off topic. Three cheers to Microsoft for releasing this source code!


 

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>