Tim Bray: ongoing · Sunny Boy: As of today, I work for Sun.: "As of today, I work for Sun. Let's see; Java rocks. Microsoft sucks. I can play that tune.
The pundits and prognosticators see .NET as a threat to Java’s future, but that’s silly. Parts of .NET look technically excellent, but it has three fatal flaws:
First, it makes no attempt to hit an 80/20 point. Java was actually pretty lean-and-mean when 1.0 launched and has grown into its current middle-aged spread fairly smoothly. .NET launched as a kitchen-sink-equipped behemoth; it had a legacy problem on Day One.
Second, .NET was created by a company with a historic focus on (and infinite experience with) desktop applications, and has a lot of apparatus aimed at building desktop applications. I’m sorry; for most businesses, desktop applications aren’t interesting. Put your business logic on the server side and use the Web for your delivery platform. (I think the interesting client applications are on mobile phones and PDAs, these days; and Java looks like a good way to build those, too).
Third, .NET comes with the Microsoft agenda attached, wide as the horizon and high as the sky. That agenda is becoming markedly less and less popular among the CIOs and technology buyers of the world. This, I think, is the most serious problem .NET faces.
In fact I personally believe that Java’s share of enterprise software will decline, but not in favor of anything from Redmond. I think that dynamic languages (Python and friends), particularly in conjunction with Test-Driven Development, are looking more like winners all the time. They generally are cheaper to program in, run just as fast, and have fewer bugs; what’s not to like? There is one huge niche that the strongly-typed statically-compiled languages are never going to be driven out of, but I’ll save writing about that for later because I’ve got a major skunkworks in mind."