Tiago Aguiar e Rafael Peixoto recebem Rodrigo Serradura, fundador da comunidade ADRB, para apresentar o Ruby a quem nunca teve contato com a linguagem. A conversa passa pelas características que tornaram o Ruby conhecido pela produtividade, pelo peso do framework Rails na história da linguagem e pelo estado atual da comunidade brasileira e internacional.
apt install ruby a gerenciadores de versão como RBenv e ASDFRodrigo começou sua trajetória em programação vindo da área de negócios, passando por VBA e PL/SQL antes de um contato inicial com Java. Ao conhecer o Ruby, decidiu migrar de vez para o ecossistema Rails e hoje se considera fluente tanto em Ruby quanto em JavaScript. Depois de anos ativo na comunidade Ruby Brasil, criou em 2018 um espaço para discutir boas práticas, arquitetura e programação funcional aplicada à linguagem — o que deu origem à comunidade ADRB (Arquitetura e Design de Aplicações Ruby), hoje com mais de 800 membros. É autor de bibliotecas como a MicroCase e do método de desenvolvimento BCDD, além de professor de um curso próprio de orientação a objetos e SOLID com Ruby.
Ruby nasceu com o compromisso explícito de ser simples e produtiva — uma premissa do próprio criador, Yukihiro Matsumoto (Matz), que priorizou a experiência de quem programa. Isso se reflete em decisões concretas: a linguagem é dinamicamente tipada, dispensa declarações de assinatura em métodos e permite operações simples, como imprimir um valor na tela, com uma única palavra. Ruby também é multiparadigma, suportando os estilos procedural, orientado a objetos e funcional dentro do mesmo projeto.
"Uma das coisas da qual o criador da linguagem, um dos objetivos que o Matt teve, é que a linguagem fosse simples e voltada pra produtividade... o Matt teve como premissa a felicidade do programador" por Rodrigo Serradura
Como o Ruby permite múltiplas formas de resolver o mesmo problema, equipes precisam alinhar convenções para que o código continue legível em escala. É nesse contexto que ferramentas como o RuboCop — um linter que analisa estilo, performance e vulnerabilidades — se tornaram quase onipresentes no desenvolvimento Ruby, junto com presets como o Standard RB, que centralizam esse debate na própria comunidade.
"Você precisa combinar o jogo para poder jogar o jogo" por Rodrigo Serradura
O Ruby tem suporte nativo a threads, mas cada uma delas compartilha um lock global (o GVL, Global VM Lock), o que significa que um único processo Ruby usa apenas um núcleo da máquina por vez. Para paralelismo real, é preciso trabalhar com múltiplos processos — ou explorar o Ractor, um modelo mais recente inspirado no modelo de atores do Erlang, ainda em evolução. Na prática, servidores de aplicação Rails contornam essa limitação rodando múltiplos processos, cada um com suas próprias threads.
"Se eu tenho mais de um core, se eu tenho um processo Ruby, eu só vou utilizar um core da minha máquina... para trabalhar com múltiplas threads em paralelo, e não de maneira concorrente, o Ruby tem maneiras de fazer isso" por Rodrigo Serradura
Para aplicações que dependem intensamente de processamento (CPU bound), Ruby não é a escolha mais indicada — linguagens como Go, Rust ou C tendem a ser mais adequadas. Mas para aplicações web tipicamente dominadas por operações de I/O, como chamadas HTTP e consultas a banco de dados, a diferença de performance entre Ruby e linguagens compiladas se torna irrelevante diante da latência dessas operações externas. Casos como GitHub, Shopify e Basecamp — todos rodando em Ruby e Rails em larga escala — sustentam esse argumento na prática.
"Se você precisa fazer algo que é baseado em CPU, onde você precisa utilizar todos os cores da sua máquina, eu diria que Ruby não é a resposta... agora, se você precisa desenvolver uma aplicação web, que é baseada em muito I/O, Ruby vai te atender muito bem" por Rodrigo Serradura
O framework surgiu quando David Heinemeier Hansson (DHH) construía o Basecamp, um sistema de gestão de projetos, e passou a automatizar tarefas repetitivas do próprio desenvolvimento — geradores de model, view e controller seguindo a arquitetura MVC. Essa origem prática, alinhada ao momento em que o mercado buscava um meio-termo entre a burocracia do mundo enterprise em Java e a informalidade excessiva do PHP, ajudou o Rails a se consolidar como ferramenta de escolha para startups que precisavam validar produtos rapidamente.
"O Rails ele nasce para construir um produto, basicamente gestão de projetos, chamado Basecamp" por Rodrigo Serradura
"O Ruby, na sua essência, na sua origem, ele nasce muito voltado a essa ideia das boas práticas e tudo mais... só que tem tanta coisa de boa prática que eu comecei esse movimento pra gente consumir e se beneficiar disso, e daí o ADA nasce por conta disso" por Rodrigo Serradura