Mesa (linguagem de programação)

Mesa[1] é uma linguagem de programação desenvolvida no meio da década de 1970 no Xerox Palo Alto Research Center em Palo Alto, California, United States. O nome da linguagem foi baseado num trocadilho com as catchphrases de linguagens de programação da época, porque Mesa (um tipo de acidente geográfico onde um planalto é isolado) é uma linguagem de "alto nível".

Mesa[1]
Surgido em julho de 1981; há 43 anos
Última versão Mesa 6.0 (Version 41) (julho de 1981; há 43 anos)
Criado por Computer Systems Laboratory (CSL)
Estilo de tipagem
  • estática
  • forte
Influenciada por ALGOL
Influenciou Java, Modula-2, Cedar, PostScript[2]

Mesa é uma linguagem tipo ALGOL com suporte forte a modularidade. Cada modulo de biblioteca tem pelo menos dois arquivos de código fonte: um arquivo de definições especificando a interface da biblioteca além um ou mais arquivos de programa especificando a implementação das procedures na interface.[3] Para usar a biblioteca, um programa ou biblioteca de mais alto nível precisa "importar" as definições. O compilador Mesa type-checks todos os usos das entidades importadas, essa combinação separa a compilação com type-checking era incomum na época.[carece de fontes?]

Mesa introduz várias outras inovações em design de linguagens e implementação, notavelmente no tratamento de exceções, sincronização de threads e compilação incremental.

Mesa foi desenvolvida no Xerox Alto, um dos primeiros computadores pessoais com uma interface gráfica do usuário, porem, a maior parte do software de sistemas do Ato foram escritos em BCPL. Mesa foi a linguagem de programação de sistema da workstation Xerox Star mais tarde, e a para o ambiente de desktop GlobalWiew. O Xerox PARC mais tarde desenvolveu a linguagem Cedar, que foi um superset da Mesa.

Referências

  1. a b Mitchell, James G.; Maybury, William; Sweet, Richard (1979): 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.
  2. Perry, T.S. (maio de 1988). «'PostScript' prints anything: a case history». IEEE Spectrum. 25 (5): 42–46. doi:10.1109/6.4550 
  3. Mesa Language Manual, chapter 7. (The Manual uses the term module to mean a source file.)