Advent of Code – 2017

Em 2015, Eric Wastl criou o Advent of Code. Um trocadilho com o data comemorativa do advento de Jesus Cristo, vulgo Natal. Os calendários do advento são bem tradicionais aqui nos Estados Unidos (pelo menos não lembro disso na minha infância), onde você tem um pequeno presente ou surpresa a cada dia de Dezembro, até o Natal. O Advent of Code (ou AoC) é uma série de desafios de programação diários começando no dia primeiro de Dezembro e terminando no natal, dia 25.

Lego Start Wars Advent Calendar

Não fiz em 2015 e nem tão pouco em 2016. Não conseguia acompanhar dia-a-dia, pois sempre tinha alguma coisa que não permitia fazer os desafios diariamente, aí perdia o entusiasmo ou não queria parecer o atrasado da sala… Claro que deveria ter me planejado para esse ano e tal, mas esqueci e o AoC 2017 não falhou e começou pontualmente em primeiro de Dezembro. No entanto, esse ano eu fiz um processo de libertação e não estou mais preocupado em fazer os desafios de maneira diária. Estou resolvendo os quebra-cabeças conforme a minha disponibilidade. Fazer de maneira diária é legal para competir pela classificação geral do site, mas fazer depois é melhor do que não fazer.

Depois de terminar as duas partes do primeiro desafio, eu decidi colocar a idéia aqui no ABAP101. Acho um excelente exercício para qualquer ABAPer, principalmente iniciantes.

Por que não resolver os desafios do calendário 2017 em ABAP? Com isso você se diverte resolvendo o desafio e ganha experiência em ABAP.

O Que Você Ganha Com Isso?

Um amigo meu dizia, “o que importa é dinheiro no bolso e bola na rede”. É verdade, mas não quer dizer que irei dar um pouco do meu suado dinheiro para quem completar os desafios. O que tenho a oferecer é reconhecimento e pontos em sua reputação, o que irá se traduzir em dinheiro no bolso em algum futuro. Funcionará da seguinte forma:

Se você só mandar um e-mail para mim com a sua solução, você vai ganhar um “parabéns” genérico por e-mail mesmo. Se você mandar a solução com os testes unitário (que são providos a cada desafio), você ganha um “parabéns campeão!”, também por e-mail.

Se você fizer as duas coisas acima, mas mandando o link do seu repositório no Github, aí você ganha uma menção especial aqui no ABAP101. Bônus se você usar o ABAPGit.

Também planejo fazer um post no SCN. Isso será muito legal, inclusive para mostrar o valor da comunidade ABAP brasileira.

Data Limite

Não tem data limite oficial, você pode fazer os desafios quando você quiser. Da minha parte, dependendo da quantidade de retorno, postarei futuros artigos com os nomes de quem resolveu, comentários das soluções etc. Considerarei encerrado o assunto quando eu terminar as minhas soluções dos desafios de 2017. Então creio que você terá bastante tempo. Eu criei um repositório para as minhas soluções da edição 2017 onde você poderá acompanhar meu progresso também.

Pressão dos Pares

Uma das melhores maneiras de cumprir uma meta é torná-la pública. Então, se você quiser ter essa “pressão camarada” para te incentivar a fazer os desafios, você cria o repositório no Github e deixa nos comentários ou e-mail o seu link que eu incluo aqui no post. Assim todos podem ver seu progresso. Lembre-se, colocando o seu nome na lista você estará se expondo para sempre, ou como vencedor por ter completado a lista de desafios, ou por ter desistido.

Lista na ordem recebida.

Data recebida Nome/Link
20171204 Flavio Furlan
20171205 [seu nome aqui]