Path: utzoo!utgpu!water!watmath!clyde!rutgers!gatech!bloom-beacon!athena.mit.edu!wesommer From: wesommer@athena.mit.edu (William Sommerfeld) Newsgroups: comp.windows.misc Subject: Re: Why I'm suspicious of NeWS Message-ID: <2945@bloom-beacon.MIT.EDU> Date: 13 Feb 88 23:38:26 GMT References: <2940@bloom-beacon.MIT.EDU> <3851@megaron.arizona.edu> Sender: daemon@bloom-beacon.MIT.EDU Reply-To: wesommer@athena.mit.edu (William Sommerfeld) Organization: Massachusetts Institute of Technology Lines: 41 In article <3851@megaron.arizona.edu> mike@arizona.edu (Mike Coffin) writes: >From article <2940@bloom-beacon.MIT.EDU>, by martillo@athena.mit.edu (Yakim Martillo): >other kinds of >interaction will still force X programmers to use XFlush() to cross the >client/server boundary much more often than NeWS. Use of XFlush() is actually quite rare, primarily because XNextEvent() and similar library routines call XFlush() before blocking. The assertion is commonly made that NeWS can do cursor tracking better than X can. This may well be true, but competantly written X applications provide _very_ good cursor tracking, with updates greater than about 30Hz on a MicroVAX II (with the client and the server on the same machine). The graphics operations are the limiting factor, not the communications time. This was the case under X10, and continues to be the case under X11. The common case is, after all, that the client and the server run on the same machine; rubber-banding for window resizing and the like is done by the window manager process in X11, and that will be local to the workstation under almost all cases. The X protocol was carefully designed to remove most common cases where the client has to block waiting for the server and vice versa. The example given where network round-trip-times are on the order of minutes is irrelevant. If the workstation on earth were using (for example), NFS to get to `files' on the workstation, you would have to wait one RTT for each pathname component of each pathname you look up. Long-latency systems require markedly different protocols. NeWS programming requires you to know two radically different languages (extended PostScript and, presumably, C) and switch between them quickly; X only requires one (for now, C or Common Lisp; other languages such as Ada will presumably be added as well). Some people at USENIX said that NeWS was more fun for hackers because of the interpretive element involved. X is probably as much fun (except for the more limited imaging model) under a C interpreter such as Saber-C or under a LISP interpreter (disclaimer: I've used X under Saber C, but not CLX or NeWS). - Bill