NT vs Unix
- Unix - strengths and weaknesses
- NT - strengths and weaknesses
- For More Information
Before I even get started, you should know that there is no correct answer to this question. The main purpose of this article is to avoid the protracted flame wars that invariably follow each time that this question is asked. In most cases, the correct answer is that you need to carefully examine your needs, your existing knowledge base, and your software requirements, and make the best decision for those conditions.
While there will always be some helpful person that will tell you that Unix is clearly better for your situation because of reason Q, there will also be some other person who will tell you that NT is clearly better for your situation, because of reason X. It is particularly amusing when these reasons are the same reason. One notable example of this is the GUI debate. Unix is better because you don't waste time with a GUI, and NT is better because it has this nice GUI. Both sides of this particular argument are meaningless without considering what is behind these comments - an existing skill-base that you have to consider in your decision.
The other disclaimer that I have to offer is that I have an opinion in this matter, so it is a little difficult for me to offer an entirely unbiased comparison. So, if you see that I am leaning to one side, try to ignore that, and I will try to be as objective as possible.
Table of Contents |
- Unix - Strengths and weaknesses
First, you need to understand that there is no such thing as
The Unix Operating System, but there are several members in a large Unix family, which all descend in some fashion or another from AT&T and Berkeley, in the early 1960's. Some of these members (called "flavors") are Solaris, Linux, SCO, IRIX, BSD, and so on. In turn, some of these categories are further broken down into sub-members, sometimes different "distributions" of essentially the same underlying OS. For example, Linux is a family consisting of Red Hat, Debian, Slackware, and some others. BSD is a family consisting of FreeBSD, BSDI, NetBSD, and some others. Then, to further complicate things, there is a variety of shells (command line environments) that one can run on top of these various operating systems, such as Korn shell, TC Shell, C Shell, etc.
This is either a strength, or a weakness, depending on how you look at it, as with many of the differences between NT and Unix. On the one hand, there is the large degree of confusion this can cause to some folks that don't know the ropes yet. But, on the plus site, it allows you to choose, or construct, exactly the environment that you need.
Unix tends to take the "best of breed" approach to life. You find the folks that do each part of the puzzle best, and use their stuff. So you tend to not get all of your software from the same vendor, but cobble it together from several places to build the best possible system.
Cost is another factor that you need to consider when choosing an OS. Many versions of Unix are free, or cost only the price of the distribution - that is, $30 or so for the CDs that the OS comes on. Notably, Linux and FreeBSD are two free versions of Unix that are extremely popular and widely installed. On the down side of this, there is the perception that, because it is free, there is no reliably available technical support. And while this perception is largely false, it is difficult to get purchase orders signed when there is this perception hanging around.
So, what about the technical support issue. Unix is a very mature operating system. It has been around for more than 30 years, as compared to NT's 5 years. As such, there are a lot of people that know the ins and outs of the OS intimately. And, since Unix has largely grown up in the mind set that good software should be free, many of these people are willing, even anxious, to answer your questions. They hang around on Usenet, waiting for your questions. They are your technical support. And rather than folks that are paid to answer the phones, these people are doing it for the joy of sharing knowledge. While that might sound overly romantic, free, accurate, and fast technical support also makes very good financial sense. However, if you really want to pay someone, organizations like Red Hat have full service options, where you can get 24x7 phone and email support, and rapid response to your questions.
Uptime is another big consideration. Unix machines have uptime measured in months. And, due to some of the underlying designs of the system, when one program goes down, it seldom takes the whole machine with it.
Unix is a true multi-user operating system. Hundreds of users can use the same machine at the same time, from anywhere on your network (or the Internet) without interfering with each other in any way.
Despite the common wisdom that Unix has no GUI (Graphical User Interface), there are a variety of GUIs available for Unix systems. In fact, X-Windows has been around longer than NT has. However, most Unix snobs tend to prefer the command-line interface to a point-and-click interface.
Many Unix applications, and, often, the OS itself, come with source code. While this is not of much use to the majority of users, programmers who really want to have something work a different way can make the change and make it work the way that the want.
Finally, there is the availability of applications. Unix is predominately a server platform. If that is what you are looking for, great. It is not really suited to being a desktop platform, simply because the end-user applications are mostly not available. While this is rapidly changing, don't expect to have full office suites for Unix any time real soon.
Table of Contents |
- NT - strengths and weaknesses
Microsoft Windows NT is a server platform that evolved from Windows 3.11 (Windows for Workgroups) into Windows NT 3.51, and then into Windows 4.0. There have been numerous patches and 3 service releases, with another one on the way. It is still a very young operating system, without the maturity of Unix, which has been around for more than 30 years. As such, there are still some missing pieces that have to be filled with third-party products.
NT is not a multi-user platform, in the same way that Unix is. You can have multiple people using the resources of the machine at the same time, but you cannot really have multiple people logged in, using the console, like you can with Unix. There are rumors that NT 5 makes some advances in this direction, but I have not really been following that.
When you install NT, a HTTP server, IIS comes along for the ride. And while IIS is not my personal favorite, it does save you the trouble of acquiring and installing a HTTP server as a separate task.
As opposed to Unix's "best of breed" approach, NT tends to take the "turnkey" approach - you buy everything at one stop, and it saves you time and effort on installation and maintenance. The downside to that approach is that you tend to sacrifice quality for convenience.
Since NT has evolved from a desktop system into a server platform, it tends to be a little less robust than one might expect from a server platform. Uptime tends to be measured in days, or, at best, weeks, rather than months. And due to the way that multiprocessing is handled, a crash in one application tends to take down the whole system. Also, installation of a new package tends to require that the entire machine be rebooted to have the changes take effect.
The entire Windows way of thinking is graphical. The user interface is point-and-click, and, although there is a command-line interface, you are almost never required to use it, and there is no built-in shell scripting language, such as that offered by Unix shells. The general understanding is that you would never need one, since everything can be accomplished with your mouse. Several popular Unix shells have been ported to the NT platform, and languages such as Perl and awk are available for Windows.
Applications such as DNS and Sendmail, which are included as a standard part of Unix installs, must be purchased as separate software packages.
Since most of the major parts of the system come from one vendor, they integrate fairly tightly without much additional work. On the down side of that, many services, such as mail services (Exchange) and HTTP authentication, require actual user accounts on the machine, which is somewhat of a security concern.
Our friends at Microsoft do not subscribe to the Open Source model of thinking, so if you have a problem with the way that something works, or if you discover a bug, chances are you are pretty much out of luck as far as getting a quick fix. You will have to just wait for the next service release, hot fix, or work around to be announced from Redmond.
Rather contrary to common sense, technical support is much poorer on the NT side of things, even though you have paid quite a bit for the OS and support. Most support is through the Knowledge Base of the web site, which is difficult to use at best, and downright arcane most of the time. You can easily spend hours reading through dozens of irrelevant articles pulled up by what you thought was a simple search.
- For more information
If you ask 3 people this same question, you will get three different opinions. Obviously, there are people that disagree with me, or nobody would ever face this debate. I've attempted to be impartial, but clearly that was not possible for me, since I am a rather opinionated person. ;-) NT and Unix each have their strengths and their fans. I'm sure if you bring up the topic on the mailing list, you'll get your fair share of differing opinions, as well as a few folks who will say that you really should use Macintosh. When it comes right down to is, you need to look at your needs, your existing knowledge base, and your software needs, and make the decision that works best for your situation.
Table of Contents |