Patrick Logan writes that I am missing the inflection point. Hmmm, I always wondered what it feels like to be on the wrong side of the curve.
We'll know a few years from now. I hope he is wrong, since I plan on continuing my application development on WinForms and shipping with the Whidbey runtime. I do see a straight-forward migration path to Avalon as long as I separate interface and code; even then, there is WinForm-Avalon interoperability as well as common managed infrastructure. I also see WinForms as a version of the API that will run on legacy machines. I think customers will still want rich client applications, especially if it adopts some of the web advantages as well.
It could be that our views are heavily dictated by our prior investments. Joel is heavily invested in old Microsoft (Win32/COM), and that investment appears to (but not necessarily) be vaporizing under the influx of a succession of APIs, WinForms and Avalon. He's at the dying end of an S-curve. As such, he rails against the deprecation of the Win32 and the new initiatives of Longhorn. At square one again, he's furious at Microsoft and just reevaluating all the alternatives.
I, on the other hand, see .NET swooping along at the beginning of a long new S-curve. When I left Microsoft four years ago, I was sick of the Win32 mess and was seriously considering non-Microsoft technologies like Delphi and Java. Then, I bought into Microsoft's story about a rosy managed future and invested a few years learning the technology. And, honestly, I think that the introduction of .NET was the inflection point.
As long as the old stuff runs and the new stuff isn't hard to learn, good devs don't care.
Posted by: Xofis | June 21, 2004 at 10:26 AM
Let me clarify my point (which I'll update on my blog as well.)
Clearly we are *at* an inflection point for Windows OS, API's, and development.
Which way(s) the market goes re: adoption of the new technology is not something I am predicting. I am definitely not that smart.
I do think you've missed some key aspects of Joel's message though, reducing the discussion to a binary one of who will win, the old or the new. As Xofis hints in another comment, there will be support for the old and new for some time to come.
One of the key aspects of Longhorn is that Joel suspects, and I've wondered on my blog earlier, why everything is rolled into an all or nothing set of dependent technologies. Clearly many parts of Longhorn could be made more independent and portable to older Windows platforms (even Linux, but that's another topic altogether).
Posted by: Patrick Logan | June 21, 2004 at 10:46 AM
I don't think there's a lot to miss. Joel has an axe to grind-- dare I say bias-- as his entire product (?) relies on old ASP and COM technologies. On top of that he admits that he has *never even worked with .NET*, which I personally found kind of stunning, three plus years after its introduction.
Posted by: Jeff Atwood | June 21, 2004 at 01:46 PM
Inflection point or not (isn't that a bit too much Gartner and not enough garden?), Joel's points are fairly valid, regardless of whether you think his technology adoption record is somewhat sluggish - it was nice to see him acknowledge the utility of garbage collection in modern programming languages, although to his credit I suppose he noticed that a few years back, as opposed to a bunch of people who still insist on writing everything in plain C++.
But anyway, as for how wonderful .NET supposedly is, "good devs" should care about issues like genuine platform openness and "intellectual property" restrictions, instead of mindlessly knuckling down and buying into whatever Microsoft is selling. Joel had another valid point about that: in almost any relationship with Microsoft, they will use any advantage to get the upper hand; so while you're frozen in wonder about the lovely features of .NET release x+1, Microsoft will be undermining your business model. I don't regard that as "stunning" or a particularly blatant "axe grinding" situation, but if you're into lock-ins I suppose you'll see it differently.
Posted by: The Badger | June 22, 2004 at 07:04 AM
"genuine platform openness and 'intellectual property' restrictions, instead of mindlessly knuckling down and buying into whatever Microsoft is selling."
And yet, ironically, this is exactly what .NET is all about. ECMA certification, open source MONO implementation, etcetera. .NET is certainly far more open than classic ASP and COM ever were! Not to mention the vast technical improvements-- it's a simpler design (xcopy deploy) and, even better, it actually makes sense (COM, anyone?).
I guess what I'm saying is, it's tough to take Joel's opinion seriously when he admits up front he has no real experience with what he's talking about. Joel is a smart guy, but this time, he's off his rocker.
p.s. The browser really did almost eat this response due to a "gateway timeout"! Doh!
Posted by: Jeff Atwood | June 22, 2004 at 04:40 PM