Would it make good business sense to create web based software on the .net framework. Microsoft comes out with a new version of .net every 10 months or so... The support for the older versions of .net will be fading away gradually ...
What other options are you looking at?
If you continue to wait until the next version, then you will never create your software at all. Technology will always be changing so you just have to use what is currently available and upgrade later if needed. Not all changes to the framework are necessary for all applications.
Typically, .NET applications are easily transitioned from one version to another. If your business / client needs it now and it will be profitable now, then there is no reason not to.
It's not as if the older versions go away somewhere. The only thing to really worry about is security patches, which eventually they'll stop making for the oldest versions. But the various .NET versions are mostly backwards-compatible, so if you bring code from an older version into a newer version, there are few if any things that will suddenly stop working.
So, why worry about it?
Yes, it makes fine business sense. Each version of .NET is pretty much backward compatible, so there is no real worry about it not being supported. New versions of PHP, Java, Ruby, etc are released every few months. You wouldn't use the same arguments not to use those. The fact that new versions are coming out means they are supported.
.NET is a pleasure to work with as a developer. I am not a Microsoft boy, I do plenty of PHP and have done plenty of Java, but .NET is well thought out and expresses my thoughts as a programmer succinctly and elegantly. It is also fairly easy to find decent programmers for .NET.
Unless you count service packs, MS doesn't come up with a new version of .NET every 10 months.
- v1.0 - January 2002
- v1.1 - April 2003
- v2.0 - November 2005
- v3.0 - November 2006
- v3.5 - November 2007
Not a single pair of releases in that list is within 10 months, let alone averaging it. It's nearly November 2008 and there's certainly no sign of .NET 4.0 being "about to be released".
But yes, Microsoft is certainly still evolving the platform. Why would you think that's a bad thing? Yes, it takes effort to keep up-to-date - but like it or not, technology is moving on all over the place, and if you don't put in the time to learn new things, you will fall behind.
The pace of change is definitely not a reason to avoid developing web applications on .NET.
While I expect support for older frameworks to be dropped eventually from VisualStudio, although VS2008 supporing 2.0 through 3.5 is encouraging, all of the frameworks are available for us in the OS. Nothing requires you to update tools AND you can have multiple versions of the tools installed on the same workstation if you want. I have both VS2005 and VS2008 on mine right now.
On top of this, it isn't terribly difficult to bring older code up to newer versions as others have noted. I've had pretty good success with this.
Also, I don't think that the problem of versioning is unique to .NET -- all frameworks have it...and we're glad they do since it means newer, better tools to work with.
They still provide COM support. They still have Win32. They still have GDI. I have no worries about any version of .NET going anywhere any time soon.
On top of that, .Net 2.0 and .Net 3.5 SP1 is still running on the same runtime!