At last night’s MSDN Evening Briefing, I presented an Introduction to .Net for a full house of developers in Dublin. For those who weren’t there, I covered four topics: (1) a description of what .Net entails, (2) some examples of how .Net is being used in Ireland, (3) how to get .Net, and (4) community and resources for learning more about .Net. The presentation included quite a few links to more resources and information, so I’ve posted the slides here.
In addition to enjoying the craic, I always learn a lot when I speak with fellow developers at an occasion like this. The message I most wanted to get across about .Net is that the best way to learn about this stuff is to experiment with it yourself. Go and get the free Visual Studio 2005 Express Edition beta in the language of your choice. Take a look at some of the sample projects that the download includes, and build something yourself. Then, when your feet are wet, you’ll have a better sense of which of the many available resources would be most helpful for you as you continue to explore what’s possible.
There were two specific questions that I wanted to follow up on.
First, a lot of people migrating to .Net have legacy code they can’t live without. The .Net interop story is a very good one, and there’s a comprehensive summary of the interop story here. As I mentioned at the talk, I needed to do interop quite a few times in a former life – for example, so that I could access legacy signal acquisition software for monitoring brain waves. (Alas, the namespace System.Brainwaves doesn’t exist yet in the .Net framework.) When I was debugging the interop bit, which I wrote in Managed C++, Visual Studio would let me step from the C# code into the Managed C++ code and back again, all the while putting breakpoints in both types of code, putting watches on variables, and so on. And when I had it all working, I was able to tuck all the nitty gritty away in a managed Type sitting in a Managed C++ Assembly (.dll), so that I could again stop worrying about all the memory management stuff and treat it like any other .Net Type in any other .Net Assembly.
The other thing I wanted to mention was about Visual Basic migration. In Ireland we have a lot of developers who are used to working in VB6, and for those developers, VB.Net is typically the most comfortable language choice. I sometimes forget that, for VB6 developers, even though the VB.Net syntax is largely familiar, .Net does open up developers to the wide world of object-oriented programming. (And the transition may seem even more daunting if you’re used to thinking of VB as a scripting language, as it’s often used in Visual Basic for Applications). If you’re planning to migrate a codebase from VB6 to VB.Net, it’s worth your while to play around with VB.Net a bit first and learn the new concepts before cranking your VB6 project through the Migration Wizard. Learn about the concepts like metadata and reflection, and then, when you’re further into the comfort zone, go back to your legacy code and consider your own migration story.
Just so you don't have to go rooting through the slides, I'll summarize here some of my favourite online resources for learning more about .Net. The slides also include lots of links to offline resources and pointers into the local community.
If you want to watch an interactive, hour-long live audio/video presentation on a specific subject, take a look at Webcasts. You can participate live, or you can watch archived webcasts as well.
If you want to participate in a Webcast that's more like a lab, where you actually build something yourself over the course of the hour, check out Labcasts.
If you're looking for offline walkthroughs that lead you through the process of building a complete end-to-end solution, check out Learn247.
If you want short video sneak peeks into the lives of the people who are actually building the cool new stuff, check out Channel 9.
If you want hour-long episodes that present news and in-depth interviews about different technologies, check out MSDN TV.
If you want to look for blogs that target a specific subject of interest to you, root through the MSDN blogs.
My impression was that people found the briefing last night worthwhile. I really enjoyed myself, and I hope we'll have the chance to do a similar talk again (perhaps on the road), and also do some follow-ups. Let us know what drill-down subjects you'd find most interesting. Also, the Intro to .Net lab session in January would be a great way to follow up if you want to do some hands-on messing around with .Net.
But don't forget... above all else, just go play with this stuff and see what you can do :)