My Two Cents on "OS Wars"

Written by Chris Dragan

The topic "Operating Systems" is one of the hottest topics these days. A lot of articles can be read about it in computer magazines, newsgroups (like the 'os'.advocacy series) and in every place where programmers and other users share their thoughts. Many people have said many things, many arguments have been made, but still I want to present a, better or worse, summary, and a possible solution. So, let's look at our situation.

Misfeatures

There are four main disabilities that plague today's OSes. Programming bugs make OSes difficult to maintain. An OS is a basic software, if not a separate breed of computer stuff, and it must be stable, as it is an utility for keeping up other software. Without a reliable OS, the user may only dream of a stressless work.

Design is another important thing. It includes all the terms like user interface and user-friendliness. In fact design is of the same sort as bugs. With a poor design, like with a lot of bugs, the system will certainly kill the user, before he manages to do anything with the software for that system.

The last two system-killer misfeatures are software support and hardware support. They come separately as they are only similar, but in every kind different. Lack of software support means that the user is unable to make some, often crucial, things under the system. What's more, if there is lack of some kind of software, the user has to keep more than one OS on his disk, which means only more work and sweat for him. When a system has not enough software for it, it dies with a natural death.

Exactly the same happens with a system, and even faster, when it has not enough hardware support. Having only a few drivers for the most popular or not devices, it restrains many potential users from even seeing it.

The OSes at the present

OS/2 was a nice try, but unfortunately it died shortly after it was born. IBM supported Microsoft OSes too much, and there was not enough software for its own OS from the beginning. Some may say that OS/2 was created by both of these corporations. That's true, but in the most important times, during creating a fully 32-bit kernel, they split, and this way Microsoft created Windows NT. So OS/2 died because of lack of software support.

Today we have Windows. Windows really rules - most of people who have a PC, if not all, have it installed. No matter whether they have Windows 3.x, Windows 9x or Windows NT, it is still the same backwards compatible system. In fact these three Windows kinds really differ. Windows 3.x is really useless, having a lot of bugs, a very poor interface, and apart from its driver problems it still lacks even 386 support. Yes! Windows 3.x is a system for 286s! The Win32s patch is a poor try to let it live longer. I have also heard that the Company is still selling it in some countries!

But the currently common system is Windows 9x. It is the most controversial piece of software ever. Needless to present its misfeatures, it still has the best interface ever, though not free of bugs, and still has a very large software and hardware support. Note that these are its main advantages, and the reasons why still a lot of people pay money for it. The main reason why most people say it sucks is because of its compatibility, which causes megabytes of its code to be really useless.

Windows NT is also backwards compatible. Many times I have read that Windows 9x does not rely on DOS anymore. That is, of course, not true. Every user who has tried to get with his system more familiar knows that it contains built-in DOS. Windows NT doesn't have it anymore! It also has a separate SYSTEM32 directory, with its real 32-bit kernel and other libraries. Unlike Windows 9x, Windows NT is a true 32-bit OS. Having all the advantages of Windows 9x and a large software support, along with an incomparable stability, it still hasn't many users. Why? It is still too expensive "bloatware". Windows NT is probably the best system, but backwards compatibility may kill it. Windows 2000 will be just another more bloated version. They add and add, and there does not seem to exist any end of adding. As a programmer, I do not even try to imagine what they are doing to make it all get working; I only see it working worse with every version and every patch.

The competitors do not sleep? I do not agree. Linux is a nice try, but it still is not getting out of an enthusiast's garage. It is mainly based on an ancient technology, with all its weird hotkeys (no logical reason for using Ctrl-V when we have PgDn key on the keyboard) and command line parameters different for every application. Complete lack of design lets every programmer develop his own strange interface, creating a lot of mess, which only makes the user suffer; he just has to search information for hours, and for hours learn every different command for every different program. Linux fans are mostly proud of their outstanding command line. They say that they can do with it much more than one can do with DOS' command line. But DOS is now as dead as dinosaurs. And even before GUI-based Windows, many DOS users did not even know a simple 'dir' command, as they used programs like Norton Commander. As a matter of fact, I am still using a NC-clone (DN), even if I am constantly running Windows; I have never seen such an enormous amount of options and abilities in any other program. I have also known a 48KB NC-clone (DC) which had more options than 1MByte NC3! Try to find similar programs for Linux with an intuitive interface. Not a chance!

I could also write about Linux's GUIs, different installations and so on, but that is not the point. This is a system for guys with a lot of spare time, who like exploring and trying new things, and I say: Life is too short! Let's not sacrifice all time to learning the system; let's make some interesting things, like gfx, tunes, coding or other art!

In all this mess there is a forthcoming star: BeOS. From a programmer's point of view it is heaven. I have downloaded for free and scanned trough the BeBook, the BeProgrammer's Bible. I must admit I am impressed. I am very familiar with the Win32 API, and I know it is too messy because of backwards compatibility. I have a little idea of Linux's API, and it still is not the right thing, especially due to the lack of a standard. But the BeAPI is ingenious almost from A to Z! This is probably the strongest argument for BeOS. The interface, though I have never seen it in action, is also outstanding. About software support or stability I have nothing to say, but they cannot be that bad. However, a year has passed since I heard about BeOS for the first time, and it still lacks enough hardware support! Linux and Windows developers somehow get documentation for every different device. Why not the BeOS developers, too? If they do not add enough hardware support in the course of the next year, and I doubt they will, BeOS will remain a dream, and soon will die. And that is the most cruel and sad truth about BeOS.

I have not mentioned MacOS, but it is tightly related to Mac platforms. If it is so good, why do people move to PCs?

A perfect OS - future OS?

The Operating System is a piece of software which allows the user to run other software. This short definition perfectly describes what an OS should be. It should let the user maintain data (files) - this encloses user interface and basic applications like file managers or disk utilities, and it should support the programers with a wide range of code libraries - from simple program loading routines to sophisticated hardware handling methods. Needless to say that an OS should be stable.

Unfortunately none of today's systems fully fits this definition. Each of them has misfeatures which complicate the life of its users. Linux is too complex, BeOS is still in napkins, only Windows is good enough to work with, though its internals get more complex all the time, and it seems that its creators soon won't be able to keep it up.

More bad news: This is not going to change in the future. Soon a new architecture will show up: IA-64. But I am afraid it will not be available to the public. It will probably have several OSes, but in fact only two: Win64 and a lot of UNIXes. There is even a project hosted by Intel called Lintel - a port of Linux! Many OSes but none of the future: Win64 will be a wrong thing: fully backwards compatible, containing the entire Win32 API it will be a 32-bit system with a 64-bit pointer support as all the non-pointer types, like e.g. file handles, will remain 32-bit. Similarly the UNIXes. Nobody thinks of creating a brand new 64-bit OS!

No choices left

The corporations have only money-lust. They only want to grow bigger, have more $$$, buy the others to get new ideas and rule the world. The only ones who can change the situation are free peoples, like the sceners.

Yes, we can manage this! We can change the world! The only thing we need are guys who will lead us in order; disorder will not help us - see Linux. We must stop talking and start doing it now, or it gets too late for anything.

There aren't many choices. We can join BeOS and write drivers and software for it, but it will mean that BeOS should become a partly freeware system. The other choice is to create a brand new OS.

I have a lot of ideas both for a new OS and for raising the BeOS stronghold. I know that there are other people like me, who also have a plenty of good ideas. Coders like you and me can gather together to face the future of OSes. A lot of people, instead of attempting to create their own systems, can join us and create one great system for the scene and for all the humans around the world.

Chris Dragan