views:

747

answers:

7

Forgive me if this is a repeat question. I've searched StackOverflow and did not find the answer to my question, so here goes.

We currently have a web application running ASP.NET 2.0 with AJAX Extensions 1.0 and SQL Server 2005 running, is deployed on IIS 6 and developing in VS2005. All works great, but I'm trying to find compelling reasons to migrate. The clients we serve to do not permit plugins in general in browsers, so Silverlight is not a reason for us to migrate. Also, we don't have any plans to migrate to SQL Server 2008 any time soon and ASP.NET MVC is not in the works either.

Here's my reasons to migrate. I would like people to comment on them or add to the list:

  • I want to work with the newer .NET stuff (and I think other developers would too. Also appealing to prospective employees)
  • Want to keep the technology up to date.
  • Extension methods
  • PageMethods in WebControls
  • WCF
  • LINQ maybe (we currently use AutoSproc for our DAL)
  • ASP.NET AJAX built-in to ASP.NET 3.5 (not really a big deal though)
  • VS.NET 2008 JavaScript Intellisense
+2  A: 

The javascript intellisense is a huge improvement over anything that's come before. But at the same time it still fails in some very spectacular ways. All in all a good step but not something I've been able to use as much as I'd like.

The extension methods and linq (linq to objects and lambdas, not just linq to sql) are very cool, but since you have an orm already set up you won't use them as much as you'd like either.

WCF is okay, but you're probably not going to re-write your existing services for it.

I think the biggest reason up there is keeping your employees happy and attracting good new ones.

Joel Coehoorn
Yes, that is the point! - "I think the biggest reason up there is keeping your employees happy and attracting good new ones."
User
^ How does migrating from 2.0 to 3.5, "keep your employees happy"? That is a huge risk in migrating working applications to a new MS web platform. Never has anything like that been "easy" or "happy". The business only cares about it's business staying running. The tools dont matter in the long run of things. Jumping platform ships is just too risky to encourage, anywhere.
Devtron
@Devtron - it means the _programmer_ employees. Programmers generally like working with nicer tools and knowing that their skills aren't falling behind their peers.
Joel Coehoorn
^ That is correct, programmer employees enjoy working toolsets. I find it very hard to believe that javascript upgrades are motivation to migrate your entire web platform. A few years ago, Microsoft discouraged the use of Javascript (it was unsuported). Now they re-invented it with AJAX and act like its something new. I know you drink the MS koolaid, but I find it hard to believe that Javascript upgrades would convince anyone to migrate web platforms. You said LINQ isnt an option either. WCF? Not gonna rewrite existing services. New doesnt mean better.
Devtron
"I think the biggest reason up there is keeping your employees happy and attracting good new ones." - essentially, buying into buzzwords.
Devtron
+3  A: 

My favorite parts are:

  • Lambda expressions
  • Functions available in the System.Data.Linq namespace: Where(...), OrderBy(...), ForEach(...)
  • Extension methods (add a "ToDelimitedString(...)" to all IEnumerable!)
  • Visual Studio 2008 is nicer with HTML/web syntax and debugging, including the aforementioned Javascript intellisense and debugging.

Each of these allow you to write code in a more productive manner.
It largely eliminates the boilerplate "foreach", "if x != null", and other boring constructs.

Jeff Meatball Yang
VS 2008 is way nicer with the HTML editor, finally catching up to competitors. You can use VS 2008 and still target the 2.0 framework.
Bratch
yeah, you can refactor your code to hell and back, to use the 3.5 features. that is up to you and your business I suppose.
Devtron
+2  A: 

You have absolutely no reason to upgrade, from a business prospective.

You have absolutely every reason to upgrade, from a developer prospective.

Just keep in mind that SQL 2008 is not backwards compatible with SQL 2005, meaning, if you develop something in SQL 2008, chances are, your 2005 platform will barf at it. I just recently experienced this with SSIS packages.

Devtron
"You have absolutely no reason to upgrade, from a business prospective" Not quite true. If you stay in the "don't upgrade" state of affairs for too long, eventually, it's going to bite you in the butt and force you to upgrade with way more pain (leading to more cost) than it would have had had you continually upgraded (even if you skipped every other version). We've recently experienced that where I work, and now the policy is to always upgrade.
RobH
Visual Studio 2008 helps a developer be more productive and efficient. Period. This is all you need as a business argument.
Jeff Meatball Yang
^ That sounds like an opinion, instead of factual. How do you measure productivity and efficiency like that? Can you honestly say that, not knowing what the application requirements are? No you cant. Just because 2008 has some fancy tools, doesnt mean it makes you more productive, that is up to the developer and the architecture in place.
Devtron
Just because you give a student driver a race car does not mean they will drive fast. My advice is, "dont fix it if it aint broken". I dont think any of you actually read and understood the question. Who in their right mind would change MS web platforms, just because of Microsoft sales talk? I wouldnt want to work with you, LOL.
Devtron
A: 

All the points mentioned are valid.

But as a developer, when facing this kind of question, I always ask myself from the other side.

What is Compelling Reasons NOT to Migrate from ASP.NET 2.0 to ASP.NET 3.5? I find it easier to get myself motivated to upgrade.

J.W.
+2  A: 

LINQ is a reason to upgrade, even if you don't swap out your DAL, or don't do it for a while. In the product I've been working on lately, our development schedule is such that there's no room to change our DAL to a LINQ-based one for a while yet, but even so I find good reasons to use LINQ-to-Objects and/or LINQ-to-XML in probably 60% of the classes I touch, and I love it.

Joel Mueller
A: 

The free Microsoft ASP.net Chart control and the new version of Ajax tool kit both require 3.5. If i'm not mistaken.

Jack
+1  A: 

Everything still runs on .NET 2.0, it's just library and language enhancements and an improved IDE experience, which are made to increase productivity. Increased productivity = justification.

I use LINQ all the time now, every single day. It's not just for your DAL. It's about querying anything, with the same API over top. More generally, lamba expressions provide you with the ability to do some things that are very complicated and take a lot more code without them. Anonymous types are very useful as well.

Richard Hein