Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Mesa (programming language)
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== Mesa was originally designed<!--Dates??? Names???--> in the Computer Systems Laboratory (CSL), a branch of the Xerox Palo Alto Research Center, for the [[Xerox Alto|Alto]], an experimental micro-coded workstation. Initially, its spread was confined to PARC and a few universities to which Xerox had donated some Altos. Mesa was later adopted as the systems programming language for Xerox's commercial workstations such as the [[Xerox Star|Xerox 8010 (Xerox Star, Dandelion)]] and [[Xerox Daybreak|Xerox 6085 (Daybreak)]], in particular for the [[Pilot (operating system)|Pilot operating system]]. 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. This technique did not scale very well to large application images (several megabytes), and so 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 PCs running a Mesa PrincOps emulator for the basic hardware instruction set. Mesa was compiled into a stack-machine language, purportedly with the highest code density ever achieved (roughly 4 bytes per high-level language statement). This was touted in a 1981 paper where implementors from the Xerox Systems Development Department (then, the development arm of PARC), tuned up the instruction set and published a paper on the resultant code density.<ref>{{citation |date=March 1982 |first1=Richard |last1=Sweet |first2=James |last2=Sandman |title=Proceedings of the first international symposium on Architectural support for programming languages and operating systems - ASPLOS-I |chapter=Empirical analysis of the mesa instruction set |pages=158β166 |doi=10.1145/800050.801839 |isbn=0897910664 |s2cid=1353842 |doi-access=free }}</ref> 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 (technology slang)|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. Trained Mesa programmers from Xerox were well versed in the fundamental of GUIs, networking, exceptions, and multi-threaded programming, almost a decade before they became standard tools of the trade. Within Xerox, Mesa was eventually superseded by the [[#Cedar|Cedar]] programming language. Many Mesa programmers and developers left Xerox in 1985; some of them went to [[DEC Systems Research Center]] where they used their experience with Mesa in the design of [[Modula-2+]], and later of [[Modula-3]].
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Mesa (programming language)
(section)
Add topic