Even though Microsoft officially just released Visual Studio 2008 last week, I’ve been using it for months I thought it would be worthwhile to go over some of the key benefits that helped me become more productive when coding.
Credit Where Credit’s Due
Anyone that follows my blog knows that I like to *cough* complain. Maybe that’s because I’m passionate and have high standards. Or maybe it’s because I’m an optimist, and I have such high hopes; I’m so disappointed when things fall short. Either way, I still know how to give credit and kudos where they’re due. And they’re definitely due with Visual Studio 2008 and Microsoft .NET Framework 3.5.
Another big improvement is Visual Studio 2008’s completely re-written rendering engine and improved support for Web layout and CSS. For years I thought it was rather ironic that some of my CSS-based sites rendered well in browsers, but simply wouldn’t work in the tool that I created them in (Visual Studio 2005, and even, in some cases, Dreamweaver). But now that Visual Studio 2008 is sporting a new rendering engine, I find that my sites all work within Visual Studio. I can even engage in some WYSWYG design, while still controlling exactly where my styles are managed and modified (inline, page-lever, or external). But I really love the way that external stylesheet information is integrated with IntelliSense. It’s just one of those little things that’s helped boost my productivity.
Of course, LINQ has also been a huge productivity booster as well. And while I’m still not sure that I’ll give up coding my own sprocs in sites where performance is an essential requirement, I did use it recently to crank out a complex admin tool in just days. I used LINQ with a custom DataContext class. What was killer about that experience was that I could wire up my entire object model in just minutes. I used virtually no T-SQL or sproc coding (I used two sprocs, via LINQ, for some specialized updates, but that was it). With a bunch of dragging and dropping, some tweaking, a few changes here and there I was up and running with a fully-functional object model based on roughly 30 tables from my database. In retrospect, what floored me most about this experience (other than how easy it was) is that it looks like we’re finally really getting to the goal of declarative programming that Microsoft has been trying to realize for years. I still needed to wire in a bunch of my own functionality in an accompanying partial class, but the speed and ease with which I was able to build my admin tool was astounding – even for a skeptic like me. So if you haven’t paid attention to LINQ yet, then you need to.
One of the best things about Visual Studio 2008 is that it was designed to avoid breaking changes. It also provides Multi-Targeting support that makes it simple to manage .NET Framework 3.5, .NET Framework 3.0, and .NET Framework 2.0 applications. This means that you won’t have to have Visual Studio 2008 and Visual Studio 2005 running on your box in order to take advantage of the new features. Instead, you can just replace Visual Studio 2005, and from there you’ll have the ability to target your projects against multiple versions of the .NET Framework.
Multi-Targeting is possible because .NET Framework 3.5 and 3.0. use .NET Framework 2.0 under the covers–along with improved compiler support and additional, supporting assemblies. You should enjoy a pretty painless upgrade experience (contrasted to the jump from .NET Framework 1.0 or 1.1 to .NET Framework 2.0). That’s been the case for me: My choice to upgrade has netted me nothing but increased productivity.
The enhancements I’ve discussed here represent a tiny part of the improvements in Visual Studio 2008 and .NET Framework 3.5. In the next newsletter I’ll provide an overview of some of the key benefits that I’m enjoying with C# in .NET Framework 3.5 (if anyone wants to do the same for VB.NET, let me know). Otherwise, make sure to let us know if there’s anything I’ve missed by sounding off in the comments.