A empresa onde trabalho ofereceu a oportunidade de aprender Ruby para que as equipes pudessem também cuidar de um novo sistema. Lá é um ambiente bastante heterogêneo do ponto de vista de tecnologias de desenvolvimento, tem Java, Python, NodeJs, dentre outros, e mais recentemente, Ruby, com Rails.

Minha maior experiência é com a plataforma Java, uns 15 anos, e nos últimos 6, tinha migrado da linguagem Java para a linguagem Kotlin, mas ainda na plataforma Java. Direcionado por uma necessidade de mudança, estou há um ano nessa nova empresa onde, embora tenha bastante Java, minha maior atenção foi para sistemas escritos essencialmente na plataforma NodeJS. Comecei do zero. Os 15 anos de experiência com Java serviram bem para ajudar no trabalho com NodeJS ao entender os frameworks, a forma de trabalhar, as premissas do TypeScript, etc. Não foi a melhor experiência do mundo, mas está bem longe de uma experiência ruim. Acho que qualquer desconforto é natural, dada minha experiência com Java e seus frameworks, e fazer comparações é inevitável. No entanto, para mim, observar isso como uma oportunidade de adquirir experiência profissional validada com uma nova stack de desenvolvimento sobressai sobre qualquer ponto ruim de ter que aprender NodeJS depois de anos trabalhar com Java.

O cenário mudou novamente e vou olhar para o Ruby. Me falaram que a forma de pensar a programação do software muda um pouco em relação ao “jeito Java de fazer sistemas”. De fato, ao migrar do Java para NodeJS com TypeScript no último ano, embora as linguagens sejam bem diferentes em alguns pontos, a forma de pensar e estruturar o sistema não muda tanto. No Ruby, ainda estou em ambiente enevoado. Não lembro de algum momento nos últimos 20 anos (mais ou menos quando entrei na faculdade), ter escrito ou testado algo em Ruby, nem um Hello World que seja. Mais uma vez, observar isso com uma oportunidade de ganhar experiência profissional validada é algo que, no momento, sobressai sobre qualquer dificuldade em assimilar uma nova stack de desenvolvimento.

Nessa série de postagens vou documentar minha experiência. Como programador com alguma experiência em outras stacks, vou fazer comparações e acredito que isso possa me ajudar na tarefa de aprender.

Pesquisa prévia

Ruby é uma linguagem de programação dinâmica, interpretada, orientada a objetos. Foi criada em 1995 por Yukihiro “Matz” Matsumoto sob a filosofia de ser simples e prazerosa para programar. É uma linguagem com tipagem dinâmica e fraca, mas com suporte a tipagem estática com definição dos tipos em outros arquivos. Tem forte comunidade para desenvolvimento web com o framework Ruby on Rails.

Sobre a tipagem, me provoca um pouco de receio. No geral, não gosto de linguagens com tipagem fraca, mas ainda conheço muito pouco dela para ter alguma opinião formada.

Pelo que pude ver, a linguagem é bastante usada para automação de tarefas, criação de scripts para rotinas DevOps, ferramentas de linha de comando e criação de protótipos.

O Rails, principal e muito famoso framework para desenvolvimento web, usa arquitetura MVC, conversão sobre configuração e tem um ORM embutido, o Active Record. Tenho zero conhecimento disso tudo.

Começando com o Try Ruby e Ruby Koans

O Try Ruby é um site para conhecer de maneira introdutória alguns conceitos de Ruby e, principalmente, o básico de sua sintaxe. Está localizado aqui: https://try.ruby-lang.org/. Fiz todos os exemplos e cumprem bem o que se propõem: apresentar a linguagem. É tudo muito básico e requer, claro, estudos muito mais profundos de quem tem algum interesse em extrair o máximo da linguagem.

Quando eu construia sistemas em Java e tive que mudar para o Kotlin, fiz os exercícios de um Kotlin Koans (https://kotlinlang.org/docs/koans.html). São um conjunto de desafios de código para aprender a sintaxe e recursos mais específicos da linguagem. Alguns exercícios com códigos incompletos são apresentados e nossa tarefa é escrever o que está faltando. Gostei muito na época. Serve muito para conhecermos o que a linguagem tem a oferecer. Depois, como qualquer coisa relacionada a inguagens de programação, colocar a mão na massa vai nos treinando para ligar cada um dos recursos em uma solução de software completa.

Para Ruby, quando decidi aprender a linguagem, e o Rails, minha primeira ideia foi procurar algo parecido. Achei o Ruby Koans (https://www.rubykoans.com/). Também é um conjunto desafios para serem feitos. Vou fazer nos próximos dias!


Então, vou documentar essa jornada. Espero que ela seja prazerosa, como propõe a filosofia do Ruby!

Categorized in:

Ruby,

Last Update: 23/04/2025

Tagged in:

,