3.0 KiB
title | localeTitle |
---|---|
Erlang | Erlang |
Erlang
Erlang é uma linguagem de programação funcional, desenvolvida pela Ericsson para uso em aplicações de telecomunicações. Por acharem que é inaceitável que um sistema de telecomunicações tenha algum tempo de inatividade significativo, o Erlang foi construído para ser (entre outras coisas):
- distribuído e tolerante a falhas (um software ou hardware com falha não deve desativar o sistema)
- concorrente (pode gerar muitos processos, cada um executando um trabalho pequeno e bem definido, e isolados uns dos outros, mas capazes de se comunicar via mensagens)
- hot-swappable (o código pode ser trocado no sistema durante a execução, levando a alta disponibilidade e tempo de inatividade mínimo do sistema)
Sintaxe
Erlang faz uso pesado de recursão . Como os dados são imutáveis em Erlang, o uso de loops while
e for
(onde uma variável precisa continuar mudando seu valor) não é permitido.
Aqui está um exemplo de recursão, mostrando como uma função tira repetidamente a primeira letra da frente de um nome e a imprime, parando apenas quando a última letra é encontrada.
-module(name).
-export([print_name/1]).
print_name([RemainingLetter | []]) ->
io:format("~c~n", [RemainingLetter]);
print_name([FirstLetter | RestOfName]) ->
io:format("~c~n", [FirstLetter]),
print_name(RestOfName).
Saída:
> name:print_name("Mike").
M
i
k
e
ok
Há também uma forte ênfase na correspondência de padrões , que freqüentemente elimina a necessidade de uma estrutura if
ou declaração de case
. No exemplo a seguir, há duas correspondências para nomes específicos, seguidas por um pega-tudo para quaisquer outros nomes.
-module(greeting).
-export([say_hello/1]).
say_hello("Mary") ->
"Welcome back Mary!";
say_hello("Tom") ->
"Howdy Tom.";
say_hello(Name) ->
"Hello " ++ Name ++ ".".
Saída:
> greeting:say_hello("Mary").
"Welcome back Mary!"
> greeting:say_hello("Tom").
"Howdy Tom."
> greeting:say_hello("Beth").
"Hello Beth."
Experimente
Existem sites onde você pode tentar executar comandos Erlang sem ter que instalar nada localmente, como estes:
Se você gostaria de instalá-lo em sua máquina (ou virtual), você pode encontrar arquivos de instalação em Erlang.org ou em Erlang Solutions .
Mais Informações:
- Sobre o Erlang
- Aprenda-lhe alguns Erlang para o bem grande!
- Abrigo Desovado! (uma coleção de artigos, vídeos e livros para aprender Erlang)
- Erlang (linguagem de programação)