Fog Creek Software
Discussion Board




Is it safe to use VS.Net 2005 now?

My company's foray into .Net will begin with ASP.Net for our web applications and I guess I'll have to install VS.Net 2K5 to do it, right?

Since 2005 is just around the corner, is it safe to start using VS.Net 2K5 + ASP.Net 2.0 without expecting any major changes to the tools/framework?

Thanks.

Wayne
Thursday, September 02, 2004

No.

Brad Wilson (dotnetguy.techieswithcats.com)
Thursday, September 02, 2004

I think you'd be mad to start development with beta tools, unless you were very clear on how you'd cope with changes to the tools.

Unless you have good insider knowledge from MS, you cannot predict what will break when the actual code ships, so that's pretty much asking for trouble.

I know someone whose "ISV" didn't want to wait for the real VB6 to come out, so built a substantial product for a vertical industry with an early beta. It worked well, after they spent ages working around the bugs, so they sold it to lots of clients, shipping the beta runtime, etc.

Of course, they thought it was cool, using the latest and greatest tools (so late and great they were still in beta), but things started to go badly wrong when they eventually got the "real" VB6, as all sorts of problems came out of the woodwork.

I would say that it is good to play with beta products like this and even use them for some prototyping work, but starting work on a critical project with them is not sensible.

As always, YMMV and if you absolutely must have the new toys and don't mind all the pain that goes with it (now and later), then be my guest.

Nemesis
Thursday, September 02, 2004

I'd disagree with Brad, and presuming that you really, really can tolerate product slip (for instance can you tolerate the product being delivered mid to late 2005?) I'd start development using 2005. There'll be small framework changes, but it's unlikely there will be anything signficant. I'd take this further and say that I'd target SQL Server 2005, leveraging all of the improvements at the same time.

Is there risk? Absolutely. On the flip side not leveraging available technologies is a risk of obsolete/redundant code.

Dennis Forbes
Thursday, September 02, 2004

"I would say that it is good to play with beta products like this and even use them for some prototyping work, but starting work on a critical project with them is not sensible."

Your example is hardly sensible - the guy sold copies of a product built in a beta product, and actually shipped beta runtimes? I actually don't think that is even legal with VS.NET 2005.

However most projects have timelines that go for a year or more (that is if people live in the real world when making schedules) - I highly doubt the OP will be selling the product, or even releasing for significant internal use, before the real release ships. I also question any claims that there'll be overwhelming changes: This product is simply too substantial for there to be likely insurmountable changes. I'm not saying that there won't be, as obviously I don't know that, but we're talking about a product scheduled to ship in the first quarter of 2005.

Dennis Forbes
Thursday, September 02, 2004

I agree with Dennis, although at first glance it may appear otherwise.

I think it'd be great to use ASP.NET 2.0, VS.NET 2005 and also SQL 2005, but you have to buy into the risk, not ignore it.

There are two main areas of risk that must be mitigated. Firstly, the time factor. At the moment these products may appear next year, but what if it happens in December 2005, or even later (remember how many years late Windows "95" was).

The second risk is the fact that the final products will not be the same as the beta versions, so you will have to re-test everything and probably make some changes.

The danger, as always, is convincing the powers that be that you need a big chunk of time to re-test/fix when the new products become available.

As long as you embrace this risk, i.e. by planning for it, rather than ignoring it, you will, as Dennis says, be able to leverage the new products.

Nemesis
Thursday, September 02, 2004

Dennis, it was illegal AFAIK to ship products based upon the VB6 beta, but that didn't seem to stop them selling it, or their clients (household names, in UK) buying it.

Nemesis
Thursday, September 02, 2004

Is the IDE itself reliable? Can I still build version 1.1 applications without major pains?

I use VS.Net 2K3 for building ASP Classic stuff right now and one of the main things I'm looking forward to is an updated IDE. (Hopefully it will stop adding ID/Name attributes when I copy/paste controls, my main complaint with it.)

Also, ASP.Net 2.0 has Master Pages which sounds appealing.

Wayne
Thursday, September 02, 2004


Rule of thumb:

Never base your products on betas or v1.0 of a companies project.

Corrolary:

This applies double if the company is Microsoft.

KC
Thursday, September 02, 2004

Is Master Pages still in? Thought I heard it was out for the initial 2.0 release.

Just me (Sir to you)
Thursday, September 02, 2004

If Sir is right on that, this would be a good example of a fundamental change between beta and real product.

Nemesis
Thursday, September 02, 2004

http://lab.msdn.microsoft.com/vs2005/articles/default.aspx

Dennis Forbes
Thursday, September 02, 2004

Okay, so what about just using the IDE then?

Wayne
Thursday, September 02, 2004

No. It's not safe, it's... very dangerous, be careful.

babe
Thursday, September 02, 2004

If you are targetting a Q4 2005 initial release I would be tempted. Aren't we always ;-).

Just me (Sir to you)
Thursday, September 02, 2004

VS.NET 2005 is built specifically for building .NET 2.0 apps.

VS.NET 2003 is built specifically for building .NET 1.1 apps.

VS.NET 2002 is built specifically for building .NET 1.0 apps.

(In so far as .NET development is concerned)

To the OP, from your responses I would answer that you are unable or unwilling to accept the risk, so in your case I'd go with VS.NET 2003.

Indeed, for anyone else reading what I said above, let me add the disclaimer - Of course there is risk. There is risk that the product might not be released until 2006. There is a risk that they might decide that it's all flawed and they'll rebuild it all on Python. There's a risk that a killer bug will exist in the first release of 2.0 (remember that much of .NET 2.0 is actually a v1.0 release) that will make it unusable. There is a risk that Microsoft will decide to get out of the software game.

To properly assess whether you want to be an early adopter, you need to adequately assess your own ability to absorb these risks, and the benefits you would truly gain by being an early adopter. I have an associate that is developing a large scale web application and database back-end, and they are going with the 2005 platform - they understand and accept the risk, have a delivery that can absorb a fair amount of slip, and have built to adapt to change. On the flip side they have received a significant strategic advantage because of the code (and performance) that they are building off with 2005.

Dennis Forbes
Thursday, September 02, 2004

While it's right around the corner, they keep moving the corner.  So it might not be released as soon as you expect.

Dutch Boyd
Thursday, September 02, 2004

I'd say it's fairly safe if you have a release date of at least 1 year after the currently scheduled ship date of VS.Net '05, and if you avoid using bleeding edge functionality new to 2.0.  Remember, 2.0 will still run 1.1 apps, so if you limit yourself to 1.1 functionality, you'll be 99% safe.  But you do still need to budget time for work-arounds, fixes in response to changes in the Fx, and testing when 2.0 is officially released.

Of course, doing that removes a lot of the advantages of being an early adopter.  You do get the new IDE, which has some pretty cool features.  And you can pick and choose which parts of 2.0 will really be time savers for you, and assess the risk before you use them (or wrap them, so you can change your implementation if need be).

The above poster was correct in that '05 is for 2.0, '03 for 1.1, and '02 for 1.0, but you can also use "redirection" to target a different version by modifying your app.config file (check out http://www.gotdotnet.com/team/changeinfo/default.aspx).  Of course, once again, this assumes that your app doesn't use features found only in later versions of the framework...

Joe
Thursday, September 02, 2004

*  Recent Topics

*  Fog Creek Home