Linguagem De Programação Erlang
Ensaios: Linguagem De Programação Erlang. Pesquise 862.000+ trabalhos acadêmicosPor: 731256 • 1/10/2014 • 2.432 Palavras (10 Páginas) • 816 Visualizações
Linguagem de Programação Erlang
Fernando Ígor A. Pinheiro, Paulo Henrique da S. Dutra, Pedro Jorge A. Figueredo, Pedro Lucas A. de Arruda.
Universidade Estadual do Ceará (UECE)
Fortaleza, Ceará , Brazil
{fernando.igor, paulo.henrique, pedro.jorge, pedro.lucas}@aluno.uece.br
Abstract. Erlang is a programming language is not purely functional programming concurrent and distributed systems with fault tolerance in real time, these very characteristics evident in functional programming languages. Some of the uses of Erlang are in telecommunications, banking, e-commerce, computer telephony and instant messaging. In the following report, we will present the main features and basic features of Erlang, not trying to present a formal specification language neither be exhaustive nor replace the existing documentation. For this reason, the language is set out in practice, via a textual description of its constructors, together with examples of programs.
Resumo. Erlang é uma linguagem de programação não puramente funcional para programação de sistemas concorrentes e distribuídos com tolerância a falhas em tempo real, características essas bastante evidentes nas linguagens de programação funcional. Alguns dos usos do Erlang estão em telecomunicações, serviços bancários, e-commerce, telefonia por computador e mensagens instantâneas. No relatório a seguir, faremos uma apresentação básica das principais características e funcionalidades da linguagem Erlang, não procurando apresentar uma especificação formal da linguagem nem sermos exaustivos nem substituir a documentação existente. Por esta razão, a linguagem é apresentada de forma prática, através de uma descrição textual dos seus construtores, juntamente com exemplos de programas.
1. Introdução
A linguagem de programação Erlang é uma linguagem desenvolvida pela Ericsson, com a finalidade de resolver problemas na área de telecomunicações, mais especificamente com o objetivo de melhorar o desenvolvimento de aplicações de telefonia. Originalmente era uma linguagem proprietária da Ericsson, mas foi lançada em código aberto em 1998. O nome "Erlang", atribuído a Bjarne Däcker, foi compreendido tanto como uma referência ao matemático e engenheiro Agner Krarup Erlang e também como uma abreviação de "Ericsson Language". A versão inicial foi implementada em Prolog e foi influenciada pela linguagem de programação PLEX (Program Language for Exchange Ericsson), uma linguagem de programação para equipamentos de telefonia usada em centrais da Ericsson.
2. Histórico
Em meados da década de 1980, no Computer Science Laboratory da Ericsson foi dada a tarefa de investigar linguagens de programação adequadas para a programação da próxima geração de produtos de telecomunicações. Joe Armstrong, Robert Virding e Mike Williams, sob a supervisão de Bjarne Däcker passaram dois anos prototipando aplicações de telecomunicações com todas as linguagens de programação disponíveis na época. Sua conclusão foi que, apesar de muitas das línguas tinha características interessantes e relevantes, nenhuma linguagem única abrangeu todos eles. Como resultado, eles decidiram inventar a sua própria linguagem. A linguagem Erlang foi influenciada por linguagens funcionais, tais como ML e Miranda, as linguagens simultâneas, como ADA, Modula, e do arrefecimento, assim como a linguagem de programação lógica Prolog. O software foi aprimorado com propriedades de Smalltalk, assim como as linguagens proprietárias Ericsson, EriPascal e PLEX. Com uma máquina virtual Erlang baseado em Prolog (VM), o laboratório passou quatro anos de prototipando aplicações de telecomunicações com uma linguagem em evolução, que através de tentativas e erros, se tornou o Erlang que se tem hoje. O produto foi lançado com sucesso em 1994, fornecendo informações valiosas sobre melhorias e funcionalidades que sofreu uma melhoria para lançamento em 1995. Só então a linguagem foi considerada madura o suficiente para usar em grandes projetos com centenas de desenvolvedores, incluindo banda larga da Ericsson, GPRS, e soluções de comutação ATM. A história de Erlang é importante para entender sua filosofia. Embora muitas linguagens foram desenvolvidas antes de encontrar seu nicho, Erlang foi desenvolvida para resolver os requisitos "time-to-market" de distribuição, tolerante a falhas, maciçamente concorrente em sistemas de tempo real. Alguns de seus usos estão na área de telecomunicações, nos serviços bancários, comércio eletrônico e outros. Grandes nomes de empresas como, por exemplo: Facebook, Yahoo, GitHub, Amazon, Motorola, CouchDB, RabbitMQ, entre outros, utilizam a linguagem de programação Erlang.
3. Tipo da linguagem
Erlang permite gerar código compilado em bytecode, que por sua vez é interpretado em uma máquina virtual (ao estilo Java), conferindo assim a classificação como uma linguagem de programação híbrida, pois possui uma maquina virtual indicando que é uma linguagem interpretada, mas o código-fonte é traduzido para um código intermediário antes de ser interpretado. Erlang também possui um shell interativo, o que confere à linguagem o estilo de outras linguagens interpretadas (como Haskell).
4. Paradigma da linguagem
A linguagem de programação Erlang é uma linguagem multiparadigma: concorrente e funcional; além de não ser scripting. Antes de desenvolver o Erlang, a Ericsson testou e buscou adicionar funcionalidades que atendessem as demandas das aplicações de telecomunicações à linguagens como Prolog e LISP, mas sem resultados satisfatórios. Eis o porquê de Erlang lembrar essas linguagens. Erlang é uma linguagem funcional, mas não totalmente funcional. É projetada para atuar de forma distribuída e ter um gerenciamento de memória eficaz (buscando evitar colisões com a heap - problema comum em funções recursivas desordenadas, por exemplo).
Não é necessário derrubar completamente um sistema feito em Erlang para atualizar módulos inteiros. Há aplicações feitas em Erlang que estão funcionando há diversos anos sem terem sido “paradas” uma única vez. Erlang funciona com “processo leves” no lugar de threads. Os criadores de Erlang dedicaram algum tempo para fazer com que sua máquina virtual tornasse simples a criação, gestão e comunicação de aplicações com muitos processos.
É importante entender que em uma linguagem de programação funcional
...