Fiz uma REST API em C só para sofrer (e acabei aprendendo muita coisa)
Há 3 anos fiz uma REST API em C só para me testar. O projeto passou de 100 estrelas, mas o maior resultado foi outro: entender por que voltar às bases pode melhorar nossa forma de pensar
Decidi construir uma REST API utilizando C, sem depender das abstrações que normalmente usamos no desenvolvimento web. No processo, acabei trabalhando com HTTP, gerenciamento de memória, PostgreSQL, Nginx, Docker e outras ferramentas.
Mas, olhando para ele hoje, o que mais me chama atenção não é o número de estrelas.
É o quanto foi importante ter feito algo que me obrigasse a voltar para as bases.
Hoje trabalhamos diariamente com abstrações que tornam nosso desenvolvimento muito mais produtivo e isso é ótimo. Mas, quando entendemos o que existe por baixo delas, nosso treinamento mental muda.
Quando você precisa lidar diretamente com memória, requisições HTTP, conexões e dados, algumas coisas que antes pareciam "mágicas" deixam de ser.
E acho que esse é um exercício que vale a pena repetir de tempos em tempos:
voltar algumas camadas, entender o que estamos abstraindo e depois voltar para as ferramentas que usamos todos os dias.
Não porque precisamos deixar de usar abstrações.
Mas porque acredito que quanto melhor entendemos as bases, melhor conseguimos pensar quando estamos trabalhando em níveis mais altos de abstração.
E talvez seja esse o maior aprendizado que aquele projeto de 3 anos atrás ainda me deixa hoje.
Se quiser conhecer um pouco mais sobre o projeto, deixei o repositório bem documentado, com detalhes sobre a arquitetura, decisões e tecnologias utilizadas.
Vale a pena dar uma olhada no código e, quem sabe, tentar fazer algo parecido para colocar seus próprios conhecimentos à prova: