Using your "logic" we might decide TCP/IP is a total loser too. I mean what a lousy standard. There are at least a dozen different methods to just transfer a file -- FTP, HTTP, telnet upload, Gopher, rdist, tar over rsh, rcp, NFS, DFS, TFTP,...
Just because you re-define a word (X11) to mean something different than the designers intended doesn't give you the wisdom to pronounce it a failure.
X is a pretty decent standard. It definitely needs some redesign to fix today's problems -- optimize for high speed local multi-processors with huge memories for example. The lack of a user interface standard is a problem that can't be fixed by changing X. The only solution to that problem is to prevent people from designing new toolkits.
BTW, the commercial Unix community *has* a standard user interface toolkit. It's called Motif. You don't like that? You want to have a different toolkit? Well, then don't bitch because X has so many tookits!
You've [Jamie] made some excellent points -- the same points you've made for years. The trap you point out though is so easy to fall into that you fall in yourself. "Mechanism not Policy" isn't a fault of X, it was the feature that made it possible to become a standard! Standards basically suck, but lack of standards sucks a lot worse. I've lately been working on Win32 which is also a standard and sucks at least as badly as X, but in different ways. (Compare the event model between X and Win32 for example.)
To all those people bitching about X taking a few dozen megabytes of RAM all I can say is that X doesn't pick your desktop themes. If you want to put a TrueColor background image in every window, you've got to expect X to store the bits somewhere. (Also, there are a lot of apps, some poor, some good, which create huge backing stores for which X gets blamed.)
The last point I'd like to make is that X is an example of the "Worse Is Better" problem, but it is one of the perverse exceptions to the rule. X is worse because it's better -- a great shining example how bad it can be when the better thing wins. (There are tremendous lessons here for the Gtk and Berlin groups. *Learn* from history.)
Anything as universally used and as critical as a windowing system is going to suck at something. Live with it -- or show us the code *and* a solution to the legacy code problem.
Using your "logic" we might decide TCP/IP is a ...
total loser too. I mean what a lousy standard.
There are at least a dozen different methods
to just transfer a file -- FTP, HTTP, telnet
upload, Gopher, rdist, tar over rsh, rcp, NFS,
DFS, TFTP,
Just because you re-define a word (X11) to mean
something different than the designers intended
doesn't give you the wisdom to pronounce it a
failure.
X is a pretty decent standard. It definitely
needs some redesign to fix today's problems --
optimize for high speed local multi-processors
with huge memories for example. The lack of a
user interface standard is a problem that can't
be fixed by changing X. The only solution to
that problem is to prevent people from designing
new toolkits.
BTW, the commercial Unix community *has* a
standard user interface toolkit. It's called
Motif. You don't like that? You want to have
a different toolkit? Well, then don't bitch
because X has so many tookits!
You've [Jamie] made some excellent points -- the
same points you've made for years. The trap you
point out though is so easy to fall into that
you fall in yourself. "Mechanism not Policy"
isn't a fault of X, it was the feature that made
it possible to become a standard! Standards
basically suck, but lack of standards sucks a lot
worse. I've lately been working on Win32 which
is also a standard and sucks at least as badly
as X, but in different ways. (Compare the event
model between X and Win32 for example.)
To all those people bitching about X taking a
few dozen megabytes of RAM all I can say is that
X doesn't pick your desktop themes. If you want
to put a TrueColor background image in every
window, you've got to expect X to store the bits
somewhere. (Also, there are a lot of apps,
some poor, some good, which create huge backing
stores for which X gets blamed.)
The last point I'd like to make is that X is
an example of the "Worse Is Better" problem, but
it is one of the perverse exceptions to the rule.
X is worse because it's better -- a great shining
example how bad it can be when the better thing
wins. (There are tremendous lessons here for the
Gtk and Berlin groups. *Learn* from history.)
Anything as universally used and as critical as
a windowing system is going to suck at something.
Live with it -- or show us the code *and* a
solution to the legacy code problem.