Monday, March 07, 2005

Yet another .NET argument

I found this rather an interesting ping pong on .NET.

A few of Grimes' comments are spot-on, but many are totally off-base. Microsoft is in no way abandoning .NET. The problem is that it's hard to justify rewriting things in managed code when they work well enough in unmanaged code. Similarly, as Fernandez points out, .NET isn't necessarily a good tool for building operating systems (as the Windows division is doing), and it never was supposed to be because most people don't build operating systems. However, it's generally great for building stuff on top of operating systems. Sure, .NET has all kinds of problems, performance and otherwise. This is always the case with any relatively new platform. Unix and Linux have been around for decades at this point, and they're still working out the bugs. .NET has only been around for a few years.

Moreover, it's stupid to criticize it for being a thin veneer over Win32. What the fuck else would it be? That's how you transition from one platform to another. You create a new interface and then implement that interface on top of whatever platform you have. In the case of Windows, that's Win32. Once you have people writing against the new interface, you can wipe away Win32 from underneath it and replace it with something more reasonable. Unfortunately, Grimes is right about Microsoft setting an arbitrary deadline for the next version of Windows, so things that should have been done for Longhorn aren't being done, which sucks. But this is what happens to every piece of software written by anyway. It's a business, and you can't go too long without rejuvenating your revenue stream. So at some point you have to cut your losses and release what you have. I'm not saying that's a good thing, but it happens. You'd think Microsoft would learn from the Windows ME debacle, but no...

The one thing Grimes is right about is what a piece of shit VB.NET is. I wholeheartedly agree. I hated VB, and VB.NET takes the worst parts of VB and .NET and combines them to form a Captain Planet of crap. VB in general was a horrific, abortive attempt to take something that is inherently hard (programming) and to try to make it accessible to idiots. Consequently, it ended up being a mess, because to do anything useful, you have to actually consider the things that VB covers up, which means introducing horrible hacks. VB is an embarassment. While we're at it, PERL is an embarassment too, but in that case it's because people took a reasonable language to use for simple scripts and tried to make it a full-fledged programming language. At least PERL has a kernel of usefulness in it.

Ok, done with my programming rant for the day.

No comments: