Erlang é uma linguagem de programação declarativa, para programação paralela e distribuída. Seu “jeitão” é muito mais parecido com Prolog ou Lisp que com C ou Java… e não é orientada a objetos, é “orientado à concorrência”, como costuma-se dizer.
Tanto a AMD quanto a Intel estão criando processadores dual core e quad core para as massas. A Intel também tem o Hyper-Threading, que trata um núcleo como se fossem dois. Um processador Intel Xeon quad core com HT comporta-se como se fossem 8 processadores! Atualmente temos o Pentium Itanium, Pentium Xeon, Pentium 4 HT e AMD Opteron que podem ser utilizados de forma paralela (ambos os núcleos trabalhando ao mesmo tempo).
O bacana do Erlang é que ela tira o máximo proveito de paralelismo com processadores. Na teoria, um programa em Erlang é N vezes mais rápido que um programa em outras linguagens sem paralelismo, sendo N o número de processadores na máquina. Na teoria pois nem sempre o processador é o gargalo da performance, pode ser leitura/escrita em disco, acesso à memória, interface com outros dispositivos, sistema operacional, etc.
Quem está perdido, tem alguns links interessantes:
Artigos
ERLANG: Uma linguagem de programação distribuída
Links em inglês (via aidanf.net):
Sites
Tutoriais e Introdução
- Overview of Erlang
- The Hitchhiker’s Guide to Erlang
- A first Erlang program
- A first Erlang program – part 2
- Test-First Word Wrap in Erlang
- Tutorial at erlang.org
- Getting started with Erlang
- Erlang for C, C++ and Java Programmers
- Socket programming in Erlang
- Having fun with Erlang
- Erlang, we meet again
- Thinking in Erlang (pdf)
Artigos
- Writing Low-Pain Massively Scalable Multiplayer Servers
- Why OO sucks
- Erlang style concurrency
- Ten Questions with Joe Armstrong about Parallel Programming and Erlang
- Your web app does not require Erlang!
- Haskell vs. Erlang, Reloaded
- Why Erlang Is a Great Language for Concurrent Programming
- Sendmail Meets Erlang: Experiences Using Erlang for Email Applications
- Erlang – White Paper
Blogs
Livros
- Programming Erlang
- Concurrent Programming with Erlang (pdf)
- Joe Armstrong’s Phd thesis
- Erlang Cookbook
Apresentações e vídeos
Aplicações
- Openpoker Servidor de pocker.
- Yaws Servidor web.
- Ejabberd Servidor de jabber.
- RabbitMQ Servidor de mensagem AMQP.
Outros
0 Comentários.