Conectando os pontos

Estou nessa de desenvolvimento de software a um tempo, nem sempre atuando como desenvolvedor, mas sempre aprendendo e evoluindo.

Uma das apresentações que me marcou muito foi a apresentação do Steve Jobs sobre conectar os pontos1. Nela eu entendi que tudo que aprendemos ao longo da vida, pode ser útil das mais inesperadas maneiras.

Como isso voltou a minha cabeça agora em 2025?

Já programei em C, em C++, em Lua, em Python. Conheci diferentes bibliotecas e frameworks, chegou a vez de aprender e me desenvolver em Ruby e Ruby on Rails.

No meu atual trabalho, temos um sistema central que foi desenvolvido em RoR(o jeito que os íntimos chamam o Ruby on Rails). Esse sistema central se comunica com mensagerias e outras APIs(em Python) - logo de cara pensei: "Barbada, sei programar, logo não vai ser dificil! Mas não é tão simples assim."

Para fazer as coisas do jeito certo, preciso entender de sintaxe, estruturação de projeto e como o framework funciona. Resolvi montar um plano de estudos para aprender Ruby on Rails de forma mais eficiente.

Somos macacos do CRUD e vítimas dos Mercadores da Complexidade

Assisti o vídeo do DHH 2 e concordei demais com o que ele fala, over engineering junto com a otimização precoce é o mal do mundo(do desenvolvimento). Aqui a surpresa ficou por conta de quando esse conteúdo foi produzido, sim 2025!

Estou naquela turma que estava a muito tempo sem ouvir falar de Ruby on Rails. Estou surpreso com os movimentos que a comunidade tem feito recentemente.

Qual é o problema que precisamos resolver?

Essa pergunta simples, muitas vezes é ignorada - gostei demais deste episódio do FreecodeCamp com Rodrigo Serradura 3. Neste episódio, o Rodrigo fala sobre a linguagem Ruby e principalmente sobre o ecossistema Rails, num tom quase filosófico ele brilha em apresentar os porquês e os comos do universo Rails, recomendo demais.

Começando do Começo

No site da linguagem Ruby, eu gostei de duas seções:

  • Um de/para do python para Ruby 4
  • Uma mais interativa, onde temos algumas tarefas prontas para serem executadas 5

Sobre Rails

Rails é um framework web Ruby que facilita a criação de aplicativos web. Ele segue o princípio de "convenção sobre configuração", o que significa que você não precisa escrever muito código para criar um aplicativo web. Ele também é conhecido por sua simplicidade e sua facilidade de uso.

A versão do Rails que usamos não é a mais atual, usamos a 5.2.3 - Logo, tutoriais mais atuais podem não ser muito úteis.

Usamos um sistema de templates chamado slim 6 - achei muito legível e fácil de usar.

Rails usa por padrão Sass 7:

Sass is the most mature, stable, and powerful professional grade CSS extension language in the world.

Bora lá, aprender um pouco de Rails.

  1. https://youtu.be/5BSbOc5VYY8?si=vYSJGKcboK57K79n

  2. https://youtu.be/gcwzWzC7gUA?si=YDLkPPcos2cBnCGM

  3. https://youtu.be/XFOkJ7NiSCk

  4. https://www.ruby-lang.org/pt/documentation/ruby-from-other-languages/to-ruby-from-python/

  5. https://try.ruby-lang.org/

  6. https://slim-lang.com/

  7. https://sass-lang.com/