Joel On Is Dot Net Innovative

I've recently read an interestingly article about the .NET Platform (http://joelonsoftware.com/articles/fog0000000049.html) from JoelSpolsky. Joel's opinions seems rather convincing to me. BTW, nobody could really expect any importance of the alliance from MicroSoft and Corel. I mean: Corel! They have heavy problems to survive for several month now. And, as I've read somewhere on the net, they think about closing down their linux department (must be about half a year ago, when they announced that linux will be their future). -- ManfredSchaefer (JavaProgrammer)

The article cited by JoelSpolsky is probably one of his worst articles yet. It reads like the nonsense some tech columnists write when they are close to a deadline and really have nothing to say. Golly, yet another canonical screed against marketing prose. It is easy to take the breathless writing style of marketing fiends and tear it apart - that's what we as engineers love to do. But Joel apparently don't understand that C#, the .NET runtime, and a slew of related technologies mentioned on this page (and others) do really exist, and that there is nothing fundamental that prevents their implementation on other platforms. Joel's article is great if you're looking for knee-jerk anti-Microsoft text, but aside from being dated, doesn't match the reality of the situation. I'm no fan of Microsoft, but when they do something right (or shudder - innovative) then let's give them some credit. -- JohnPassaniti

I thought that was his point, they exist but so what? there is nothing particularly new there. -- TomAyerst


The major point of Joel's article was to dismiss the marketing prose of the .NET press white paper as being vaporware. Granted, at the time the article was written, there wasn't a lot of behind .NET to view - at least not publicly. But I didn't find that a particularly compelling reason to dismiss .NET, since last time I checked, my business card said "Software Engineer." I find it amusing that one can gather a bunch of software professionals together and they'll happily discuss the pros and cons of various abstract frameworks, object models, and development methodologies. But have those same people discuss .NET, and for some reason the same ability to visualize seems to fly out the window, with everyone screaming "where's the code?!"

When the first technical discussions about .NET were released, I didn't have any problem in identifying core strengths, weaknesses, and areas of concern that I had. One doesn't need a single byte of object code to see that the idea of a CommonLanguageRuntime is compelling. One doesn't need to shoot SimpleObjectAccessProtocol messages over an Ethernet cable to see that the potential latencies render it useful mostly for low-frequency coarse transactions. And one doesn't need to start typing C# code to know if the base classes they've announced are sensible.

That's my problem with Joel's article (and with other comments that echo it). Despite the marketing-prose excess, one doesn't have to work very hard to critical evaluate the idea of .NET. One only needs to look at the idea themselves, not the source of those ideas.

I also have a problem with the notion that there is nothing particularly new about .NET. Depending on the level of abstraction and detail that one chooses to use, one could say that quite a lot of the past twenty years of software engineering haven't produced anything particularly new. Pick any tool or technology that's in vogue (Java, CORBA, object orientation, scripting languages, application frameworks, whatever), and you can find historical antecedents to make the claim that it isn't "particularly new."

What's new about .NET and a lot of other technologies isn't in the individual parts, but with the composition. Looking at each of the components of .NET, and you can easily make the argument that they aren't anything new. But step backwards, and look not at the parts but the whole. And that's true of much of our industry - innovation often comes from seeing how to combine existing technologies into something new and useful, not from creating fundamentally new technology. -- JohnPassaniti

True, and I wish them well. There are various technologies going head to head in this space so it'll be interesting... -- TomAyerst


I disagree. I can understand the concrete concepts of the CLR and SOAP and C#. I can follow the vision of web services and I could bet that the .NET framework has some sophisticated techniques for hiding the technical complexities of the distributed access of this services. But it reminds me too much on component technology, which still hasn't kept it's promises. There are several ways by now to build components and access them over the wire (DCOM, Corba, EJB). But that is only the technical view of component technology! The goal was (and probably still is) to build applications from standard building blocks (components) glued together with some (scripting-) code. I've not seen that by now. And I'm really curious how MicroSoft is doing in this area. I think that it's what Joel's article is all about. -- Manfred Please delete this discussion, when we're finished ...


I am a fan of MicrosoftDotNet, and of JoelSpolsky. Joel's article was in response to a Microsoft note that happens to be named within a url as a white paper (http://www.microsoft.com/presspass/topics/f2k/whitepaper/default.asp). I don't know about you but I generally reckon white papers should be technical. (Just what is the origin of the term WhitePaper, btw?) I think Joel reckons the same thing. And he's snapped at the document because it doesn't provide the right kinds of technical details for us geeks.

I think it comes from a British government habit of colour coding documents so they didn't get mixed up. White papers are telling people what they propose to do, green ones are asking for suggestions on subjects. The Canadian government and probably others inherited this. I can't find any refs for how long this has been going on...

However, this is an unfortunate response from Joel. I don't believe he's been properly informed to make claims such as .NET "is really nothing but vaporware" and "that there's nothing there at all". Perhaps the contents of the so called white paper gave him that impression but the reality is very different. Don't be fooled by what you may consider their shady past. MicroSoft are producing darn fine software. Windows 2000, BizTalk Server, Commerce Server, SQL Server (7 & 2000) and now .NET demonstrate that MicroSoft understand enterprise needs.

I won't go into the details of .NET (there is much commentary elsewhere on this site) but a very functional Beta is available. There's still a way to go before it is production ready but it is far and away the best (ie. the most habitable) development environment (ie. languages, services, IDE combination) I've ever used. Admittedly I haven't used Smalltalk, but I have spent 3 years (1997-1999) using Java (with VisualAge IDE).

Instead, MicrosoftDotNet is a development platform that I believe will empower SoftwareDevelopers to produce serious software (not just Internet applications) faster and with higher quality than they could produce with any of the other prominent commercial languages & platforms (that wording should avoid you STers, LISPers, Pythoners, etc. from tearing me apart:-).

It has the potential to be cross-platform (it is already cross-language) and MicroSoft's DotNetEcmaProcess is very encouraging. Whether the potential is realized is another matter, of course. Time will tell.

So back to the question "is dot net innovative?" A similar question question would be is it revolutionary? Well, not by my standards. But I have yet to see anything revolutionary in SoftwareEngineering. I mean, is Java revolutionary compared to Fortran? Nope, it's just another language. But that doesn't stop it from being a far, far more compelling language, right? Bearing that in mind, I respectfully consider "is .NET innovative?" an unimportant question. MicrosoftDotNet isn't revolutionary. It doesn't need to be. It just needs to be better than anything we've had before (& I believe it is). -- DanGreen

It is certainly better than most things that we've got from MicroSoft before...

I'd say that this page asks an irrelevant question. For me, the important thing is that DotNet represents diversity. It is a bad thing to have only one player in a market. The ideal situation would be for Sun and Microsoft to go head-to-head in a battle for the best VM platform, with a few smaller players making up the remaining 40% of the market. With multiple platforms, there is value in interoperability, which is superior to monolithic homogeneity. Different people have different criteria for "best", so the ability to choose an appropriate one is good. There is room for 3rd party solutions to bridge the gap between the giants. -- DaveWhipp

At the moment Joel wrote that article, It makes a lot of sense. He has changed his views on .NET now. Check it out: http://www.joelonsoftware.com/articles/Our.NetStrategy.html. It's fun to see people changing their minds. -- LeonardoHerrera

It's also fun to be right. ;-) -- DanGreen (who never thought Joel's initial comments made a lot of sense)


EditText of this page (last edited August 16, 2005) or FindPage with title or text search