software: NeWS as James Gosling’s best weird idea

Lex Fridman talked to James Gosling, famous for the Emacs editor and the Java language.

At 1:47:40 he says “I’ve got this weird history of doing weird stuff.” I was fortunate to be writing documentation at Sun Microsystems in the Programming Environments team when he came up with one of the best “weird ideas”: NeWS, the Network/extensible Window System. It used the PostScript language from printers enhanced with object-oriented programming, not just to draw things on your screen, but to exchange and invoke code between your program and the window system (which might be running on another computer across the network).  So instead of calling a fixed triangle drawing function to “draw two long skinny triangles with these points”, a clock program could send the definition of a drawClockHands operator to the window system, and then just send 10 42 drawClockHands to make the window system show the time at 10:42. And you could redefine drawClockHands to draw Mickey Mouse hands, or LED segments, or whatever.

NeWS was an incredible conglomeration of networking, rendering, and language ideas; phenomenal stuff in a world that was only just adopting network programming and OOP, and where program windows with rounded corners only existed on graphics supercomputers. Sun offered it to the other workstations companies, but they didn’t want Sun to control the window system as well as the file system with its NFS [*], so they cast around for an alternative and settled on the far more basic X11 window system.

[*] Sun’s Network File System became a standard on the level of FTP between networked computers, but it didn’t successfully jump onto PCs when they got networked. It was overtaken by Netware which was then destroyed by Microsoft’s Windows for Workgroups.

About skierpage

As you might guess, my site is mine. My Schema.org info is at .
This entry was posted in software. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.