I started thinking about doing a “Remedial .NET” series shortly after wrapping up our popular “Remedial XML” series. But then I realized that Builder.com already has loads of content covering most everything you need to know to get cooking with .NET. So rather than reinvent the wheel, I thought I should just point you to a selection of articles already available on the subject.
Getting the background info you need
The fact that the .NET framework is completely and truly object-oriented is exciting for some and intimidating for others. Getting a handle on how .NET works depends on understanding how object-oriented programming works on the .NET platform. “The .NET Common Programming Model (CPM)” will give you a helpful overview of how .NET supports object-oriented programming (OOP).
Of equal importance is working out what .NET assemblies are, how they work, and how they affect deployment. These pseudo libraries are the fundamental elements of component programming on the .NET platform, and they represent a healthy step up from how things worked in the old COM world. “What’s in a namespace?” provides a nice introduction to assemblies from a programming standpoint.
You’ll probably also have some technical questions about the nuts and bolts of .NET as an application platform itself. While there’s not much about it that’s truly new, it is definitely different from what most Windows developers have seen before. I recommend a doubleheader here:
- The programs you write using the .NET platform aren’t compiled directly to native machine code. There’s an intermediate step. Read “Check under the MSIL hood to see how the CLR is running” for more about how this Intermediate Language works, and why you should care.
- “.NET compilation demystified” will give you details on how Common Language Runtime works and how your application’s Intermediate Language code is actually executed.
Which language should you choose?
Quite a bit has been said about the range of language choices available for .NET programmers. Usually, this discussion boils down to, “Should I learn VB.NET or C#?” and there are lots of misconceptions about both languages. In reality, it’s a silly question, as the choice is more a matter of personal taste. Check out “Where will the Visual Basic 6.0 developers go?” and “The three-million-programmer question: VB.NET or C#?” for some straight information before you choose one over the other.
If you do decide you’d like to try your hand at C#, you might want to have a look at our C# crash course. No shame there; I think I’m starting to favor it too.
Actually, your language choices aren’t limited to just C# or VB.NET. A number of other options are available, as I explain in “A hitchhiker’s guide to alternate .NET languages.”
Some practical instruction
Turning to more practical matters, it’s almost a certainty that you won’t be developing all new .NET applications from the start. You’ll likely find yourself instead needing access to “legacy” COM functionality you created for a previous project. Luckily, Microsoft knew this would be an issue, and it built in a way to leverage existing COM applications. In fact, not only can you use COM components from a .NET application, as explained in “COM and .NET interoperability,” but you can call code in a .NET assembly from a COM application. “Using .NET assemblies with COM” provides details on that half of the picture.
One area that’s sure to baffle VB6 developers is error handling—or more appropriately, exception handling. You’ll need to get a handle on that (no pun intended) before you get very far in your new .NET life. To help you out there, I’ve got two articles to offer:
- “.NET exceptions for the exceptionally challenged”
- “Ten tips for handling .NET exceptions exceptionally”
Further individual study required
These Builder.com articles should give you the background you’ll need to continue in your .NET self-education. Stay tuned to Builder.com for more great .NET articles, and be sure to send us an e-mail if you'd like us to cover a particular area.
What was your favorite?
Do you have a favorite .NET article on Builder.com? If so, send the editors an e-mail and let them know which one it is.