tags:

views:

374

answers:

8

Will it ever become obsolete?

+15  A: 

Yes, I'm sure it will become obsolete at some point. I think it's safe to assume our descendants won't be using it in 1000 years. Now, the more interesting question is when it becomes obsolete.

  • 5 years? Unlikely IMO.
  • 10 years? Almost certainly still in use, but possibly not for new development; MS in "support but no new versions mode"? I suspect it will still be very much alive at that point, but I wouldn't be totally surprised if it had been eclipsed by something else. It partly depends on how Windows itself fares as a platform, I suspect.
  • 20 years? I'd hope we've got better tools by then, but wouldn't be surprised to see significant maintenance development (including new versions of existing products) using the latest version of .NET at that point.
Jon Skeet
It does appear that .net is more "evolvable" than previous frameworks, so I think it will probably last the 10 years.
Draemon
Well Win32 certainly has been around for a long time so if Microsoft is committed to keeping the OS alive (as opposed to everything running on the net) I bet .NET will be around for a while. Good guess +1.
Brian Rasmussen
@Draemon: Yes, I suspect it will still be alive and well in 10 years; my middle bullet is more negative than I intended.
Jon Skeet
For developers, I would imagine it likely that it will continue for the twenty years. There are some big, multi-million pound apps out there that will require maintenance for long enough to achieve the desired ROI.
BlackWasp
I hope they advance enough to make it so that the recieving user does not have to install the framework.
masfenix
A: 

Why do you ask? I don't see it going anywhere in the near future. Perhaps Microsoft will rename it or rebrand it, etc., but the fundamentals should remain intact.

When does anything become obsolete? People are still using COBOL.

This is one of those questions... like, "What happens to you when you die?" Who the heck knows.

alex
Nobody knows, and nobody should really care - you shouldn't "stop bothering" with life just because you're going to die one day; similarly, you shouldn't rule out a platform based on the fact that, one day, it won't be quite so new and popular.
Rob
What happens to the white when the snow melts?
Chris
Rob - I'm not sure why you're telling me this. I obviously know.
alex
What does happen to the white?
Malfist
it fades to grey.
gbjbaanb
+6  A: 

Given the amount of legacy COBOL and other code lying around, I'd say nothing ever becomes truly obsolete, although obviously tools and techniques evolve and languages, frameworks and approaches become outdated and less used.

Microsoft has committed a significant investment into .NET and is actively developing it, so I'd say that it's going to be around for quite a considerable time. I doubt we'll be using .NET in any currently recognisable form in, say 20-30 years' time, but it's not going to disapper overnight next week.

You could pose a similar question regarding, e.g. the Java platform - the language is still popular, and the JVM is even more so, considering the number of languages now be ported onto it; things like JRuby and Jython and so on.

Strong architectures are built to last.

Rob
A: 

Will it become obsolete? Definitely yes. Nothing lasts forever.(*)

Will that be soon? Definitely not. Windows is still the dominant plattform, and .Net is one of the most interesting frameworks for it. For the next 5-10 years it will stay. Probably longer, because it also evolves.

(*) Except for (;;) of course...

Treb
Windows is the dominant platform? Maybe for desktops, but not for servers, mainframes or supercomputers. Sorry.
Malfist
And what is more common, servers/mainframes/supercomputers, or desktops?
Treb
+2  A: 

The best defense for .NET to be around for the long haul is that even new theoretical ways of coding (which aren't theory anymore) have been implemented in .NET from lambda to functional coding. In fact everything a researcher thinks up a new coding mindset it's implemented in .NET either as an addition to C# or as a new language (ex: F#). The only concept of developing left is pure GUI based development (drag'n'drop) and Visual Studio is slowing offering that more and more with each new version.

Since .NET is so flexible you can freely add existing or new languages, I think it's safe to say the community will be using .NET 10yrs from now. You can't compare .NET's life to VB because VB is a language, but .NET is an expandable platform.

TravisO
+1  A: 

MS is more enthusiastic about .NET then I thought, which is great thing! People can't even keep up with the stuff. I'm still not developing tools using .NET Framework 3.5

That means just like they keep releasing a new Windows, they will maintain .NET and keep adding / fixing / improving stuff.

I expect a so much better Cross-Platform support from .NET in the future not only unofficial Mono but like Java, so many platforms will be supported.

But eventually (about 15 years) it might fade away. Since this is IT, there can be breakthroughs but at least 15 years .NET will be just fine.

dr. evil
+1  A: 

If you're wondering how long until your .NET code is obsolete, then the answer is 1 or 2 years!

MS breaks things between every release of .NET, just about. So, there will always be things to 'fix'. Hopefully, they won't come out with too many more massive platform changes like WinForms -> WPF... where huge portions of the app need to be totally redone (or you just accept being obsolete).

Of course, other platforms have the same problem.

The .NET platform will continue to evolve and grow for maybe 10 years like others have said. The code you write now is going to be obsolete a lot earlier.

darron
A: 

Once MS liked to support things for centuries - win32 had backwards-compatibility as a core tenent and you could guarantee your code would work on later versions of Windows with barely a recompile.

However, MS now is of the 'chuck it and rewrite it' mentality, so whilst .NET as a whole will be around for ages, don't expect your code to survive over the years. You'll have to upgrade regularly. MS likes upgrades - it sells more software.

The biggest issue you have though, is not whether .NET will become obsolete in this way, but whether something better will come along. Look at how quickly MS has dropped support for VB6, how little support for MFC is now available, how the job market for Java has tailed off. Something equally as fashionable will come along at some point, and then .NET will be seen as old and useless, code written in it will be seens as old and crufty (especially the early stuff as people learned), and everyone will want to move to the cool new technology.

The trick is to learn a few different technologies, or one that really has stood the test of time (C?). If you're a one trick pony, you'll become obsolete yourself eventually.

gbjbaanb