Path: utzoo!utgpu!watserv1!watmath!att!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!think.com!mintaka!bloom-beacon!zardoz.coral.COM!don From: don@zardoz.coral.COM (Don Dewar) Newsgroups: comp.windows.x Subject: A tirade about inefficient software & systems Message-ID: <9011011215.AA21879@zardoz.noname> Date: 1 Nov 90 12:15:33 GMT References: Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 91 ) CS 101: Network Window Systems ) ) 1) The X Window System and GUIs built on X are expensive in terms of CPU, ) memory and network resources. Discuss. You should compare the X philosophy ) with competing network windowing philosophies such as those based on ) PostScript. ) ) I'd be extremely interested in hearing peoples' views on this. I personally ) think that X is seen as far too much as a panacea for Unix HCI, and it ) worries me that X has been seized upon as a ``standard'' with little ) thought for the implications in terms of hardware and networking costs. ) The fact that I hear people from Sun tell me ``Our implementation of ) Open Look is great --- but you need 16 Meg in your SPARCstation'' alarms ) me. The fact that a 68030 isn't enough CPU for a single user of an X GUI ) under V.4 alarms me. The fact that X applications potentially generate ) significant numbers of packets and eat up CPU cycles even when there's ) no user interaction alarms me (ever watched a LANalyser when xeyes is ) running?). Applications controlling such dumb things as rubber-banding ) alarms me. I'm no Xpert, but has the industry got it wrong? ) ) Tim. ) -- ) Tim Oldham, BT Applied Systems. tjo@its.bt.co.uk or ...uunet!ukc!its!tjo ) Living in interesting times. ) ) For starters, I agree with you that the means by which X has been made a standard is the most undesirable way to do it, but it is the only way that seems to work. X was made a standard because there came a need for some software that had capabilities much of which X satisfied, because many programmers started using it, and because industry momentum toward "open systems" pushed the "big players" into needing a platform on which to build the UNIX GUI's. In fact, the computing model that X was designed to fit is a somewhat outdated one. That does not mean to say that X is not a fantastic technical achievement. Moreover, I think X has proved itself to be a useful tool in leveraging UNIX as everybody's OS. About your concerns relating to X's performance... X is a relatively young beast considering its complexity. There is certainly time for X to make up for its shortcomings. I would hope that X will grow up as UNIX itself has (although UNIX still has some growing to do). Over time some of the memory issues will improve, the functionality will shift to meet user needs, and new innovations introduced as needed. As far as the CPU it takes to run it, so what. I agree that programmers that write innefficient code just because they are a running on a Cray are inept idiots, but I don't think the X implementers fall into that category. I hope X improves in that area, but the lower cost of hardware and more powerful cpu's makes it a non-issue as far as the current X implementation goes. Within the next decade, we all may be able to afford the power of a SPARC workstation or whatever at home with 16mb of memory and 600 mb of disk running a cheap but powerful version of UNIX (go GNU). Moreover, let's hope that FDDI solves the lan traffic problem over the medium term. Your concerns a very well founded, but we are in the Vietnam syndrome at this point -- there seems to be no turning back. Finally, I would like to take this opportunity to make a sales pitch. If X were written today, it would have been better to write it in C++. Complex systems, such as X, should find great savings in terms of code size, executable size, and memory usage with proper implementation in C++. In addition, X already attempts to present itself in the object oriented paradigm. Since NC-17 (please call it X15 to avoid confusion) has been scheduled so far away, please consider writing it in C++. It would be very easy to provide a C callable interface to it to maintain compatiblity with existing code. I don't know what the current status of X is, but if it is still under the auspices of MIT, it would be a great educational experience for the implementers, many of whom I expect are students, to learn how to program C++ on a large project. (This has been an unpaid announcement sponsored by committee to elect C++ as the next ruler of the programming languages.) +---------+ | Coral | |@@@@@*@**| |@@*@@**@@| Don Dewar |*@@**@@@@| Coral Network Corporation, Marlborough, MA |@***@@@@@| Internet: don@coral.com |@@**@@@@@| Phone: (508) 460-6010 |*********| Fax: (508) 481-6258 |Networks | +---------+