.NET brings rich class libraries, garbage collection, code portability (at least nominally), and a few other benefits. But we’ve had most of this for years: .NET is a minor evolutionary step on from what already existed in Java, Delphi and other development systems. It doesn’t bring anything new that’s of real consequence.
What would be revolutionary, what developers really need, is something to help us sort out multi-threading. There’s been no real language/tools progress in this area, yet multi-core CPUs continue their inexorable march.
Performant applications of the next few years will need to take advantage of parallel processing architectures, yet the human brain is clearly not designed to work out the issues associated with simultaneous parallel execution paths. We desperately need platform/tool support in this area, so where’s the right place to implement it? I’d suggest that a virtual machine environment such as .NET would be the place, along with appropriate language extensions.
I’m sure this area must be a primary research topic for Microsoft and others, so why is so little being said about the issue? Why is Microsoft’s PDC all about cute toolbars rather than where the real issues lie? FWIW, the only time I remember hearing a major tool vendor comment on the multi-threaded development problem was an interview with Borland Chief Scientist, Danny Thorpe.