An anonymous newsletter subscriber has a few thoughts about the upcoming release of Visual Studio 2005.
I have several concerns with the upcoming .Net 2005 that I'd like to share with you.
First, let's re-visit .Net 2003. There were many betas before the final release, and even after the final release there were problems up to SP1. During this time I took enormous interest to get 'up-to-speed' on the new technology because I had made the decision to move forward at the forefront of .Net. My biggest disappointment was the drastic changes from beta to SP1. Today you can look at all the beta releases and almost all code samples don't work today without heavy re-work. It leaves a lot to be desired about the content of beta articles as well.
Looking forward to .Net 2005 I've made the decision to leave it alone until I absolutely have to make the change. And for good reasons.
My first complaint about what is happening today is that everyone that is a reputable writer seems to be focused on .Net 2005 and somewhat forgetting the current version. The current version makes me money today that pays my bills - .Net 2005 is nothing but vaporware and promises as far as I'm concerned, but it makes the writers their income. Conflict 1 - money.
I subscribe to MSDN and VS Studio (I dropped Code Mag). The in-depth articles of late focus on the new vaporware products, but little substance is given to current issues. Occasionally we get a good one to read that fits our needs, but very seldom. I came very close to dumping both magazines because I get more information from internet sites that helps me in my actual work. It's a shame to waste the money as more often than before I scan a magazine and throw it in the pile, unread.
Second, based on the first .Net release pattern I doubt that what comes with beta will work after .Net 2005 SP1. Conflict 2 - why waste my time?
Third, the first wave of books will be based mostly on beta and some pre-release candidate version. My early books of .Net 2003 have long been trashed - they have no value for today's work. Conflict 3 - why waste my money?
I've bought many of your books over the past few years, including your first two .Net books on database and XML subjects. They were very good for my early days of study. However, before I buy and .Net 2005 books I have to have a clear path to income using the technology. Conflict 4 - where and when to put my time for future technology.
Perhaps the biggest question at this time concerns how long .Net 2003 will last as my primary provider of income. At my current account they survived on DOS, Clipper and Novell products for 18 years, and up to two years ago were still running Windows 98. Today they have all new hardware running .Net 2003, SQL Server and Microsoft networks. And a new B2B website that interacts with their SQL database for their customers. They have no reason to make any changes for another 10 years, but they will continue to advance their server/network software. Another important strategy is to avoid all the software upgrades, especially drivers, so that what they have remains pristine and running. If it's not broken then don't worry about it. Everything is protected by the Server, which is constantly upgraded. This business strategy works for the small to medium sized business (budgets), and this is where I concentrate my income efforts.
So, it's all about money.
The next biggest question is when will I have to upgrade to .Net 2005 (or should I just wait and skip to .Net 2007?)? The articles I've been reading all say we have to make the changes for our own good, but no one makes the case, in my opinion. To me it sounds like these folks are on the Microsoft payroll, one way or another. Big business will lead the movement because they have the money and the need to stay ahead of the competition. It's interesting that a fortune 500 company I worked for 4 years as a consultant is 100% Microsoft and IBM committed. Everything has been upgraded to Windows XP and .Net, however all their servers are still Windows 2000 because they can't directly convert or transfer to active directory based servers (and they have over 1,000 servers in a dozen domains countrywide).
The future is full of uncertainty, constantly being pushed by Microsoft to keep their income flowing with a continuing product-driven evolution. And we pay, and pay and never stop paying. It's all about money.
Rod Stephens responds:
Magazine authors typically jump on the latest release for a couple of reasons. First, readers have little information about it and many of them want to know more. That means publishers want articles about it. Because readers don't know much about it, it's also easier to pick interesting article topics. It's harder to pick interesting, easy topics about VB 6 because people have been writing about it for so long.
As for books, almost no publishers are writing books for VB 6 right now (I've tried). Unfortunately bookstore buyers stock up on *anything* that comes out when the product is released, largely because the users are desperate enough to buy anything at that point no matter how bad it is. Then to make matters worse, the bookstore buyers restock based on how many they bought the first time (Gee, I bought a lot of this book before. It must be good so I'll buy a lot more now.) so it's hard for a good book that enters the market late to ever catch up with a terrible book that came out early.
The books I find most useful are those that are language or at least dialect independent. For example, by books Ready-to-Run Visual Basic Algorithms, Visual Basic Graphics Programming, and Bug Proofing Visual Basic deal with issues that don't rely on the idiosyncrasies of the development environment. Their ideas work in any programming language and their examples work pretty well in VB 4, 5, and 6. I want to write .NET versions as soon as my publisher will let me and I expect their code to work with different versions of .NET moving forward.
There will probably be a flood of books around the time when VS 2005 is released. Yes, they will be based on the betas. Picking the right book will be tricky. Spend some time looking them over carefully in the bookstore before you buy. Books by established authors may have a better chance of a revised edition in the following year or so. Also check out the books' Web sites. A site that has an obvious place for corrections and revised sample code will help deal with changes since the beta.
This person wonders whether he should wait for SP1 or VS 2007 before jumping on board. This is the most important question for all of us. There's a lot to be said for waiting until someone else has a chance to debug the newest release.
The big question here is, "What's new in VS 2005?"
So far it seems as if the theme of VS 2005 is developer productivity. A few examples include:
- Code snippets that make reusing chunks of code easier
- The My namespace that makes it easier to perform common tasks such as reading and writing files
- Edit and continue
- Easier access to resource files and config files
- The Continue statement
- Operator overloading
- The IsNot operator (so you can say "If A IsNot Nothing" instead of the more awkward "If Not A Is Nothing")
- The Using statement that helps ensure resources are released when a block of code ends
None of this is as earth-shaking as the introduction of classes, for example. Will you be more productive with VS 2005? Probably. Will it mean the end of the world if you don't use it right away? Definitely not.
So is it worth the risk of moving to the bleeding edge to take advantage of the new tools? That's the question we each have to answer.
Curt Whitaker replies:
If you want the best summary on why developers are so reluctant to move to
.NET (any version), please read the following articles:
With what Joel writes about in mind, VS2005 supposedly offers a leap
forward in WinForms development - and rumors are that MSFT is doing this in
an attempt to convert VB6 developers who feel VB.NET is focused too much on
thing client (web) development. I'm not sure they can convert everyone as
MANY hard core VB6 developers feel VB.NET abandoned true VB -and the only
thing in common with VB6 is the VB in the name. One thing is for sure,
they took the RAD out of VB.