The Coding Monkey

Saturday, November 19, 2005

Microsoft's Education Problem

I recently was talking to my brother-in-law about a whole slew of different programming topics. My brother-in-law in many ways has been a mentor to me in my software career, and is a brilliant software engineer (even though he doesn't have an engineering degree). He really needs to get back to blogging, because he could provide a lot of good insight. During our discussion, he brought up the fact that he just found out that you could embed files as a resource stream in a .NET assembly. I was taken back for a moment... not because I didn't know you could that, but because he didn't know you could do that. That's actually one of the common tools in my programming arsenal. Later on that night it really struck me. Microsoft doesn't do a good enough job in educating it's programmers with .NET.

Microsoft has created a huge framework in .NET. It's so huge in fact, that people don't really know how big it is, or what is contained in it for you to use. I don't know how many times I've gone into a company and seem them writing code to do some task, when the majority of that code is already contained in the framework somewhere if they just knew where to look for it. The majority of Microsoft's marketing and educational campaigns to date have concentrated on two main things. First they push their languages, and second they push their tools. People know a lot about the nuts and bolts of C# and VB.NET, and they know a lot about the productivity enhancements contained in the various versions of Visual Studio.

But did you know that the Windows Forms editor is actually a part of the .NET framework which you could host inside your own application if you knew how? Did you know that if you wanted to output well formatted HTML to a text file in a windows forms application (as opposed to an ASP.NET app) that you could use the XmlTextWriter to do it, and it would be significantly easier than using simple strings or StringBuilder? A lot of people know that .NET has a support for regular expressions, but did you know that it also has the ability to create an assembly of precompiled regular expressions that you can use as a regular expression library?

Of course I'm really just scratching the surface here, but you get the idea. So as a public service to the .NET community, I'm going to start a new series of posts here at The Coding Monkey called "Did You Know You Could Do That?" where I'll hopefully shine the light on a feature of the framework that you didn't know existed before, or that you didn't know how to use. Look for it soon.


Post a Comment

<< Home