Fatos sobre Erlang

February 11, 2010

Compilação de alguns pontos relevantes sobre Erlang, feita por Odracir:
  • Linguagem de programação de propósito geral, com ambiente de execução (runtime environment) implementado numa máquina virtual;
  • Possui suporte “embutido” para concorrência, distribuição, e tolerência à falhas.
  • É “Open-Source”, distribuído através da licença “ERLANG PUBLIC LICENSE“, que é essencialmente a Mozilla (Netscape) Public Licence, porém com algumas poucas modificações para torna-la compatível com a legislação Sueca.
  • É escrito em C, e é  portável para diversas plataformas.
  • Muito escalável!  Sua máquina virtual é responsável pela criação de “processos leves” de forma  rápida e barata, tanto em termos de utilização de recursos de CPU como de memória. Em outras linguagens de programação, normalmente estes serviços são delegados para o sistema operacional, o que limita  o número máximo de processos simultâneos permitidos.
  • Para modelar um sistema um Erlang nós usamos: “COP – Concurrency Oriented Programming”.
  • Não existe estado compartilhado…
  • Variáveis podem ser atribuídas apenas uma única vez. (Single assignment variables)
  • Os processos se comunicam entre si através do envio de mensagens (cópias imutáveis) assíncronas.
  • Tipicamente um código escrito em Erlang faz uso dos diversos núcleos disponíveis nas CPUs modernas, praticamente sem codificação adicional. Testes mostram que clusters com 16 máquinas executam um programa 14,55 vezes mais rápido do que o mesmo programa sendo executado numa única máquina, sem codificação adicional ou específica para isto!
  • Permite a interoperabilidade com C,C++, Java, Ruby, Python, Perl, etc …
  • Estudos mostram que para um mesmo projeto, o código Erlang é de 4 à 10 vezes menor que seu equivalente escrito em C++.
  • Possui a biblioteca  OTP (Open Telecom Platform).
  • Em situações extremas de “carga”, um sistema Erlang tende a degradar seu desempenho, mas não para de funcionar.

tags: , ,
posted in Desenvolvimento, Ferramentas by Miguel Galves

Follow comments via the RSS Feed | Leave a comment | Trackback URL

  • http://job4dev.com/ Raphael Lullis

    Essa é uma lista dos “prós”. Agora, precisa de uma lista dos “contras”.

  • Miguel Galves

    Uma lista de contras pode ser encontrada em http://www.iowrite.com/2010/02/aprendendo-erlang/. Citando aqui alguns:

    Os eventuais aspectos negativos da adoção do Erlang poderiam ser os seguintes:

    * Praticamente não há programadores no mercado que saibam Erlang.
    * Também praticamente nenhuma empresa aqui no Brasil contrata programadores Erlang.
    * Existiria a necessidade de investimento em treinamento para adotar Erlang.
    * Os paradigmas são diferentes, COP (Concurrency Oriented Programming) em vez de OOP (Object Oriented Programming), e programação funcional no lugar do modo imperativo ao qual a maioria de nós já está acostumado.
    * Acostumar-se com as variaveis que não variam … (Single assignment variables), e com “pure message passing” …
    * Programação para GUI não é seu ponto forte …
    
blog comments powered by Disqus

Switch to our mobile site

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org