Mesa (programming language)
From Wikipedia, the free encyclopedia
Mesa is a programming language developed at Xerox PARC that was used to program the Xerox Alto (one of the first personal computers with a graphical user interface), and later the Xerox Star workstations, and later the GlobalView desktop environment. The name Mesa was chosen as a pun, to signify that it is a "high-level" programming language.
Due to these historic links, trained Mesa programmers from Xerox were well versed in the fundamentals of GUIs, networked environments and the other advances that Xerox contributed to the field of Computer Science.
Mesa is an ALGOL-like language. It was designed around the concept of modular programming, which stressed the separation between the (programmer's) interface of a library 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.
It was well beyond its time, supporting concepts like incremental compilation and being used in environments that enabled the source code of a properly built application to be assembled from anywhere in the Xerox intranet. This way any Mesa developer could debug any problems in the operating systems on Xerox 8010 and 6085 machines, which were also coded in Mesa.
Before that time Mesa was run on Xerox's own stack-based workstations such as the Alto, the 8010 (Dandelion) and the smaller and faster 6085 (Daybreak). A secondary operating system called the Xerox Development Environment (XDE) allowed developers to debug the ViewPoint GUI operating system by swapping worlds, therefore allowing crashes that would have paralyzed the whole system to be debugged.
Mesa was taught via the Mesa Programming Course that took people through the wide range of technology that Xerox had available at the time and that finished off 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.
[edit] Descendants
- Mesa was the precursor to the later language Cedar. Cedar's main improvement was to add garbage collection to the Mesa language, and identify a "type-safe subset" of Mesa.
- When the United States Department of Defense approached Xerox to use Mesa for its "IronMan" programming language, Xerox management turned them down flatly. The Department of Defense instead created the Ada programming language.
- As ViewPoint Desktop became GlobalView and was ported to various Unix platforms, such as SunOS Unix and AIX, Mesa was compiled to C and the C was 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.
[edit] See also
[edit] External links
- "Experience with Processes and Monitors in Mesa" by Butler W. Lampson and David D. Redell
- World-Stop Debuggers