why do windows programs have so many files?

I love my Mac and the MacOS and I’m biased as hell.

Let me introduce you to Microsoft Excel. It is not an application bundle containing a zillion files. It is a single file. Right-clicking or Control-clicking on it will not bring up the “Show Package Contents” option. That’s because it’s built like a MacOS 9 (8, 7, 6, …) file, and all the components that would be separate files within the bundle that looks like a single file if Excel were constructed as a dot-app file (.app) like most MacOS X apps are are instead housed as resources within Excel’s resource fork. Cue up good ol’ ResEdit and have a peek, there they are.

DOS and Windows apps don’t contain apps as concisely as Mac operating systems have tended to. WordPerfect 5.1, the classic DOS word processor, consists of a huge spray of files, although they are all within a single folder. The main executable references these in the same way that Excel references its resources or Eudora references the files contained within its bundle. Back in the day, you could copy the entire folder and it would run just fine as long as you had all of its elements, and all of its elements were in that folder.

Then along came Windows 95 (yes, I’m skipping Windows 3.1. Shoot me.) and the registry, and applications became less portable. You could no longer buy a new Gateway and attach as external drive the old internal drive from your old Dell and use its apps. I mean you could, but some would work but many would not because parts of the program would consist of libraries in \Windows or \Windows\System. Reinstall the app, though, and usually not only would the app work from its new location, it would also work from its OLD location. And if you were sufficiently patient and determined, you could learn what files and even what registry entries, if necessary, would allow an app to run if the main executable and surrounding folder was present, and you could then copy apps from one computer to another.

(Yes, I did learn this playing with VirtualPC if you must know.)

The elegant simplicity of the Mac application world breaks down when you enter the universe of the Mac operating-system world though. System 1-6 would boot with two files (System and Finder) and System 7 through MacOS 9 would boot with those same two plus, depending on machine, Enabler files and possibly a ROM file and in some cases some other files, but generally never totalling more than 10 totally necessary files for bootup into the full MacOS GUI.

MacOS X is a totally different ball game, and much more akin to the environment that PC users know. Zillions of files, not all of them visible, not all of them simple to copy to some other drive, not all of them identical for the same OS version between different physical computers.

Say hello to Unix. OS X is Unix, for better and worse. Get used to it. Robust, powerful, and complicated as hell under the surface compared to the MacOS we knew and loved.

I’ve been a somewhat-geeky user of MacOS X for a while now but if you told me to select from a running OS which files I needed to copy to a totally blank new HD, and what permissions to set them to, in order to manually make that new HD bootable, I’d just go into fetal position and say “Don’t hurt me”.

Yeah, we’ve still got the simple apps on the Mac side of the fence (I recently moved Excel from one volume to another. Drag and drop. No problemo. I regulary install new apps to one location, try them out, and if and only if I like them enough to keep them I drag them to their final destination and, if it’s on a different partition (often), delete the original. It just works.).

But the files that constitute our OS and how they’re organized? More in common with XP than with MacOS 9, by a long shot.