- A nova página inicial apresenta o Elixir como uma linguagem baseada em Erlang escalável, de desenvolvedores individuais a equipes com centenas de pessoas, de um único servidor a redes globais
- Com base em imutabilidade, segurança de memória e um sistema de tipos gradual, permite criar sistemas de fácil recuperação após falhas e de manutenção simples
- Uma única base de código pode escalar para máquinas multicore e vários nós e, combinada com o Numerical Elixir, também oferece suporte a computação em GPU
- Com o ecossistema Phoenix, Nerves, Nx e Broadway, é possível desenvolver web, embarcados, machine learning, processamento de dados, IoT e sistemas distribuídos
- O gerenciador de pacotes, formatador de código, ferramentas de documentação, IEx, Livebook e o ecossistema Hex dão suporte desde a prototipagem até a operação em produção
Experiência de desenvolvimento e escalabilidade
- O Elixir combina desenvolvimento rápido com práticas profissionais robustas, apoiado em décadas de confiabilidade e tolerância a falhas do Erlang
- Busca um código claro, focado em dados e no domínio
- Oferece imutabilidade e segurança de memória
- Permite usar o sistema de tipos gradual do Elixir 1.20
- Uma única base de código escala verticalmente em máquinas multicore e horizontalmente por meio de comunicação entre nós, sendo adequada para sistemas orientados a mensagens e sistemas web em tempo real
- Combinado com o Numerical Elixir, é possível escalar a computação por cores, clusters e GPUs
- Foi escolhido por vários anos consecutivos como uma das linguagens mais admiradas do mundo, e os resultados podem ser conferidos na pesquisa Stack Overflow 2025
- Inclui gerenciador de pacotes padrão, formatador de código e recursos de documentação
- Com o shell interativo IEx e o notebook interativo Livebook, é possível criar protótipos rapidamente e depurar em tempo real sistemas em execução
- É usado em ambientes de produção em diversos setores e aplicações, de profissionais autônomos a empresas da Fortune 500
Áreas de uso e ecossistema
- Para desenvolvimento web, usa Phoenix para desenvolvimento rápido, LiveView para adicionar recursos em tempo real com pouco código, Ecto para a camada de dados e Plug
- Em sistemas embarcados, o Nerves empacota a aplicação inteira como um firmware compacto e oferece atualizações sem fio e tolerância a falhas em nível de operadora
- Com o AtomVM, é possível executar Elixir até em dispositivos tão pequenos quanto microcontroladores
- Em machine learning, o Nx fornece tensores acelerados por GPU, e o Livebook oferece execução de modelos pré-treinados, visualização de dados e implantação em um único ambiente
- Para processamento de dados e mídia, usa backpressure e concorrência
- Com base na VM Erlang, também é usado em IoT e sistemas distribuídos, com projetos Erlang relacionados como EMQX, RabbitMQ e Riak
- No Hex, é possível explorar milhares de pacotes da comunidade, e o ecossistema continua crescendo
- A Elixir Team lidera o desenvolvimento da linguagem, e a Erlang Ecosystem Foundation apoia o Elixir e a comunidade Erlang mais ampla
- Entre os Elixir Open Source Stewards, que contratam ou patrocinam desenvolvedores open source, estão as seguintes empresas
- Software Mansion: desenvolve ferramentas para toda a stack desde 2016, incluindo Membrane, Popcorn, LiveDebugger e Legion
- Dashbit: cria Elixir, Livebook, Broadway, Plug e outros projetos, além de apoiar empresas na adoção e expansão em produção
- Jump: contribui para Expert LSP, Quokka e outros projetos
1 comentários
Comentários no Hacker News
José Valim e a equipe realmente criaram uma linguagem Elixir e ecossistema excepcionais, e sou especialmente grato pelo esforço constante no último ano para lançar a 1.20
Elixir é excelente, mas eu queria ver mais financiamento e esforço de desenvolvimento indo para o próprio BEAM para melhorar o desempenho bruto de execução, e não só a concorrência
Nos últimos mais de 10 anos, parece que as melhorias de desempenho dependeram basicamente de uma pessoa
Depois que a equipe do Erlang/OTP extrair todo o desempenho possível do JIT, provavelmente vai partir para otimizações entre módulos; isso exigirá redesenhar alguns elementos básicos do runtime, mas deve abrir muitas novas possibilidades
Comecei a aprender Elixir este ano e fiquei impressionado com a linguagem e os recursos oferecidos pelo BEAM, além de ter ficado completamente encantado com esse ecossistema subestimado
O novo site também parece ótimo
https://joearms.github.io/published/2013-05-31-a-week-with-e...
Que Joe Armstrong descanse em paz, ele foi brilhante
Dá para implantar rapidamente em várias plataformas a partir de uma única base de código, e Phoenix Channels também é econômico
https://quasar.dev/introduction-to-quasar/
Também espero que a UI do fórum seja renovada, e que Elixir continue crescendo
Além de ser uma ótima linguagem, ela também é muito adequada para codificação com IA
https://arxiv.org/pdf/2508.09101
Mesmo para os padrões de hoje eu não uso um monitor grande, então é uma pena que metade da tela do site esteja vazia
Não me lembro de como era o site antigo, então não sei se isso realmente mudou
O BEAM, runtime do Elixir, é muito adequado para orquestrar agentes e sistemas multiagentes, e reuni algumas observações sobre isso aqui
https://josefrichter.design/blog/crowd
Um dos principais casos de uso de Elixir/Erlang parece ser a funcionalidade de cluster distribuído, e tenho curiosidade sobre casos de uso reais
Usei bastante Elixir no trabalho, mas mais como um “Rails melhor” para escalar horizontalmente apps Phoenix independentes em ambientes Kubernetes tradicionais, então sinto que deixei de lado o objetivo principal
É extremamente conveniente, mas vira dor de cabeça quando não há fronteira de segurança entre nós e a rede é instável
Num app de chat, primeiro você envia uma mensagem ao serviço de banco de dados de presença para verificar se a outra pessoa está online; se ele retornar um ID de processo, você envia uma mensagem para esse processo usando a mesma API, independentemente de ele estar na mesma máquina ou em outra
São raros os ambientes em que o envio arbitrário de mensagens entre processos, threads e tarefas se estende tão naturalmente por todo o sistema; se não houver ID de processo, basta enviar a mensagem para o banco de dados offline
Horde.DynamicSupervisor, e também existem outras opções comoswarme DynamicSupervisorSeria bom ver uma análise clara de que vantagens essas abstrações oferecem em relação a abordagens fora do BEAM
https://www.youtube.com/watch?v=nZmDEUeHeVI
Ainda assim, a estrutura é mais acoplada do que apps independentes e orquestra tarefas sobre Firecracker num estilo Lambda ou Fly.io
https://jomcgi.dev/ember
Há muito tempo apliquei Erlang neste equipamento; foi divertido e houve muitos desafios interessantes para todos os envolvidos
https://www.icare-world.com/us/product/icare-eidon/
Elixir é uma linguagem muito elegante, então quero encontrar um motivo para usá-la em breve
Escolhi Elixir pela primeira vez quando Ruby não conseguia lidar com um grande volume de mensagens WebSocket; ela se destacou especialmente em ambientes de alta concorrência, e eu também gosto do Phoenix LiveView, então mantenho alguns projetos paralelos com ele
https://github.com/ityonemo/ce_ce
Até uma sintaxe simples como
defmodule Xyz doparece estranha