system crashes

Mesa (programming language)

Mesa is a programming language developed at Xerox PARC. The name Mesa was a pun, referring to its design intent to be a "high-level" programming language.

Mesa was used for the software for the Xerox Alto (one of the first personal computers with a graphical user interface) and the later Xerox Star workstations. Later, the GlobalView desktop environment was written in Mesa. Thus, trained Mesa programmers from Xerox were well versed in the fundamentals of GUIs, networked environments and the other advances Xerox contributed to the field of Computer Science.

Mesa is an ALGOL-like language. designed around the concept of modular programming and stressing separation between the (programmer's) interface of a programming module and its implementation. In Mesa, all keywords are capitalized. Mesa has a rich exception facility with four types of exceptions, and includes Monitors for synchronization. Mesa was the first language to implement monitor BROADCAST, which was created at Xerox by the developers of the Pilot operating system.

Mesa incorporated significant advances in both the design and the implementation of programming languages. It was a strongly-typed programming language with type-checking across module boundaries, but with enough flexibility in its type system that heap allocators could be written in Mesa (see Geschke et al 1977). It also supported incremental compilation and source-level debugging of one machine from another via Ethernet. Indeed, any Mesa developer could debug the operating systems on Xerox 8010 and 6085 machines, which were also coded in Mesa.

Before that time Mesa was run on Xerox's micro-coded workstations such as the Alto, the 8010 (Dandelion) and the smaller and faster 6085 (Daybreak). A secondary development environment, called the Xerox Development Environment (XDE) allowed developers to debug both the operating system Pilot as well as ViewPoint GUI applications using a world swap mechanism. This allowed the entire "state" of the world to be swapped out, and allowed low level system crashes which paralyzed the whole system to be debugged. The Pilot/Mesa world in later releases moved away from the world swap view when the micro-coded machines were phased out in favor of SPARC workstations and Intel PC's running a Mesa PrincOps emulator for the basic hardware instruction set.

Mesa was taught via the Mesa Programming Course that took people through the wide range of technology Xerox had available at the time and ended with the programmer writing a "hack", a workable program designed to be useful. An actual example of such a hack is the BWSMagnifier, which was written in 1988 and allowed people to magnify sections of the workstation screen as defined by a resizable window and a changeable magnification factor.


  • Mesa was the precursor to the programming language Cedar. Cedar's main additions were Garbage collection, dynamic types, and a limited form of type parameterization, and to identify a "type-safe subset" of Mesa.
  • The United States Department of Defense approached Xerox to use Mesa for its "IronMan" programming language, but Xerox management turned them down. The Department of Defense instead eventually chose the Ada programming language from the candidates.
  • As ViewPoint Desktop became GlobalView and was ported to various Unix platforms, such as SunOS Unix and AIX, Mesa was compiled to C and then compiled for the relevant platform.
  • In 1976, Niklaus Wirth found the inspiration for Modula-2 during a sabbatical at Xerox Parc, where he discovered Mesa.
  • Java explicitly refers to Mesa as a predecessor.


See also


External links

Search another word or see system crasheson Dictionary | Thesaurus |Spanish
Copyright © 2015, LLC. All rights reserved.
  • Please Login or Sign Up to use the Recent Searches feature