It is an unfortunate truth that the glory days of platform trolling are behind us. Where once we had an enormous variety of targets with their many foibles—the legendary user-friendliness and rich capabilities of MS DOS, Apple's infamous low prices, Windows NT's svelte size and minimal hardware demands, IBM's memorable and effective OS/2 marketing campaigns, BeOS's rich selection of software, Linux's top-notch hardware support—the computing world of today is so much more boring.

Those features that were once so important to the platform wars—preemptive multitasking, protected memory, and multiuser security, to name a few—are now taken for granted. No mainstream operating system goes without.

Things really took a dive with Apple's 2005 decision to make the switch to Intel processors. The company's long history of claiming, in spite of all objective data, that its PowerPC-based systems were not just as fast as x86 machines but substantially OMG-faster came to an end. The glory days of Photoshop bake-offs, those exciting demonstrations where Steve Jobs would strut around on stage and run a specially chosen set of Photoshop filters to show that the hardware he was hawking wasn't actually godawful, were at an end. After Thinking Different(ly) for so long, Macs were relegated to plain old PCs.

The combination of everyone getting operating systems that weren't completely horrid and everyone using the same hardware has, therefore, taken a lot of the passion out of the traditional platform wars. Platform warriors have not gone away—they've just moved on to the greener pastures of bitching about other people's smartphone choice: it's just unthinkable that someone would even consider getting a phone that is and/or isn't the latest iPhone/Android handset.

This hasn't stopped Microsoft or Apple from trying to stoke the fires of the platform wars. Apple's recently ended Mac versus PC campaign went to lengths to paint PCs as buggy, insecure, and just plain dull—albeit harmless and likeable—while for some unfathomable reason choosing to portray Macs as, well, complete asshats. Smug, arrogant, hipster asshats. Honestly, did anyone like Mac? Didn't you just want to slap him for being a jerk and give PC a great big hug? It was an interesting campaign choice.

Microsoft, meanwhile, has fought back with websites and Facebook pages dedicated to extolling the virtues of Windows PCs and denigrating the Mac OS X opposition, with a healthy mix of truth and BS.

So it's against this backdrop that we felt it was time to get back to basics in the platform wars. The truth of the matter is, there's plenty that sucks on both sides of the fence. For all you Ravens out there, we're going to kick off with a guide to the things that continue to make the world of PCs irredeemably awful, leaving Macs as the only sensible choice. Tomorrow, we'll tell you why Macs are wretched and overpriced, and Windows is the only realistic alternative if you want to get anything done.

Backwards compatibility: a curse, not a blessing

When Windows NT hit the market in 1993, it was the first ever 32-bit Windows product. As a result, it didn't have a whole lot of software available for it; new operating systems rarely do. To resolve this obvious problem, Microsoft made Windows NT compatible with the widely used 16-bit Windows, and 16-bit Windows' partner in crime, DOS.

Of drive letters and DLLs

This compatibility took two forms. Windows NT could directly run programs built for these other systems without having to install virtual machines or use dual booting or anything like that. More insidiously, Windows NT's new, modern 32-bit API was heavily based on the 16-bit API of its spiritual predecessor. This was done so that developers would have an easy time porting existing 16-bit programs to the new platform—it meant that the number of code changes they had to make would be minimal.

The repercussions of this were many and varied. Some, like the use of drive letters and backslashes, are quite superficial. We might argue that a nicer scheme could be developed for naming disks, and we would probably prefer Windows to use the same forward slashes that URLs do, but both choices work acceptably enough.

Other decisions are more unfortunate. The recent DLL loading flaw exists precisely because today's Windows follows design decisions made over 20 years ago for 16-bit Windows. The DLL loading behavior made some amount of sense back then (or at least, it was essentially harmless). It's an absolute liability today.

16-bit Windows had various limitations that made sense in the days of machines with 1MB RAM and floppy disks, but are thoroughly anachronistic on modern machines. For example, 16-bit Windows limited filenames—including the path and drive letter—to a total of 260 characters. Modern Windows doesn't have that limitation—except in a few places where it does. Software is perfectly capable of creating longer names, up to a total of about 32,000 characters, and for the most part, these longer names will work fine, and are a supported, official capability of the system. Except they don't work everywhere. The Windows command prompt can't use them. Windows Explorer will give peculiar errors if an attempt is made to change into a directory with a long filename.

A fatal flaw? No, probably not. A huge inconvenience when programs create such long names (even if accidentally)? Definitely. Acceptable in the year 2010? Not in the least bit.