Top Qs
Linha do tempo
Chat
Contexto
Mesa (linguagem de programação)
linguagem de programação Da Wikipédia, a enciclopédia livre
Remove ads
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".
Este artigo ou se(c)ção está a ser traduzido. (Junho de 2025) |
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.
Mesa e Cedar tiveram uma grande influencia no desing de outras linguagens importantes, como Modula-2 e Java, e foram um importante veículo para o desenvolvimento e disseminação dos fundamentos de GUIs, ambientes em redes, e outros avanços a Xerox contribuiu para o campo da ciência da computação.
Remove ads
História
Resumir
Perspectiva
Mesa foi originalmente projetada no Computer Systems Laboratory (CLS), um ramo do Xerox Palo Alto Research Center, para o Alto, uma estação de trabalho experimental que usava microcode. Inicialmente, ela estava restrita ao PARC e a algumas poucas universidades para as quais a Xerox doou alguns Altos.
Mesa mais tarde foi adotada como linguagem de programação de sistemas para as estações de trabalho da Xerox como o Xerox 8010 (Xerox Star, Dandelion) e o Xerox 6085 (Daybreak), e particular para o sistema operacional Pilot.
Um ambiente de desenvolvimento secundário, chamado Xerox Development Environment (XDE) permitia a desenvolvedores debugar ambos o sistema operacional Pilot assim como aplicações GUI ViewPoint usando um mecanismo de "world swap". Isso permitia que do o "estado" do mundo a ser substituído, e permitir que crashes de sistema de baixo nível que paralisariam o sistema fossem debugados. Essa técnica não escalou muito bem para imagens de aplicações maiores (vários megabytes), e então o Pilot/Mesa world mais tarde foi movido do doe "world swap view" quando as maquinas microcodadas foram substituídas gradualmente em favor das estações de trabalho SPARC e PCs Intel rodando um emulador Mesa PrincOps para o conjunto de instruções básico.
Mesa era compilada em uma linguagem de pilha de maquina, supostamente com a maior densidade de código já atingida (crudemente, 4 bytes por declaração da linguagem de alto nível). Isso foi alardeado em num paper de 1981 onde os implementadores do Xerox System Development Departament (então, o braço de desenvolvimento do PARC), ajustaram o conjunto de instruções e publicaram um paper sobre a densidade de código resultante.[4]
Mesa foi ensinada através do Mesa Programning Course que levou pessoas de um grande conjunto de tecnologias Xerox tinha disponível no momento e terminava com programadores escrevendo um "hack", um programa funcional projetada para ser útil. Um exemplo de tais hack é o BWSMagnifier, que foi escrito em 1988 e permitia a pessoas ampliarem seções da tela da estação de trabalho ao definir uma janela redimensionável e um fator de amplificação. Programadores da Xerox trinados em Mesa eram bem versados nos fundamentos de GUIs, redes, exceções e programação multi thread, quase uma década antes delas se tornarem ferramentas padrão do ofício.
Dentro da Xerox, Mesa foi eventualmente suplantada pela linguagem de programação Cedar. Muitos programadores Mesa e desenvolvedores deixaram a Xerox em 1985, alguns deles foram para o DEC System Research Center onde usaram a experiência com Mesa no design de Modula-2+, e mais tarde Modula-3.
Remove ads
Cedar
Mesa for a precursora da linguagem de programação Cedar.[5][6] As maiores adições de Cedar foram garbage collection, tipos dinâmicos, melhor suporte a strings através de cordas, e uma forma limitada de parametrização de tipos, uma sintaxe especial para identificação de partes type-safe de pacotes de software com múltiplos módulos, para assegurar execução determinística e prevenir vazamentos de memória.
Remove ads
Descendentes
- O Departamento de Defesa dos Estados Unidos procurou a Xerox para usa Mesa para o sea linguagem de programação "IronMan" (veja Steelman language requirements), mas a Xerox rejeitou a proposta devido a conflitos de objetivos. Funcionários do Xerox PARC argumentaram que Mesa era uma vantagem proprietária que fazia os engenheiros de software da Xerox mais produtivos que os engenheiros das outras empresas. O Departamento de Defesa então eventualmente escolheu e desenvolveu a linguagem de programação ADA a partir de candidatas.
- O Star Desktop original evoluiu no Desktop ViewPoint que mais tarde se tornou o GlobalView que foi portado para várias plataformas Unix como SunOS Unix e AIX. Um compilador Mesa pra C foi escrito e o código resultante compilado para plataforma alvo. Isso foi uma solução viável mas fez com que fosse quase impossível de desenvolver em máquinas Unix devido já que o poder do compilador Mesa e conjunto de ferramentas foi perdido usando esse método. Houve algum sucesso comercial em estações de trabalho Sun SPARC no mundo da publicação, mas esse approach resultou em um isolamento do produto a poucas oportunidades no mercado.
- Em 1976, durante um sabático no Xerox PARC, Niklaus Wirth se familiarizou com Mesa, o que teve uma grande influêcia no design de sua linguagem Modula-2.[7]
- Java explicitamente refere a Mesa como predecessora.[8]
Referências
- 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.
- Perry, T.S. (maio de 1988). «'PostScript' prints anything: a case history». IEEE Spectrum. 25 (5): 42–46. doi:10.1109/6.4550
- Mesa Language Manual, chapter 7. (The Manual uses the term module to mean a source file.)
- Sweet, Richard; Sandman, James (março de 1982), «Empirical analysis of the mesa instruction set», Proceedings of the first international symposium on Architectural support for programming languages and operating systems - ASPLOS-I, ISBN 0897910664, pp. 158–166, doi:10.1145/800050.801839
- Lampson, Butler W. A Description of the Cedar Language. [S.l.]: Xerox PARC Technical Report
- Swinehart, Daniel C.; Zellweger, Polle T.; Hagmann, Robert B. (julho de 1985). «The Structure of Cedar». SIGPLAN Notices. 20 (7): 230–244. CiteSeerX 10.1.1.110.9565
. doi:10.1145/800225.806844
- Wirth, Niklaus (2007). «Modula-2 and Oberon». Proceedings of the third ACM SIGPLAN conference on History of programming languages. San Diego: [s.n.] pp. 3–1–3–10. CiteSeerX 10.1.1.91.1447
. ISBN 978-1-59593-766-7. doi:10.1145/1238844.1238847.
- Gosling, James; Joy, Bill; Steele, Guy; Bracha, Gilad. Java Language Specification 2nd ed. [S.l.: s.n.]
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads