Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!tut.cis.ohio-state.edu!snorkelwacker!bloom-beacon!THUMPER.BELLCORE.COM!nsb From: nsb@THUMPER.BELLCORE.COM (Nathaniel Borenstein) Newsgroups: comp.windows.x Subject: Re: Abstracting the Windowing System Interface Message-ID: Date: 1 Feb 90 17:06:29 GMT References: <9002011637.AA04472@devnull.sun.com> Sender: root@athena.mit.edu (Wizard A. Root) Organization: The Internet Lines: 31 Excerpts from mail: 1-Feb-90 Re: Abstracting the Windowi.. David Rosenthal@Sun.COM (799) > The secret to Andrew's portability to X11 is that X11 was designed from > the start to be capable of supporting Andrew because some of the people > who designed WM also helped design X11. If you want to make this case, > you need some less contrived example. Hey, did you read the whole message? If it were just Andrew & X11, you'd have a case. But there does not appear to be any problem with porting Andrew to NeWS, NextStep, PM, or MGR, a rather wider family of window systems. Each of these ports has been started or planned, though none have been pushed to the form of released products. The fact that nobody has polished up and supported these ports is, as far as I know, more political than technical -- nobody has been motivated to do so. I think you've got some of the history wrong, too, David. The Andrew portable graphics layer was designed *AFTER* X11 -- after you left the Andrew project, in fact. (Reading the NeWS book, one could easily conclude that Andrew was unchanged forever from the time you & Gosling left, but this is very far from the truth.) It was designed when we ported Andrew to X11, but was explicitly designed to make other such ports extremely easy. I stand by my claim that the Andrew portable graphics layer is a good existence proof for the plausibility of window-system-portable code. You sacrifice the whiz-bang aspects of each window system in favor of portability across many of them. I challenge you to find any reasonably modern window system that can't support the Andrew graphics model, as defined largely in $ANDREWDIR/include/atk/graphic.ch on any installed Andrew system. -- Nathaniel Borenstein, Bellcore.