Eva and NeWS

Although Eva and NeWS have evolved independently, they have a number of similarities. Both support the notion of events and multiple active views (processes) to support light weight windows. They both argue that complex user interfaces should be implemented in a portable interpretive language. This reflects an increasingly popular view that reactive applications consist of interacting objects which invoke application devices or stubs to perform work. They differ from traditional library based approaches such as GKS [ISO, 1982] [ANSI, 1984], where the user interface consists of a single application driven loop which invokes library procedures to perform the user I/O. It is encouraging to note that system designers from graphics, operating systems and object oriented programming have converged on the same idea.

We believe that Smalltalk provides a much better foundation for complex user interfaces. NeWS is based on POSTSCRIPT [Adobe Systems Inc., 1984], which is essentially Forth with a very flexible graphics imaging model. POSTSCRIPT (Forth), while good for device controllers and the like, does not meet the needs of large applications. POSTSCRIPT lacks a development environment (i.e., the browser and debugger), the garbage collector [Roberts, et al., 1987] and the class library of Smalltalk. If we are to produce complex applications (e.g., a CAD system which conforms to the PHIGS [PHIGS] standard) then a rich programming environment is of utmost importance. We do not have to give up performance for sophistication. This despite the widely held view that Smalltalk systems are larger and less efficient than more traditional systems [Krasner, 1983]. For example, there are several Smalltalk systems (e.g., ParcPlace, Smalltalk/V) which execute faster than the dedicated POSTSCRIPT interpreter in the Apple LaserWriter. Smalltalk/V requires only 600K to run and it is an entire programming environment complete with compiler, debugger and inspectors. Future high power, "crayola" class, workstations will make differences in system performance insignificant.

Eva