Today there are many operating systems available. Every vendor or community round it tries to make it as good as possible. Having different goals, different legacy and different cultures, they succeed in it more or less. We (end users) end up with big selection of operating systems, but for us the operating systems are usually compromise of the features that we would like to have. So is there an operating system that would fit all the needs of the end user? Is is the BeOS clone Haiku?

It's not so much that they weren't smart, but that there is 40 years of baggage to bog it down, with confusing layered complexity. That makes certain kinds of features take more man-hours than they otherwise could, and as such, often requires large groups to get along, which they may not do.

Can you give examples? What you write is so generic that I really don't understand what you're talking about. What are the confusing layers of complexity?

Also you could make the same argument about the C programming language, but it is arguably less complex than most e.g. C++ or C# or others. And it is still the language of choice if performance is important so 40 years can't have bogged it down too much.

All the Unix-like OSes just need to drop X like a hot potato. It is dragging them down and the flaws are so ingrained as to be unfixable. Even the X.org developers think it is a piece of crap. The hoops they have to go through to make it modern are pretty crazy.

Every other OS has a much better and more modern GUI system design (from Windows to Mac OS X to Haiku.)

Unfortunately the day when Linux and friends drop X probably won't ever come. Which is one reason of many I try to work on Haiku.

All the Unix-like OSes just need to drop X like a hot potato. It is dragging them down and the flaws are so ingrained as to be unfixable. Even the X.org developers think it is a piece of crap. The hoops they have to go through to make it modern are pretty crazy.

Every other OS has a much better and more modern GUI system design (from Windows to Mac OS X to Haiku.)

Unfortunately the day when Linux and friends drop X probably won't ever come. Which is one reason of many I try to work on Haiku. "

Why do people always dig out the unix-haters book when it comes to criticising Linux/Unix/X. That book was written in 1994! Some of the criticism might have applied then but a lot is simply not valid any more.

Sure X has had problems, as have many other systems, here's an article from LWN.net which recaps the history of X and does address some of the problems. http://lwn.net/Articles/354408/

Xorg (and related cross-platform goodies), anything trying to be truly POSIX compliant, GNU C and CPP libraries, off the top of my head. Those then have libraries of their own, making great little webs of code in the shadows. There comes a point where you'd be more productive starting anew (note that I'm not saying better off, except where ALSA is concerned). In many cases, like any *n*x, that needs to be balanced against ease of portability, a large portable software base, and a history of reliable operation.

Likewise, with C as an example, just having old roots does not make something complex. C has grown with the times, and in a highly disciplined manner.

Xorg (and related cross-platform goodies), anything trying to be truly POSIX compliant, GNU C and CPP libraries, off the top of my head. Those then have libraries of their own, making great little webs of code in the shadows. There comes a point where you'd be more productive starting anew (note that I'm not saying better off, except where ALSA is concerned). In many cases, like any *n*x, that needs to be balanced against ease of portability, a large portable software base, and a history of reliable operation.

About GNU C and CPP libraries being confusing layers of complexity. Every system which is programmed in C needs a C library. AFAIK pretty much any OS today will include a C library, so this does not make Unix any more complex than any other system. POSIX compliance: well you have to implement some sort of standard so programs no what they can rely on for filesystem operations etc.. You can use POSIX, W32 or implement a new one which will probably look very similar, still does not make one system more complex than the other. Same thing with Xorg, you need some sort of display server no matter what. You can tightly integrate it with the rest of the system (which I think is what Windows does), or make it more modular (e.g. X).