Brincando com Erlang – Parte I

23 04 2008

Esses dias vagando pela internet, resolvi ler mais sobre programação concorrente, e acabei ficando mais interessado sobre o assunto… Descobri também a linguagem Erlang, que é uma linguagem Open Source desenvolvida pela Ericson, que implementa a programação concorrente e muitos outros aspectos interessantes.

Pelo fato de ser totalmente funcional, as vezes me embaralha um pouquinho a cabeça (Sou acostumado a trabalhar com linguagens OO), mais isso com o tempo vai dando uma nova visão da coisa.

Resolvi aprender um pouco mais soh de curiosidade, e acabei baixando a mesma da internet. Porém começaram meus problemas. tentei buscar por alguma IDE ou algo assim para facilitar o aprendizado, e acabei encontrando a Erlide (baseada no Eclipse) e a Erlybird (baseada no Netbeans). Pelo fato das duas serem Open Source, resolvi baixar as duas para testes. Infelizmente, não consegui fazer nenhuma das duas funcionarem. (Pode ser problema entre o monitor e a cadeira, mais infelizmente, não teve jeito de elas funcionarem)

Então resolvi partir para a simplicidade, e estou programando com o Textpad + um Syntax Highlight para a linguagem que pode ser encontrado em: http://www.rosss.dds.nl/bbposts/erlang.syn.

Para programas básicos, acho que isso é o máximo que precisarei…

Consegui aprender algumas coisas especificas sobre a linguagem:

  • Váriaveis são maiusculas e soh podem ter um valor, não sendo possível alterar o mesmo valor posteriormente.
  • para compilar o seu algoritmo, utiliza-se “c(nomedoalgoritmo).” diretamente do erlang shell (erl)
  • e para rodar o mesmo, é necessário chamar o módulo e o nome da função da seguinte forma: “nomedomodulo:nomedafuncao(parametros)”

Para testes, fiz um algoritmo que calcula bhaskara, segue o código do mesmo:

-module(bhaskara).
-export([calculabhaskara/3]).

calculabhaskara(A, B, C) ->
Raiz1 = (-B – math:sqrt((B*B) -4 * A * C))/2,
Raiz2 = (-B + math:sqrt((B*B) -4 * A * C))/2,
io:fwrite(“Resultado da Raiz 1: ~p~n”,[Raiz1]),
io:fwrite(“Resultado da Raiz 2: ~p~n”,[Raiz2]).

Ainda fiz somente o básico, preciso fazer o controle de erros, mais pra começo já tah bom =)

Nos proximos posts, espero ajeitar o controle de erros e quem sabe, postar um tutorial sobre o Erlyweb, um “Erlang on Rails”.

Abraços

Anúncios

Ações

Information

2 responses

11 05 2008
Felipe

Erlang é uma linguagem que me interessa muito aprender. Continue com a série!! Abraços

28 10 2008
Dhérsy Gabreil

Parabens pelo post!!!

Estou fasendo um trabalho sobre Erlang,e se possivel gostaria muito que você continuasse com os posts sobre sua experiencia com a linguagem!!!

Abraço.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: