Joel and the future of Microsoft

ziggy on 2004-06-16T15:59:20

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.


Good Article

djberg96 on 2004-06-16T16:13:13

I just read that article myself. As I look around, if I had to pick a platform today to develop on, it would be (for all my bitching) Solaris - stable API, 64 bit OS, supports the latest Java (unlike FreeBSD, which is at 1.3.1 afaik), now runs on x86 or Sparc, seems to be more secure than Linux (general vibe - I have no hard evidence), good sysadmin tool support, scales well, reasonably good number of packages from blastwave.org (including Mozilla, OpenOffice and Evolution), can do the thin client thing, and has the warm, fuzzy corporate backing that so many PHB's need.

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.

*evil giggle*

chaoticset on 2004-06-16T16:47:07

Most .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.
"ASP .NET is great! I run it on my Linux server."

I'm sure that's exactly what MS wants to hear. :D

Bronze medal

nicholas on 2004-06-17T09:47:55

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:

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.
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. ;-)

(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.