Advent of Code

A ascii art tree with a the 'C' as its star
  • Dev
  • Problem solving
  • Algorithms

Uma alternativa bem mais natalina ao leetcode e codewars

O que é Advent of Code?

A comunidade de programadores é única, mas às vezes ela me surpreende

Há algum tempo, logo após começar a trabalhar com desenvolvimento web, comecei a sentir falta de um certo grau de desafio (provavelmente isso é masoquismo). Não me leve a mal, eu gosto muito de desenvolver sistemas web, tanto que trabalho e estou graduando no curso de Sistemas de Informação. Porém, muitos dos problemas com esse tipo de arquitetura de software podem ser resolvidos com pesquisa e dedicação.

Sempre vai existir uma biblioteca, um código no Stack Overflow ou uma pequena gambiarra usando JavaScript que será capaz de resolver seus problemas

Para não perder meu interesse pela programação, comecei a explorar o “generative art”. Se você chegou até aqui, provavelmente viu alguns dos meus projetos (se não, é só acessar esse link). Eu amo esse tipo de projeto: é criativo, desafiador e super recompensador de ver funcionando, mas às vezes não estou muito no clima de usar JavaScript. Depois de certo convívio com essa… coisa, você cria uma relação de amor e ódio.

Bem, em uma das minhas pesquisas, me deparei com o Advent of Code, uma série de desafios de programação com tema de… Natal! Fiquei sem palavras, é uma ideia muito louca, mas o “aesthetic” do site e dos desafios são maravilhosos.

Leetcode e Codewars

De início, usei o Leetcode para reaprender a sintaxe do C. Não tenho muito o que falar sobre, é uma plataforma muito boa; um grande número de desafios são somente para assinantes, mas é bem interessante para praticar algoritmos. O mesmo vale para o Codewars, mas essa é uma plataforma que usei por pouco tempo.

Então, qual é o diferencial do Advent of Code? Além do tema natalino, você pode realizar os desafios em qualquer linguagem de programação, ou nem mesmo usando uma linguagem de programação. Como o desafio é obter o resultado correto, não importa como você obteve ele, o importante é chegar na resposta correta!

Como eu uso

Admito que não progredi muito ainda…

Comecei pelos desafios de 2015, com o objetivo de completar todos os anos. Porém, comecei a faculdade e a trabalhar e não estou tendo muito tempo para continuar, mas eventualmente vou pegar o ritmo novamente.

Todas as minhas soluções até o momento foram feitas usando Python e JavaScript, mas pretendo usar algumas linguagens de baixo nível para praticar, como Rust e C++.

Contact

Open to generative-art projects, web systems, and teaching/talks. Write with a bit of context.

Generative art, web work, and talks

Send a message