Joel Spolsky has written a longish piece on how Microsoft has planted the seeds of its own doom.
Executive Summary: Osbourne Syndrome writ large, running in slow motion.
There are so many alternatives and initiatives in play for developers writing apps for Windows that the whole thing is a wash. If you're developing software today, choose another platform that isn't anywhere near as turbulent.
Side note: Microsoft's explosive growth wasn't from anything intrinsic about their products. It was good timing that was took advantage of the exponential adoption of PCs in the 1980s/1990s. When this year's PC purchases exceeds the entire installed base, and when you target new PCs almost exclusively, you have an excellent formula for success. Convincing that installed base to migrage or upgrade is a different matter entirely.
Oh, and if you still desperately need Windows, the Sunblades allow you do add a second motherboard, RAM and operating system via SunPCI rather than using emulation.
"ASPMost.NET developers are ASP.NET developers, developing for Microsoft's web server. ASP.NET is brilliant; I've been working with web development for ten years and it's really just a generation ahead of everything out there. But it's a server technology, so clients can use any kind of desktop they want. And it runs pretty well under Linux using Mono.
I'm sure that's exactly what MS wants to hear.
Something I noticed, which no-one else has comented on. Joel says
managed code languages (Java, PHP, Perl, even ASP.NET)
Bah. Perl came third.
Which is better than all the other languages he doesn't even mention. Perl is credible.
Re:Bronze medal
ziggy on 2004-06-17T12:55:04
Nobody has commented on it here, but Joel's article is getting wide notice.Some lisper noted the importance Joel placed on garbage collection to the exclusion of all other techniques to "increase programmer productivity" -- OOP, AOP, UML, Patterns, etc. Quoting Joel:
Perl didn't make that list, but the scentiment is still clear: write in C (or FORTRAN) only when there are positively no other alternatives, avoid C++ like the plague, and spend most of your time working in a "better" language, regardless of how much others scorn it.The real significant productivity advance we've had in programming has been from languages which manage memory for you automatically. It can be with reference counting or garbage collection; it can be Java, Lisp, Visual Basic (even 1.0), Smalltalk, or any of a number of scripting languages.;-) (I think he's understating the case, but that's me. Yes, garbage collection is the single most important feature, but the ability to program at a higher level of abstraction is a close second, and something amazingly difficult to quantify.)
Re:Bronze medal
jmason on 2004-06-18T22:48:36
I think I'd agree with him; the GC is by far more important than OO techniques.
One can implement a "good enough" form of objects and patterns in C; see GTK+, for example. But GC is a killer language feature that's not so easy.