Elixir Enchiridium 第一卷:起源(第 4 部分)
Elixir Enchiridium — Tomo I: A Origem parte 4
这是一部以 Elixir 真实史实为底本的讽刺奇幻系列《Elixir Enchiridium》第一卷《起源》第 4 部分,涵盖第 61 至 100 章。每章先讲传说、再在结尾揭示背后事实,本部分涉及宏与 DSL、Nx/Axon/Bumblebee 的 BEAM 机器学习生态,以及 Helvetia、Multiverse、Remote 等公司采用 Elixir 的案例。
AVISO: esta série é uma fantasia satírica baseada em fatos reais sobre Elixir. Nada aqui deve ser levado ao pé da letra. Ao final de cada capítulo, os fatos por trás da lenda são revelados. Tags: #satire #humor #elixir #enchiridium
Elixir Enchiridium — Tomo I: A Origem
Capítulos 61 a 100
Capítulo 61 — Macros: O Feitiço que Assusta até os Corajosos
A lenda diz que as macros são feitiços. Você escreve um feitiço, e o compilador o executa antes de compilar o resto do código. Se o feitiço estiver certo, o código aparece. Se estiver errado, o compilador chora e se recusa a continuar. Dizem que José Valim escreveu a primeira macro, olhou para ela, e disse: "Isso é poderoso demais. Vou colocar um aviso na documentação."
A verdade é que macros permitem que você escreva código que gera código em tempo de compilação. Elas são usadas para criar DSLs, estender a linguagem e reduzir boilerplate. São uma das características mais poderosas do Elixir — e uma das mais perigosas. Como diz o ditado na comunidade: "Com grandes macros vêm grandes responsabilidades."
O fato por trás da lenda: Macros são um mecanismo de metaprogramação do Elixir que opera em ASTs (Abstract Syntax Trees) compostas por listas e tuplas. Elas permitem escrever código que gera código em tempo de compilação, e são usadas para criar DSLs e estender a linguagem. Chris McCord escreveu o livro "Metaprogramming Elixir" (2015) sobre o assunto.
Gancho: Macros são poderosas. Mas para que servem, na prática? A resposta está nos DSLs.
Capítulo 62 — DSLs: A Linguagem Dentro da Linguagem
A lenda diz que, em Elixir, você não precisa aprender uma nova linguagem para cada problema. Você cria uma. Com macros, você pode definir uma DSL (Domain-Specific Language) que parece uma linguagem natural, mas que compila para Elixir. O Ecto faz isso com queries. O ExUnit faz isso com testes. O Phoenix faz isso com rotas.
Dizem que um programador escreveu uma DSL para descrever receitas de bolo. A DSL funcionava. O bolo também. Ninguém sabe como.
O fato por trás da lenda: DSLs em Elixir são criadas com macros. Exemplos incluem Ecto.Schema para definir schemas de banco de dados, ExUnit para definir testes, e Phoenix.Router para definir rotas. Chris McCord descreve as macros como uma forma de "compartilhar funcionalidade de maneiras que você nunca imaginou possível".
Gancho: DSLs são uma das aplicações mais comuns de macros. Mas há outra aplicação que está mudando o ecossistema: IA na BEAM.
Capítulo 63 — Nx: A IA que Roda em Capivaras Quânticas (de Verdade)
A lenda diz que, quando os aliens criaram a BEAM, eles não pensaram em IA. Pensaram em telefones. Mas um brasileiro chamado José Valim olhou para a BEAM e disse: "E se a gente colocasse tensores aqui dentro?" Os aliens, do outro lado do multiverso, aplaudiram.
A verdade é que o Nx (Numerical Elixir) é uma biblioteca que traz operações de tensor para a BEAM. Com o Nx, você pode escrever código de machine learning em Elixir, rodar modelos em produção na BEAM, e aproveitar a concorrência e distribuição da máquina virtual. O ecossistema inclui Axon para treinar redes neurais e Bumblebee para rodar modelos pré-treinados.
O fato por trás da lenda: O Nx é uma biblioteca de computação numérica para Elixir que traz operações de tensor para a BEAM. O ecossistema inclui Axon (treinamento de redes neurais) e Bumblebee (modelos pré-treinados). O Nx permite rodar ML models concorrentemente, distribuídos por múltiplos nós, e particionados em várias GPUs. Há casos de uso em produção de machine learning apenas com Elixir.
Gancho: IA na BEAM é uma realidade. Mas há outra área onde Elixir está provando seu valor: os seguros.
Capítulo 64 — Helvetia: A Seguradora que Trocou Jenkins por Elixir
A lenda diz que, numa seguradora suíça chamada Helvetia, havia um pipeline Jenkins tão complexo que ninguém conseguia entender. Um dia, um engenheiro chamado André Graf olhou para o pipeline e disse: "Isso precisa de uma linguagem que aguente." Ele escolheu Elixir.
A verdade é que a Helvetia, uma grande seguradora suíça, adotou Elixir para substituir vários pipelines Jenkins complexos que alimentavam um autosserviço GitOps para governança, provisionamento e configuração de sua plataforma de streaming Kafka. A migração envolveu milhares de tópicos e clientes Kafka, de self-hosting para cloud, em escala corporativa.
O fato por trás da lenda: A Helvetia Insurance adotou Elixir para substituir pipelines Jenkins complexos que alimentavam um autosserviço GitOps para sua plataforma de streaming Kafka. A migração moveu milhares de tópicos e clientes Kafka de self-hosting para cloud.
Gancho: Helvetia provou que Elixir funciona em seguros. Mas há uma empresa brasileira que provou que funciona em educação.
Capítulo 65 — Multiverse: A Startup que Ensinou Elixir para Todos
A lenda diz que, em 2016, uma startup britânica chamada Multiverse decidiu usar Elixir para construir uma alternativa à universidade. Eles contrataram engenheiros, ensinaram Elixir, e cresceram. Quando alguém perguntava "Por que Elixir?", eles respondiam: "Porque a gente não quer contratar 500 engenheiros."
A verdade é que a Multiverse, uma empresa de educação que oferece aprendizados profissionais como alternativa à universidade, roda em Elixir desde 2016. A empresa escalou sua organização de engenharia em torno de Elixir, incluindo contratação, treinamento e planejamento.
O fato por trás da lenda: A Multiverse é uma empresa de educação que roda em Elixir desde 2016. A empresa oferece aprendizados profissionais como alternativa à universidade e escalou sua organização de engenharia em torno de Elixir.
Gancho: Multiverse ensina. Remote contrata. Mas há uma empresa que fez as duas coisas — e virou unicórnio.
Capítulo 66 — Remote: O Unicórnio que Nasceu em Elixir
A lenda diz que, em 2019, Marcelo Lebre fundou a Remote com uma missão: permitir que empresas contratem pessoas em qualquer lugar do mundo. Ele escolheu Elixir porque queria focar em construir um ótimo produto rápido, sem se preocupar com escalabilidade desde o início. Em pouco mais de dois anos, a Remote atingiu o status de unicórnio.
A verdade é que a Remote foi fundada em 2019 e atingiu o status de unicórnio em pouco mais de dois anos, usando Elixir como tecnologia principal desde o dia zero. A empresa opera principalmente com um monólito, com Elixir no backend e React no front-end. Hoje, sua organização de engenharia tem quase 300 pessoas.
O fato por trás da lenda: A Remote foi fundada em 2019 e atingiu o status de unicórnio em pouco mais de dois anos, usando Elixir como tecnologia principal. A empresa tem quase 300 engenheiros e opera com um monólito Elixir/React.
Gancho: Remote provou que Elixir escala. Mas há uma empresa que provou que Elixir pode substituir pipelines corporativos inteiros.
Capítulo 67 — LiveView 1.0: A Janela que Levou Seis Anos para Abrir
A lenda diz que, em dezembro de 2024, Chris McCord anunciou o Phoenix LiveView 1.0.0. O milestone veio seis anos após o primeiro commit do LiveView. McCord escreveu no blog: "Seis anos depois, esse modelo de programação ainda parece trapaça. Tudo é super rápido."
A verdade é que o Phoenix LiveView 1.0.0 foi lançado em 3 de dezembro de 2024, seis anos após o primeiro commit. O release incluiu recursos dinâmicos de formulário, novas primitivas de stream, e fechou a lacuna para o 1.0. O LiveView permite criar aplicações interativas renderizadas no servidor sem escrever JavaScript.
O fato por trás da lenda: O Phoenix LiveView 1.0.0 foi lançado em 3 de dezembro de 2024, seis anos após o primeiro commit. O release incluiu recursos dinâmicos de formulário e novas primitivas de stream. O LiveView permite criar aplicações interativas renderizadas no servidor sem JavaScript.
Gancho: LiveView 1.0 é um marco. Mas há outro marco que está mudando a linguagem: a inferência de tipos.
Capítulo 68 — Tipos: A Linguagem que Está Ficando Tipada (Sem Deixar de Ser Dinâmica)
A lenda diz que, em janeiro de 2026, José Valim anunciou que o Elixir v1.20 realizaria inferência de tipos de todos os construtos da linguagem. A comunidade aplaudiu. Os dinâmicos choraram. Os tipados sorriram. E a BEAM continuou rodando.
A verdade é que o Elixir v1.20 introduziu inferência de tipos de todos os construtos da linguagem, com precisão crescente. O plano inclui três release candidates até maio de 2026, com milestones futuros incluindo structs tipados e assinaturas de tipo, com implementação completa esperada ao longo de 15 meses através do v1.22.
O fato por trás da lenda: O Elixir v1.20 introduziu inferência de tipos de todos os construtos da linguagem. O plano inclui três release candidates até maio de 2026, com milestones futuros incluindo structs tipados e assinaturas de tipo, com implementação completa esperada através do v1.22.
Gancho: Tipos estão chegando ao Elixir. Mas há uma linguagem que já nasceu tipada na BEAM.
Capítulo 69 — Gleam: A Linguagem que Nasceu de uma Palestra
A lenda diz que, em 2016, um britânico chamado Louis Pilfold precisava fazer uma palestra sobre compiladores. Ele construiu uma linguagem para a palestra. Chamou de Gleam. A plateia gostou. Pilfold pensou: "Talvez isso deva ser real." E foi.
A verdade é que Gleam é uma linguagem funcional, tipada estaticamente, que roda na BEAM. Ela foi criada por Louis Pilfold em 2016, originalmente para uma palestra sobre compiladores, e posteriormente redesenhada para se tornar uma linguagem real. A versão 1.0 foi anunciada na FOSDEM em Bruxelas em março de 2024.
O fato por trás da lenda: Gleam é uma linguagem funcional, tipada estaticamente, que roda na BEAM. Foi criada por Louis Pilfold em 2016, originalmente para uma palestra, e alcançou 1.0 em março de 2024. Gleam compila para Erlang e JavaScript.
Gancho: Gleam prova que a BEAM não é exclusiva de Erlang e Elixir. A família cresce. E a comunidade brasileira também.
Capítulo 70 — Adolfo Neto: O Professor que Trouxe Elixir para a Sala de Aula
A lenda diz que, numa universidade em Curitiba, um professor chamado Adolfo Neto olhou para seus alunos e disse: "Vocês vão aprender Elixir." Os alunos perguntaram: "Por quê?" Adolfo respondeu: "Porque a BEAM é o futuro." Os alunos aprenderam. Alguns viraram engenheiros. Outros viraram professores. E a floresta cresceu.
A verdade é que Adolfo Neto é Professor Associado na Universidade Tecnológica Federal do Paraná (UTFPR), criador e co-apresentador do podcast Elixir em Foco, e um dos presidentes do Grupo de Trabalho de Educação, Treinamento e Adoção da Erlang Ecosystem Foundation. Ele é um mentor proeminente na crescente comunidade Elixir no Brasil.
O fato por trás da lenda: Adolfo Neto é Professor Associado na UTFPR, criador e co-apresentador do podcast "Elixir em Foco", e um dos chairs do Grupo de Trabalho de Educação, Treinamento e Adoção da Erlang Ecosystem Foundation.
Gancho: Adolfo ensina. Mas há uma fundação que protege todo o ecossistema.
Capítulo 71 — Erlang Ecosystem Foundation: Os Guardiões da BEAM
A lenda diz que, em 2019, um grupo de desenvolvedores se reuniu e disse: "Precisamos proteger a BEAM." Fundaram a Erlang Ecosystem Foundation. A fundação é uma organização sem fins lucrativos 501(c)(3) apoiada por mais de 1.000 membros. Ela promove a comunidade e o desenvolvimento de Erlang e outras linguagens da BEAM, fornece educação e promove conscientização.
Em 2025, a fundação se tornou uma CVE Numbering Authority (CNA) para o ecossistema Hex e BEAM, permitindo que vulnerabilidades em pacotes do Hex.pm sejam rastreadas e numeradas oficialmente.
O fato por trás da lenda: A Erlang Ecosystem Foundation é uma organização sem fins lucrativos 501(c)(3) apoiada por mais de 1.000 membros. Em 2025, tornou-se uma CVE Numbering Authority (CNA) para vulnerabilidades em pacotes do Hex.pm.
Gancho: A fundação protege a BEAM. Mas há uma ferramenta que protege o código: o Dialyzer.
Capítulo 72 — Dialyzer: O Detector de Mentiras que Chora com any()
A lenda diz que o Dialyzer é um detector de mentiras que interroga seu código. Quando encontra um any(), ele chora copiosamente e se recusa a continuar. Se você usar @spec corretamente, ele sorri e te dá um selo de "código honesto".
A verdade é que o Dialyzer é uma ferramenta de análise estática para bytecode da BEAM. Ele fornece avisos sobre tipos incompatíveis, código inalcançável e outros problemas comuns. O Dialyxir é uma biblioteca que fornece conveniências para trabalhar com Dialyzer em projetos Elixir.
O fato por trás da lenda: Dialyzer é uma ferramenta de análise estática para bytecode da BEAM. Ela fornece avisos sobre tipos incompatíveis, código inalcançável e outros problemas. O Dialyxir é uma biblioteca que facilita o uso do Dialyzer em projetos Elixir.
Gancho: Dialyzer analisa. ExDoc documenta. Mas há uma ferramenta que formata.
Capítulo 73 — ExDoc: O Papagaio que Gera Documentação
A lenda diz que ExDoc é um papagaio chamado Doc. Ele lê seus @doc e repete em voz alta. Se você não escrever nada, ele fica quieto e gera uma página em branco. O mix docs é o comando para alimentar o papagaio com sementes.
A verdade é que o ExDoc é a ferramenta oficial de geração de documentação do Elixir. Ele lê os atributos @doc e @moduledoc e gera documentação HTML navegável. ExDoc é usado por praticamente todos os projetos Elixir.
O fato por trás da lenda: ExDoc é a ferramenta oficial de geração de documentação do Elixir. Ela lê @doc e @moduledoc e gera documentação HTML. É usada por praticamente todos os projetos Elixir.
Gancho: ExDoc documenta. Mas há uma ferramenta que gerencia pacotes.
Capítulo 74 — Hex: O Feitiço que Invoca Pacotes
A lenda diz que Hex é um feitiço. Quando você roda mix hex.info, um sapo aparece no terminal e pergunta se você aceita os termos de uso. Se recusar, ele vira uma dependência quebrada. Se aceitar, ele pula para a próxima linha e some.
A verdade é que Hex é o gerenciador de pacotes oficial do ecossistema BEAM. Ele foi lançado em 2014 e serve tanto Elixir (via Mix) quanto Erlang (via Rebar3). Hex hospeda mais de 15.000 pacotes e é um componente central do ecossistema.
O fato por trás da lenda: Hex é o gerenciador de pacotes oficial do ecossistema BEAM, lançado em 2014. Ele serve Elixir (via Mix) e Erlang (via Rebar3) e hospeda mais de 15.000 pacotes.
Gancho: Hex baixa pacotes. Mas há uma ferramenta que constrói projetos.
Capítulo 75 — Mix: O DJ que Compila Projetos
A lenda diz que o mix new não cria um projeto. Ele toca uma faixa de três minutos e, no final, seu projeto aparece na pasta. Se você rodar mix compile sem parar a música, o compilador entra em loop infinito e começa a remixar seu código.
A verdade é que o Mix é a ferramenta de build oficial do Elixir. Ele fornece tarefas para criar projetos (mix new), compilar (mix compile), rodar testes (mix test), gerenciar dependências (mix deps.get) e muito mais. O Mix foi criado em 2012 por Anthony Grimes, inspirado no Leiningen do Clojure.
O fato por trás da lenda: Mix é a ferramenta de build oficial do Elixir. Ele fornece tarefas para criar, compilar, testar e gerenciar projetos. Foi criado em 2012 por Anthony Grimes.
Gancho: Mix constrói. Mas há uma ferramenta que empacota.
Capítulo 76 — Releases: O Bolo que Você Assa e Leva para a Festa
A lenda diz que, antes do Elixir 1.9, fazer deploy de uma aplicação Elixir era como assar um bolo sem receita. Você precisava de ferramentas externas, scripts e fé. Depois do Elixir 1.9, você só precisa rodar mix release.
A verdade é que o Elixir 1.9 introduziu o comando mix release, que empacota sua aplicação junto com a Erlang VM em uma única unidade deployável. Isso simplificou drasticamente o deploy de aplicações Elixir, que antes dependia de ferramentas como Distillery ou Edeliver.
O fato por trás da lenda: O Elixir 1.9 introduziu o comando mix release, que empacota a aplicação com a Erlang VM em uma única unidade deployável. Isso simplificou o deploy de aplicações Elixir.
Gancho: Releases empacotam. Mas há uma ferramenta que observa.
Capítulo 77 — Telemetry: O Olho que Tudo Vê
A lenda diz que, na BEAM, você não precisa de ferramentas externas para observar seu sistema. Você tem o Telemetry. Ele mede tudo: requisições, queries, erros. E o LiveDashboard mostra tudo em tempo real.
A verdade é que o Telemetry é uma biblioteca de instrumentação para Elixir e Erlang. O Phoenix integra a biblioteca Telemetry do Erlang para medir e reportar métricas padrão do Phoenix, Ecto e da VM Elixir. O LiveDashboard fornece visualização em tempo real.
O fato por trás da lenda: Telemetry é uma biblioteca de instrumentação para Elixir e Erlang. O Phoenix integra a Telemetry para medir métricas de Phoenix, Ecto e VM. O LiveDashboard fornece visualização em tempo real.
Gancho: Telemetry observa. Mas há uma biblioteca que conecta nós.
Capítulo 78 — Libcluster: O Feitiço que Junta os Nós
A lenda diz que, para formar um cluster Elixir, você precisa de magia. Você roda libcluster e, de repente, todos os nós se encontram, se cumprimentam e começam a trabalhar juntos. Se um nó morre, os outros sentem falta. Se um nó nasce, os outros dão boas-vindas.
A verdade é que o Libcluster fornece um mecanismo para formar automaticamente clusters de nós Erlang, com adesão estática ou dinâmica. Ele é uma das bibliotecas mais usadas para clustering em Elixir.
O fato por trás da lenda: Libcluster fornece formação automática de clusters de nós Erlang, com adesão estática ou dinâmica. É uma das bibliotecas mais usadas para clustering em Elixir.
Gancho: Libcluster conecta. Mas há um teorema que explica os limites.
Capítulo 79 — CAP: O Teorema que a BEAM Ignora (ou Não)
A lenda diz que, quando os aliens criaram a BEAM, eles leram o Teorema CAP e disseram: "Vamos escolher AP." E assim fizeram. A maioria das bibliotecas distribuídas do Elixir (Phoenix Pub/Sub, Horde, Swarm, Delta CRDTs) fica do lado AP do Teorema CAP: elas preferem manter o sistema disponível mesmo diante de partições de rede, tolerando inconsistências temporárias.
O fato por trás da lenda: A maioria das bibliotecas distribuídas do Elixir (Phoenix Pub/Sub, Horde, Swarm, Delta CRDTs) fica do lado AP do Teorema CAP, preferindo disponibilidade a consistência estrita.
Gancho: CAP explica os limites. Mas há uma coisa que a BEAM faz melhor que qualquer outra: tolerância a falhas.
Capítulo 80 — Tolerância a Falhas: A Filosofia que Virou Benchmark
A lenda diz que, num benchmark acadêmico, o Elixir foi comparado a outras linguagens concorrentes sob condições de falha. O resultado? "Elixir atingiu o maior throughput e a menor variabilidade de throughput sob condições de falha". Os aliens aplaudiram. Os humanos tomaram café.
O fato por trás da lenda: Um benchmark acadêmico comparou a tolerância a falhas em Elixir e outras linguagens distribuídas e concorrentes. O Elixir atingiu o maior throughput e a menor variabilidade sob condições de falha, enquanto Scala/Akka teve as menores latências de reconexão.
Gancho: Tolerância a falhas é o forte. Mas há uma área onde Elixir está crescendo: IoT.
Capítulo 81 — IoT: A BEAM no Mundo dos Sensores
A lenda diz que, quando os aliens criaram a BEAM, eles não pensaram em sensores. Mas os humanos pensaram. E descobriram que Elixir é ideal para IoT: processos leves, tolerância a falhas, concorrência. Um gateway LoRa-MQTT em Elixir? Sim. Detecção de vazamento de gás em Elixir? Sim. A BEAM está em todo lugar.
O fato por trás da lenda: Elixir é usado em IoT para processamento de dados em tempo real e sistemas distribuídos. Há casos de uso em detecção de vazamento de gás, gateways LoRa-MQTT e sistemas de segurança.
Gancho: IoT é uma fronteira. Mas há outra: o mercado de trabalho.
Capítulo 82 — Empregos: O Mercado que Só Quer Seniores (Por Enquanto)
A lenda diz que, no mercado de Elixir, só há vagas para seniores. Os juniores choram. Os seniores sorriem. Os CTOs contratam. A mediana salarial é de $110.700 por ano, com metade entre $90.450 e $160.000. Há cerca de 147 novas vagas remotas por mês em 987 listagens, com 218 empresas com posições abertas.
O fato por trás da lenda: O mercado de trabalho de Elixir tem cerca de 147 novas vagas remotas por mês, com mediana salarial de $110.700. Há uma tendência de contratação de seniores, com desafios para juniores e mid-levels.
Gancho: O mercado está aquecido. Mas o que vem depois?
Capítulo 83 — O Futuro: Tipos, IA e a BEAM do Amanhã
A lenda diz que o futuro do Elixir é tipado, inteligente e distribuído. O v1.20 trouxe inferência de tipos. O Nx trouxe IA. O LiveView trouxe interatividade sem JavaScript. E a BEAM continua rodando, com suas capivaras quânticas girando manivelas.
A verdade é que o Elixir está evoluindo para uma linguagem gradualmente tipada, com inferência de tipos de todos os construtos no v1.20 e milestones futuros incluindo structs tipados e assinaturas de tipo. O Nx está trazendo ML para a BEAM. O LiveView está redefinindo o desenvolvimento web. E a comunidade continua crescendo.
O fato por trás da lenda: O Elixir está evoluindo para uma linguagem gradualmente tipada, com inferência de tipos no v1.20 e structs tipados planejados para o v1.22. O Nx traz ML para a BEAM. O LiveView redefine o desenvolvimento web.
Gancho: O futuro é promissor. Mas antes de terminar este tomo, precisamos falar de uma coisa: o Observer.
Capítulo 84 — Observer: A Janela para a Alma da BEAM
A lenda diz que, se você quer ver a alma da BEAM, abra o Observer. Ele mostra todos os processos, todos os nós, toda a memória. Você vê a máquina respirando. Você vê os processos nascendo e morrendo. Você vê a BEAM viva.
A verdade é que o Observer é uma ferramenta gráfica para inspecionar sistemas Erlang/Elixir em execução. Ele mostra processos, portas, nós, memória e muito mais. É uma das ferramentas mais poderosas para debugging e profiling de sistemas BEAM.
O fato por trás da lenda: Observer é uma ferramenta gráfica para inspecionar sistemas Erlang/Elixir em execução, mostrando processos, portas, nós e memória.
Gancho: Observer mostra a alma. Mas há uma coisa que nem o Observer consegue mostrar: o futuro.
Capítulo 85 — OTP 26 e o JIT: A BEAM Ficou Mais Rápida
A lenda diz que, em 2023, a Ericsson lançou o OTP 26. A grande novidade era o compilador JIT estendido. A BEAM sempre foi interpretada, mas com o JIT, ela passou a compilar código para linguagem de máquina em tempo de execução. O resultado foi um ganho de performance significativo. O JIT do OTP 26 estendeu as otimizações baseadas em tipos, resultando em menos testes de tipo redundantes e código nativo menor.
O fato por trás da lenda: OTP 26 introduziu otimizações estendidas baseadas em tipos no compilador e JIT. O compilador passou a produzir melhores informações de tipo, e o JIT passou a aproveitá-las, resultando em menos testes de tipo redundantes e código nativo menor.
Gancho: O JIT tornou a BEAM mais rápida. Mas há uma coisa que sempre foi rápida: os processos leves.
Capítulo 86 — Processos Leves: 2,7 KB de Pura Magia
A lenda diz que, na BEAM, cada processo é leve. Muito leve. Um milhão de processos BEAM consome cerca de 2,7 GB de memória — aproximadamente 2,7 KB por processo. Isso significa que você pode rodar milhões de processos em uma única máquina. O WhatsApp fez isso. O Discord fez isso. E você também pode.
O fato por trás da lenda: Na BEAM, cada processo tem seu próprio estado e se comunica por mensagens. Um milhão de processos BEAM consome cerca de 2,7 GB de memória, com aproximadamente 2,7 KB por processo.
Gancho: Processos leves são a base. Mas há uma coisa que os mantém vivos: os supervisores.
Capítulo 87 — Supervisores: As Babás que Nunca Dormem
A lenda diz que os supervisores são babás que dão mamadeira para processos órfãos. Se um processo morre, a babá chora, pega um novo processo no berçário e coloca no lugar. A estratégia one_for_one significa que ela só troca uma fralda por vez. A rest_for_one é quando ela troca todas as fraldas da fileira. A one_for_all é quando ela surta e reinicia o berçário inteiro.
A verdade é que supervisores são processos que monitoram outros processos (chamados de processos filhos) e os reiniciam quando falham. Supervisores formam árvores de supervisão que fornecem tolerância a falhas e capacidades de auto-recuperação.
O fato por trás da lenda: Supervisores monitoram processos filhos e os reiniciam quando falham. Supervisores formam árvores de supervisão que fornecem tolerância a falhas e auto-recuperação.
Gancho: Supervisores cuidam. Mas há um processo que serve: o GenServer.
Capítulo 88 — GenServer: O Mordomo que Serve Estado em Bandejas
A lenda diz que um GenServer é um mordomo chamado Alfred que guarda o estado do seu sistema em uma bandeja de prata. Quando você chama GenServer.call, ele responde "Pois não, senhor" e executa a função. Se você usar GenServer.cast, ele anota o recado e vai fazer depois, sem pressa.
A verdade é que GenServer é um comportamento do OTP para construir servidores genéricos. Ele encapsula estado e concorrência, permitindo que você defina callbacks para lidar com chamadas síncronas e assíncronas. GenServer é um dos blocos de construção fundamentais de aplicações Elixir.
O fato por trás da lenda: GenServer é um comportamento do OTP para construir servidores genéricos. Ele encapsula estado e concorrência, com callbacks para chamadas síncronas e assíncronas.
Gancho: GenServer serve. Mas há uma coisa que persiste: o Ecto.
Capítulo 89 — Ecto: O Fantasma que Assombra Bancos de Dados
A lenda diz que Ecto é um fantasma que mora no seu PostgreSQL e escreve queries em latim. Cada Repo.insert é um exorcismo. Se você esquecer de fechar a transação, o fantasma sai do banco e assombra seu servidor.
A verdade é que Ecto é uma biblioteca de persistência para Elixir. Ele fornece uma camada de mapeamento entre o código Elixir e o banco de dados, com suporte a migrações, queries e transações. Ecto é dividido em quatro componentes principais: Ecto.Repo, Ecto.Schema, Ecto.Query e Ecto.Changeset.
O fato por trás da lenda: Ecto é uma biblioteca de persistência para Elixir, com componentes para repositórios, schemas, queries e changesets. Ele fornece mapeamento de dados e queries integradas à linguagem.
Gancho: Ecto persiste. Mas há uma coisa que conecta tudo: o Phoenix.
Capítulo 90 — Phoenix: A Fênix que Nasceu das Cinzas
A lenda diz que Phoenix é um framework web que invoca uma fênix de verdade. Cada vez que você roda mix phx.server, uma fênix renasce das cinzas no Arizona. Isso consome 3% da energia mundial, mas o hot reload é instantâneo.
A verdade é que Phoenix é um framework web para Elixir, criado por Chris McCord. Ele foi lançado em 2015 e se tornou o framework web padrão para Elixir. Phoenix aproveita a BEAM para fornecer alta performance e concorrência, e o LiveView permite criar aplicações interativas sem JavaScript.
O fato por trás da lenda: Phoenix é um framework web para Elixir, criado por Chris McCord e lançado em 2015. Ele se tornou o framework web padrão para Elixir e inclui o LiveView para aplicações interativas sem JavaScript.
Gancho: Phoenix constrói. Mas há uma coisa que conecta usuários: o LiveView.
Capítulo 91 — LiveView: A Janela para o Multiverso
A lenda diz que, na primeira vez que alguém rodou uma LiveView, uma janela para outra dimensão se abriu no navegador. O usuário viu o conteúdo em tempo real porque estava literalmente olhando para o multiverso.
A verdade é que Phoenix LiveView permite construir experiências de usuário ricas e em tempo real com HTML renderizado no servidor, sem escrever JavaScript. O servidor gerencia o estado e envia atualizações de UI pela conexão WebSocket. A versão 1.0 foi lançada em dezembro de 2024.
O fato por trás da lenda: Phoenix LiveView permite construir aplicações interativas renderizadas no servidor sem JavaScript. A versão 1.0 foi lançada em dezembro de 2024.
Gancho: LiveView interage. Mas há uma coisa que distribui: o Libcluster.
Capítulo 92 — Libcluster: O Feitiço que Junta os Nós
A lenda diz que, para formar um cluster Elixir, você precisa de magia. Você roda libcluster e, de repente, todos os nós se encontram, se cumprimentam e começam a trabalhar juntos.
A verdade é que Libcluster fornece um mecanismo para formar automaticamente clusters de nós Erlang, com adesão estática ou dinâmica. Ele é uma das bibliotecas mais usadas para clustering em Elixir.
O fato por trás da lenda: Libcluster fornece formação automática de clusters de nós Erlang, com adesão estática ou dinâmica.
Gancho: Libcluster conecta. Mas há uma coisa que garante consistência: o CAP.
Capítulo 93 — CAP: O Teorema que a BEAM Ignora (ou Não)
A lenda diz que, quando os aliens criaram a BEAM, eles leram o Teorema CAP e disseram: "Vamos escolher AP." E assim fizeram. A maioria das bibliotecas distribuídas do Elixir fica do lado AP do Teorema CAP: elas preferem manter o sistema disponível mesmo diante de partições de rede.
O fato por trás da lenda: A maioria das bibliotecas distribuídas do Elixir fica do lado AP do Teorema CAP, preferindo disponibilidade a consistência estrita.
Gancho: CAP explica os limites. Mas há uma coisa que a BEAM faz melhor: tolerância a falhas.
Capítulo 94 — Tolerância a Falhas: A Filosofia que Virou Benchmark
A lenda diz que, num benchmark acadêmico, o Elixir foi comparado a outras linguagens concorrentes sob condições de falha. O resultado? "Elixir atingiu o maior throughput e a menor variabilidade de throughput sob condições de falha".
O fato por trás da lenda: Um benchmark acadêmico mostrou que Elixir atinge o maior throughput e a menor variabilidade sob condições de falha, comparado a outras linguagens concorrentes.
Gancho: Tolerância a falhas é o forte. Mas há uma área onde Elixir está crescendo: IoT.
Capítulo 95 — IoT: A BEAM no Mundo dos Sensores
A lenda diz que, quando os aliens criaram a BEAM, eles não pensaram em sensores. Mas os humanos pensaram. E descobriram que Elixir é ideal para IoT: processos leves, tolerância a falhas, concorrência.
O fato por trás da lenda: Elixir é usado em IoT para processamento de dados em tempo real e sistemas distribuídos, com casos de uso em detecção de vazamento de gás e gateways LoRa-MQTT.
Gancho: IoT é uma fronteira. Mas há outra: o mercado de trabalho.
Capítulo 96 — Empregos: O Mercado que Só Quer Seniores (Por Enquanto)
A lenda diz que, no mercado de Elixir, só há vagas para seniores. A mediana salarial é de $110.700 por ano, com metade entre $90.450 e $160.000. Há cerca de 147 novas vagas remotas por mês.
O fato por trás da lenda: O mercado de trabalho de Elixir tem cerca de 147 novas vagas remotas por mês, com mediana salarial de $110.700.
Gancho: O mercado está aquecido. Mas o que vem depois?
Capítulo 97 — O Futuro: Tipos, IA e a BEAM do Amanhã
A lenda diz que o futuro do Elixir é tipado, inteligente e distribuído. O v1.20 trouxe inferência de tipos. O Nx trouxe IA. O LiveView trouxe interatividade sem JavaScript. E a BEAM continua rodando.
A verdade é que o Elixir está evoluindo para uma linguagem gradualmente tipada, com inferência de tipos de todos os construtos no v1.20 e milestones futuros incluindo structs tipados e assinaturas de tipo. O Nx está trazendo ML para a BEAM. O LiveView está redefinindo o desenvolvimento web.
O fato por trás da lenda: O Elixir está evoluindo para uma linguagem gradualmente tipada, com structs tipados planejados para o v1.22. O Nx traz ML para a BEAM. O LiveView redefine o desenvolvimento web.
Gancho: O futuro é promissor. Mas antes de terminar este tomo, precisamos falar de uma coisa: a comunidade.
Capítulo 98 — A Comunidade Brasileira: A Floresta que Cresceu
A lenda diz que, quando José Valim criou Elixir, ele plantou uma semente no Brasil que cresceu e se tornou uma floresta. Hoje, há meetups em São Paulo, Rio de Janeiro, Belo Horizonte, Curitiba, Belém e muitas outras cidades. Há o podcast Elixir em Foco, criado por Adolfo Neto e co-apresentado por Cristine Guadelupe, Herminio Torres e Zoey Pessanha. Há o Elixir Brasil Online Meetups, que acontece todo primeiro sábado do mês. E há o Global Elixir Meetup, que em 2025 teve 46 meetups confirmados, 44 realizados, em todos os continentes (menos a Antártida).
O fato por trás da lenda: A comunidade brasileira de Elixir é ativa e crescente, com meetups em várias cidades, o podcast "Elixir em Foco", o "Elixir Brasil Online Meetups" e o "Global Elixir Meetup".
Gancho: A comunidade cresce. Mas há uma fundação que protege.
Capítulo 99 — Erlang Ecosystem Foundation: Os Guardiões da BEAM
A lenda diz que, em 2019, um grupo de desenvolvedores se reuniu e disse: "Precisamos proteger a BEAM." Fundaram a Erlang Ecosystem Foundation. A fundação é uma organização sem fins lucrativos 501(c)(3) apoiada por mais de 1.000 membros. Em 2025, tornou-se uma CVE Numbering Authority (CNA) para o ecossistema Hex e BEAM.
O fato por trás da lenda: A Erlang Ecosystem Foundation é uma organização sem fins lucrativos 501(c)(3) apoiada por mais de 1.000 membros. Em 2025, tornou-se uma CNA para vulnerabilidades em pacotes do Hex.pm.
Gancho: A fundação protege. Mas há uma coisa que conecta tudo: a BEAM.
Capítulo 100 — O Fim do Tomo I: A BEAM Continua Rodando
A lenda diz que, no fim de tudo, quando todos os tomos forem escritos, quando todos os capítulos forem lidos, quando todos os pães de queijo forem comidos, a BEAM continuará rodando. Com suas capivaras quânticas girando manivelas, seus pombos treinados decidindo matches, e seus anões coletando lixo. A BEAM é eterna. A BEAM é infinita. A BEAM é.
A verdade é que a BEAM é uma máquina virtual criada pela Ericsson nos anos 1980 para sistemas de telecomunicações que exigiam alta disponibilidade. Ela roda Erlang, Elixir, Gleam e outras linguagens. Ela é usada por WhatsApp, Discord, Remote, Helvetia, Multiverse e milhares de outras empresas. Ela foi projetada para "rodar para sempre, se auto-curar e escalar". E é exatamente isso que ela faz.
Este foi o Tomo I — A Origem. Cem capítulos. Uma linguagem. Mil processos. E um brasileiro que ouviu um sussurro.
No próximo tomo, A Máquina, vamos abrir a BEAM e ver o que há dentro: processos, schedulers, memória, GC. E, é claro, as capivaras quânticas.
Até lá.
O fato por trás da lenda: A BEAM é a máquina virtual que executa Erlang, Elixir e outras linguagens. Ela foi projetada para sistemas de telecomunicações que exigiam alta disponibilidade, e é usada por empresas como WhatsApp, Discord e Remote.
Epílogo do Tomo I
Cem capítulos. Uma linguagem. Mil processos. E um brasileiro que ouviu um sussurro.
Este foi o Tomo I — A Origem. No próximo tomo, A Máquina, vamos explorar a BEAM em profundidade: como ela funciona, por que ela é tão rápida, e por que ela é a base de tudo o que Elixir faz.
Até lá.
Agora, sério: Elixir foi criada por José Valim, um brasileiro de verdade, em 2012, como um projeto de P&D na Plataformatec. Erlang foi criado por Joe Armstrong e outros engenheiros da Ericsson nos anos 1980. A BEAM foi criada por Bogumil Hausman. Phoenix foi criado por Chris McCord. OTP significa Open Telecom Platform. A Erlang Ecosystem Foundation existe. O WhatsApp, o Discord, a Remote, a Helvetia e a Multiverse usam Elixir/Erlang em produção. A comunidade brasileira de Elixir é real. As capivaras quânticas não são reais — mas deveriam ser. Este artigo é uma fantasia satírica baseada em fatos. Mantenha o aviso para não enganar ninguém.
来源:Google AI:DEV 作者专属(RSS) · dev.to