Unless you’ve been living on Mars for the past few years, you’ve probably heard of the war between Windows and Linux. But there’s more to this battle than just a group of Linux “freedom fighters” taking on a monolithic corporation. There is a philosophy at work here and I’m talking about something deeper than the “information wants to be free” mantra that the open-source crowd is fighting for. You see, Microsoft has spent billions of dollars and man-hours trying to make software that’s easy to use. Unix on the other hand has always been about software that does one thing and does it well. To that end, most people can sit down in front of a Windows computer and get the hang of it after a couple of hours – yet Windows has historically been an OS of dubious stability. Unix (and its offshoots, like Linux) has a reputation for stability but is also well-known for being somewhat less than user-friendly.
Unfortunately, this is par for the course with computers. Making a program easy for non-technical users means adding huge amounts of code, which introduces the possibility of instability. Making a program as rock-solid as possible means removing large amounts of code or features. Think about writing down a recipe – for someone that’s never cooked anything before, the recipe would need to be long, complex and detailed. Writing that same recipe down for a professional chef like Jamie Oliver or Emeril Lagasse would take far fewer steps. The sheer length and complexity of the first recipe means that you are more likely to make a mistake while writing it down; the smaller “professional” recipe – being shorter – will, by definition, have fewer instances for you (the “programmer”) to make an error in your “code”.