Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Mesa (programming language)
(section)
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!
{{Use dmy dates|date=June 2016}} {{Infobox programming language | name = Mesa<ref name="manual">[[James G. Mitchell|Mitchell, James G.]]; Maybury, William; Sweet, Richard (1979): [http://www.bitsavers.org/pdf/xerox/parc/techReports/CSL-79-3_Mesa_Language_Manual_Version_5.0.pdf Mesa Language Manual - version 5.0]" XEROX PARC, Computer Systems Laboratory (CSL), Technical Report CSL-79-3. Online copy at www.bitsavers.org, accessed on 2019-05-15.</ref> | designer = Computer Systems Laboratory (CSL)<!-- or: | designers = --> | developer = [[Xerox PARC]] <!-- or: | developers = --> | released = {{start date and age|df=yes|1976}}<ref name="releasesspmesa">[http://www.softwarepreservation.org/projects/lang/mesa Mesa], Software Preservation Group</ref> | latest release version = Mesa 6.0 (Version 41) | latest release date = {{start date and age|df=yes|1981|07}} | typing = Strong, static | influenced by = [[ALGOL]] | influenced = [[Java (programming language)|Java]], [[Modula-2]], [[Cedar (programming language)|Cedar]], [[PostScript]]<ref>{{cite journal |last1=Perry |first1=T.S. |title='PostScript' prints anything: a case history |journal=IEEE Spectrum |date=May 1988 |volume=25 |issue=5 |pages=42β46 |doi=10.1109/6.4550|s2cid=33376390 }}</ref> }} '''Mesa'''<ref name="manual" /> is a [[programming language]] developed in the mid 1970s at the [[PARC (company)|Xerox Palo Alto Research Center]] in [[Palo Alto, California]], [[United States]]. The language name was a pun based upon the programming language catchphrases of the time, because Mesa is a [[high-level programming language|"high level" programming language]]. Mesa is an [[ALGOL]]-like language with strong support for [[modularity (programming)|modular programming]]. Every library module has at least two [[source code|source]] files: a ''definitions'' file specifying the library's [[interface (computer science)|interface]] plus one or more ''program'' files specifying the [[implementation]] of the procedures in the interface.<ref>''Mesa Language Manual'', chapter 7. (The ''Manual'' uses the term ''module'' to mean a source file.)</ref> To use a library, a program or higher-level library must "import" the definitions. The Mesa compiler [[Type system#Type checking|type-checks]] all uses of imported entities; this combination of separate compilation with type-checking was unusual at the time.{{citation needed|date=October 2016}} Mesa introduced several other innovations in language design and implementation, notably in the handling of [[exception (programming)|software exception]]s, [[Thread (computing)|thread]] [[synchronization (computer science)|synchronization]], and [[incremental compilation]]. Mesa was developed on the [[Xerox Alto]], one of the first [[personal computer]]s with a [[graphical user interface]], however, most of the Alto's system software was written in [[BCPL]]. Mesa was the system programming language of the later [[Xerox Star]] workstations, and for the [[GlobalView]] desktop environment. Xerox PARC later developed [[#Cedar|Cedar]], which was a superset of Mesa. Mesa and Cedar had a major influence on the design of other important languages, such as [[Modula-2]] and [[Java (programming language)|Java]], and was an important vehicle for the development and dissemination of the fundamentals of [[GUI]]s, networked environments, and the other advances [[Xerox]] contributed to the field of [[computer science]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)