Path: utzoo!mnetor!uunet!husc6!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: <2960@bloom-beacon.MIT.EDU> Date: 15 Feb 88 02:11:39 GMT References: <2940@bloom-beacon.MIT.EDU> <3851@megaron.arizona.edu> <2945@bloom-beacon.MIT.EDU> <18064@topaz.rutgers.edu> Sender: daemon@bloom-beacon.MIT.EDU Reply-To: wesommer@athena.mit.edu (William Sommerfeld) Organization: Massachusetts Institute of Technology Lines: 51 Keywords: [No bashing enclosed.] I will state in advance that I have never used NeWS; I have used and programmed X. >The point about learning and switching languages is invalid for the >same reason that a container whose volume is 50% occupied by water is >both half full and half empty. You either learn the language >(NeWS-extended PostScript) or learn the protocol (the X protocol). A clarification: You don't have to ``learn the protocol'' in the sense of knowing what the bits going over the wire look like; there are library functions which handle all of the packing and unpacking of data for each request. Xlib provides a procedure-oriented interface to the programmer. However, you do have to understand the higher level protocol of the way events work, but that's going to be there for any windowing system. If you instead use the X toolkit, most, if not all, of the protocol details are handled by the toolkit. My point was not that you don't need to absorb a large amount of information to use X (you do); it is that X uses the language of your choice for both the calls to the window system and the application, while NeWS requires you to know both PostScript and the application language. C uses infix operators and prefix notation (for function calls and control flow). PostScript is _entirely_ postfix, including the control-flow operators; this means that you have to scan to the _end_ of a construct to figure out what it was. It was designed to be easy for machines to interpret and easy to compile to, not to be easy to program in. I'd rather let the compiler or interpreter manage the stack---I've got better things to do than count stack slots. >I have no problem going from Lisp to C to sh to Pascal to ... Neither do I---I've written my share of shell scripts calling awk programs which write C programs. However, there is always a ``context switch delay'' which increases when the languages are as radically different as C and PostScript; whether the alleged advantanges of PostScript make up for this is unclear. I will say that the PostScript _imaging model_ seems to be a lot more flexible and featureful than the X imaging model; however, I can easily see a system which uses an X-like protocol to do PostScript style imaging (with a transformation matrix in the graphics context, among other things); I wouldn't be surprised if in a few years there was a standard X extension which provided this. - Bill