Saturday, April 2, 2011

101st Post OStravaganza

Disclaimer: I forgot Blogspot counts drafts in your total, so this isn't actually the 101th post.

Okay, that last post was just to let off the 100-posts pressure. Maybe I'll do something really cool at 150, or 200. Anyway, on to the topic I really wanted to discuss: operating system wars!

As a computer science major who went to an all-Mac high school, I've had plenty of exposure to all three major OS families: Windows, Mac OS, and Linux. It's something I've thought a lot about, since your OS can drastically affect how you compute. I've also read a fantastic essay by Neal Stephenson, In the Beginning Was the Command Line, on the subject as well as the command-line-versus-graphical-interface question. I recommend this book to everyone (especially to my fellow nerds, but it's not too hard for non-technical readers). I'll lend you my copy if you want; it's a fairly quick read. I don't think I can improve on anything he said, but here are my few cents.

When I say "operating system", I'll probably evoke a few different responses. Most of you, I think, will recall familiar features of OSes--the visual design of Mac OS X or constant crashes of Windows, for instance. Maybe some of you will remember a specific incident that caused you to switch, or at least changed your opinion of your chosen OS significantly. You might call to mind the iconic companies behind the software and their media coverage. Computer science majors, at least those of us who have studied operating systems, will also realize all the behind-the-scenes tasks operating systems have to perform to connect software with the underlying hardware smoothly.

I'm still learning about this underlying implementation, and I don't think there is too much concern over the low-level differences between OSes.  (Except to the extent that it's affected by higher-level decisions I'll get to later) This post is mostly going to address the parts of operating systems that the user can see (which is all most people are aware of anyway).

Let's start with the philosophies of the three main OS families. (Overgeneralization ahead!) As far as I can tell, Microsoft markets Windows as a functional, all-purpose OS for the masses. Considering its market share, this makes sense. And on top of that, Microsoft has mindshare on its side. Hate it or love it, Windows has become the default choice for most users. Virtually all non-Mac computers come with it installed, and most people don't care enough to change it. It's become a fact of life for individuals and even more, I think, for businesses. The continuing existence of Internet Explorer 6, a nearly ten-year-old browser that came with Windows XP, is still a powerful influence on web design. (Even Microsoft wishes its users would upgrade) For people who are used to it, they don't even have to ask "why Windows?", but rather "why not Windows?" In his essay, Neal Stephenson writes that besides an OS, Microsoft is selling users the idea that they are "getting something for their money, engaging in a respectable business transaction."

On to Apple. Mac OS is the operating system I have the least experience with; nearly all the computers in my high school were Macs, but I've barely touched one since. Still, they're a constant presence on campus and in my classes, gleaming silver and white slabs of technology marked as "not Windows" by the logo on the back of their screens. (A quick aside: the "Mac vs. PC" debate, as it stands, is meaningless; "PC" simply stands for "personal computer", so a Mac, a Windows machine, and my laptop are all technically PCs.) As Stephenson writes, when Apple started out with the first graphical operating system in 1984 it took the computing world by storm. It was elegant, revolutionary, and just plain "cool"; Microsoft, with its primitive-by-comparison MS-DOS, was reduced to catching up. Of course, things have shifted considerably since then as Apple fell behind, then become "cool" again with the release of Mac OS X and its constantly-updated lines of gadgets. I'm going to avoid the separate issue of the slavish buying behavior of some Apple fans for now and focus on the company itself. In my experience, while Windows has been marketed as an all-purpose, workhorse OS, Mac OS is especially pushed towards creative, nontechnical types who aren't afraid to "think different", armed with a simple, attractive interface and a suite of applications to assist creative work.

And then, there is Linux, the oft-ignored third OS (or rather, family of OSes). Part of my inspiration for this post was a Facebook poll repeating the ancient question, "Mac or PC?", to which I responded "No Linux?". For those who aren't familiar with what Linux is, it's originally a kernel (the underlying, hardware-software interface part of the OS) written by Linus Torvalds and some other hackers in the early 90s to imitate the classic Unix operating system. This kernel and the various applications surrounding it (all free and open-source) are packaged and distributed by both individuals and companies, either free or for a nominal fee for support. Of course, since the source code is all freely available, support is easy to get from the hacker community. The decentralized, non-corporate nature of Linux is radically different than Microsoft and Apple's approaches. It is cooperative rather than competitive, and in the world of bits where the only limiting factor is ingenuity, it works and works well.

Anyway, this post is getting surprisingly long and I should get to my actual impressions of the operating systems. I've been using Windows basically as long as I've been using computers (I may have some early memories of MS-DOS, but I'd have to ask my dad) For most of that time, I've had nothing to compare it to (except an earlier Mac OS at my cousins' house, which I mostly remember for the single-button mouse and the "close window" button being in a different place). When I used Macs in high school, it was mostly for schoolwork and once I got over the two Ctrl buttons(!?) and single-button mouse (again), I was able to do what I needed on these computer and didn't think too much of them. I affected a disdain for Macs, but I couldn't really have backed it up if questioned.

So it wasn't really until I got to college and got into my computer science major that I started to care about the differences between operating systems. The required programming made me quite well-aware of how frustrating programming on Windows is. I've had bad experiences with IDEs, so I got by programming on Notepad, which didn't work terribly well. And installing a new programming language was an ordeal. I became increasingly aware of the usefulness of the ITLabs computers, which mostly ran the Ubuntu distribution of Linux. They had lots of useful free software I already used, and programming was easy since they had every language I needed.

Eventually my interest led me to get a second hard drive for my desktop so I could install Ubuntu on one and try it for myself. Programming and testing my code was made much easier by being able to remotely access lab computers and work from them. Then during Christmas break, I made Ubuntu the only operating system on my laptop. Not even exaggerating: it has changed my life. It has allowed me to work on my research anytime, anywhere. As I learn more about the command line and other Unix tricks, it's almost intoxicating to see what cool stuff I can do. Where I used to get distracted in class reading random articles or something, now I struggle to keep focused rather than obsessively coding or writing more shell scripts. Closed-source operating systems put limits on what you can do in the guise of being helpful and avoiding confusions, but Linux has no limits, besides your skill. There's also the fact that my computer boots up in less than a minute rather than Windows 7's 5-10, that the OS uses about a fifth as much memory as before, and that I have never had a crash or any serious problems with Ubuntu since I've started using it.

I would call Ubuntu and other Linux distributions "white box" operating systems. Everything in their functionality is open to the user; you can do practically anything if you know what you're doing. Of course, this doesn't mean they're user-unfriendly; Ubuntu has a simple, yet powerful interface for files and applications, makes it much easier to change settings than Windows, and has its own "app store" for getting software (only all of it is free). Using it has been an absolute joy and I recommend that everyone at least give it a look. (You can even put it onto a bootable flash drive without affecting your current OS)

Mac OS X, on the other hand, is more of a "black box" (ironic given the casing of all Apple's hardware). Just like the computer it runs on, it is hermetically sealed, its inner workings hidden from the user under slick interfaces. And for many people, this is okay. Not everyone has the time or the interest to master Unix. Even Neal Stephenson admits to sometimes wanting an OS that hides its underlying complexity and makes some difficult decisions for him--and since he wrote his essay, Mac OS X has become that operating system for him. Though I certainly don't agree with all their business or technological practices, I'll admit that Apple certainly seems to have succeeded at making a computer (or tablet or whatever) for non-techies who want to work on real problems, not on the technology.

I would describe Windows, on the other hand, as the "grey box" of operating systems. It attempts to get out of the way and hide its complexity like Mac OS does to allow users to work on the problem, not on the computer, but its frequent problems and failures force users to gain a working knowledge of its hidden workings anyway. And with the closed nature of its software, help is harder to come by for it. I still keep Windows around for compatibility with Office documents, games, and iTunes, but I dream of a day when I can leave it for Linux entirely. (Especially when Windows 7 just hangs and does nothing for several minutes)

Ultimately, I hope more people will become aware of Linux and the existence of a completely free, easy-to-use, powerful OS. Ignorance of Linux is a key factor in Microsoft's dominant "mindshare" of the market. I also want to raise awareness of current issues with OSes and what goes on "behind the GUI", so to speak. Please post comments!

No comments:

Post a Comment