Well, the definition of pipes varies a bit on different OS's (even among Unix systems), but certainly on Windows you can use named pipes that are message-oriented and won't scramble up messages from multiple clients.
Unix FIFOs (which can be considered a specialized pipe) also support atomic writes if the message isn't longer than the pipe buffer (PIPE_BUF). Typically a client creates a private FIFO and then sends it's path to the well-known server FIFO. Thus a one-to-many (server to clients) capability is created. See UNIX Network Programming, Interprocess Communications Volume 2, Second Edition by W.Richard Stevens, Chapter 4.
E: "I suspect that X11 wasn't developed initially with today's needs in mind."
FT: "Then perhaps you should read about the original goals of the X window system."
Yes one of the goals was to develop a system with Tuesday November 3rd 2009's needs in mind.
Seriously, making an extensible system is good but it doesn't mean it's going to be the optimal solution for any particular future. They'll always be scenarios that lie outside the range of anticipated extensions.
"OK great, how do I get this display from that PC to that one over there"
You just switch the cables.
Seriously, how many PCs of the Windows 3.1 era even had network cards. Most Unix guys really have no understanding of the limitations of early PCs and embedded systems.
I think it would be more accurate to say that a recent administration in the USA thought the rest of the world was a colony and treated them as if they were.
"Unix programs tend to use ASCII because it makes the communication transparent; humans can see what's going on, interact with the program for debugging or testing without learning specialized tools, etc."
Humans can read ASCII because there are tools designed to read it. Because people have been using these specialized tools to read ASCII for so long they forget that ASCII is just an old convention like the QWERTY keyboard.
"I don't have the time or the inclination to teach you every lesson learned during the development of Unix in a comment thread."
I don't recall asking you to teach me anything. Perhaps you should look into pre-UNIX computing history to broaden your perspective.
So X11 and TCP were developed in the same ecosystem so they play well together. Luckily for X11, other computing ecosystems adopted TCP instead of something else.
"There are multiple reasons, but the main one is simple: Unix applications are designed as modular tools, with clean interfaces, and in particular are designed to the integrated with other tools in ways their designers never imagined."
You mean like being integrated via binary instead of ASCII?
I don't know about the Mac, but I don't think there's anything in Windows that corresponds with a network protocol with GUI functions in "a bag on the side".
Unfortunately, most of the systemic problems developed because of the actions of more developed nations. Education can't solve it beyond the extent that some lucky ones might be able to escape and become part of the system.
Xerox understood the importance of the GUI but they invented it too early to incorporate it into a consumer product. Even the Lisa was too early and thus too expensive to be a successful product.
Nevertheless the fact that the leaders at PARC didn't perform much of the real innovation didn't mean that they were clueless about technology.
And we shouldn't fail to point out that the author of The Seven-Per-Cent Solution was also a screenwriter for the 2nd, 4th and 6th Star Trek Movies as well as Time After Time.
I think it does that in Windows and Mac too, but on Ubuntu it won't let you perform the install without extra steps (unless I'm choosing the wrong packaging option).
Well, the definition of pipes varies a bit on different OS's (even among Unix systems), but certainly on Windows you can use named pipes that are message-oriented and won't scramble up messages from multiple clients.
Unix FIFOs (which can be considered a specialized pipe) also support atomic writes if the message isn't longer than the pipe buffer (PIPE_BUF). Typically a client creates a private FIFO and then sends it's path to the well-known server FIFO. Thus a one-to-many (server to clients) capability is created. See UNIX Network Programming, Interprocess Communications Volume 2, Second Edition by W.Richard Stevens, Chapter 4.
E: "I suspect that X11 wasn't developed initially with today's needs in mind."
FT: "Then perhaps you should read about the original goals of the X window system."
Yes one of the goals was to develop a system with Tuesday November 3rd 2009's needs in mind.
Seriously, making an extensible system is good but it doesn't mean it's going to be the optimal solution for any particular future. They'll always be scenarios that lie outside the range of anticipated extensions.
"OK great, how do I get this display from that PC to that one over there"
You just switch the cables.
Seriously, how many PCs of the Windows 3.1 era even had network cards. Most Unix guys really have no understanding of the limitations of early PCs and embedded systems.
I think it would be more accurate to say that a recent administration in the USA thought the rest of the world was a colony and treated them as if they were.
"I already stated that the only IPC mechanism with better performance is shared memory."
Isn't that really a question of implementation? Why should sockets necessarily be faster than pipes for example?
"Unix programs tend to use ASCII because it makes the communication transparent; humans can see what's going on, interact with the program for debugging or testing without learning specialized tools, etc."
Humans can read ASCII because there are tools designed to read it. Because people have been using these specialized tools to read ASCII for so long they forget that ASCII is just an old convention like the QWERTY keyboard.
"I don't have the time or the inclination to teach you every lesson learned during the development of Unix in a comment thread."
I don't recall asking you to teach me anything. Perhaps you should look into pre-UNIX computing history to broaden your perspective.
Microsoft Word has a 100% membership in the proprietary software set and 0% membership in the open source software set. See, no problem!
So X11 and TCP were developed in the same ecosystem so they play well together. Luckily for X11, other computing ecosystems adopted TCP instead of something else.
Gee, what's the infatuation with sockets?
"There are multiple reasons, but the main one is simple: Unix applications are designed as modular tools, with clean interfaces, and in particular are designed to the integrated with other tools in ways their designers never imagined."
You mean like being integrated via binary instead of ASCII?
"The thing is, X11 gets network-transparency essentially for free."
It's everything else you pay for.
I don't know about the Mac, but I don't think there's anything in Windows that corresponds with a network protocol with GUI functions in "a bag on the side".
Unfortunately, most of the systemic problems developed because of the actions of more developed nations. Education can't solve it beyond the extent that some lucky ones might be able to escape and become part of the system.
Considering that the developed world hasn't been able to provide food for everyone who needs it why should we add another task to not complete?
You know, I believe I've worked at start-ups like that ... they didn't make it.
What exactly are plumbing's best practices as applied to an old well a few miles away?
When you're a computer scientist, your funnest path to help others is to leverage your computer science knowledge.
"Without the OLPC driving, the industry had no interest in net books."
So the fact that OLPC computers have been so profitable convinced the industry to make netbooks?
OK... backing away slowly.
Xerox understood the importance of the GUI but they invented it too early to incorporate it into a consumer product. Even the Lisa was too early and thus too expensive to be a successful product.
Nevertheless the fact that the leaders at PARC didn't perform much of the real innovation didn't mean that they were clueless about technology.
And we shouldn't fail to point out that the author of The Seven-Per-Cent Solution was also a screenwriter for the 2nd, 4th and 6th Star Trek Movies as well as Time After Time.
I rather like my friend's comment: "What can you say about a book series where the only character that appears in every book died in the first one?"
Well, Foundation didn't even start out as books but was a series of short stories in a science fiction magazine.
Nevertheless it was a trilogy for a long time. There were thirty years between SF and FE.
I believe on Ubuntu you don't automatically have authorization to perform installations just using your password. I believe you must use sudo.
I think it does that in Windows and Mac too, but on Ubuntu it won't let you perform the install without extra steps (unless I'm choosing the wrong packaging option).
What do they say?