Um dos MVPs da Embarcadero, Ryan Potts, é o criador e mantenedor da trilha Delphi sobre Exercism - um site dedicado a tornar mais fácil para as pessoas aprenderem diferentes linguagens de programação. Ele era entrevistado pela equipe Exercism anteriormente, mas achei que seria interessante entrevistá-lo sobre o que é Exercismo e como todos vocês podem se envolver.

  • O que é exercismo? Há quanto tempo ele existe e quantos alunos o visitam?
    • Uma organização sem fins lucrativos que oferece oportunidades por meio da educação em programação
    • A trilha Delphi teve 3 novas soluções enviadas, 1 para mentoria.
    • Vejo sua página sobre para mais
    • Foi originalmente fundado em 2013 por Katrina Owen.
    • Cada semana eu recebo uma atualização de mentoria. A atualização mais recente indica que, durante a última semana de 2019, 2.152 pessoas enviaram 8.107 soluções em todos os idiomas. Desses 2.339 foram submetidos para orientação. 174 mentores deram feedback sobre 1.963 soluções.
  • Que tipo de linguagens de programação são encontradas no Exercism?
    • São 51, incluindo nosso favorito, Delphi!
  • Que tipo de exercícios alguém pode encontrar no Exercismo?
  • Algum dos exercícios envolve a construção de interfaces gráficas de usuário ou acesso a bancos de dados? Que tal acessar APIs REST? Essas são coisas que o Delphi torna muito mais fácil. Ou são todos aplicativos de console?
    • No momento, todos os exercícios são apenas para console. Pensei em criar alguns exercícios específicos do Delphi para utilizar a capacidade do Delphi de construir interfaces gráficas com bastante facilidade, mas não tive tempo para isso. Esta seria uma ótima maneira de outros desenvolvedores Delphi experientes ajudarem. 
  • O aluno precisa de alguma experiência para começar?
    • Não, mas o conhecimento da linha de comando é essencial.
  • Isso custa alguma coisa?
  • De que tipo de ferramentas um aluno precisa para começar? 
    • Cada faixa de idioma possui instruções de configuração para que você saiba o que você precisa e onde encontrar. Por exemplo, com Delphi você precisa instalar Delphi. Também existe uma ferramenta de linha de comando que todas as faixas usam.
  • Se um aluno é completamente novo no Delphi, o que ele precisa fazer para começar.
    • Uma vez que alguém se inscreveu para a trilha Delphi, eles encontrarão instruções sobre como configurar seu sistema. (Eles estão um pouco desatualizados, algumas versões do Delphi foram lançadas desde que eu os escrevi.)
    • Outros links também estão disponíveis no mesmo local para mais recursos relacionados ao Delphi.
  • É verdade que o instalador CLI do Exercism Windows foi escrito em Delphi?
    • Instalador CLI do Windows do Exercism é open source e escrito inteiramente em Delphi. Ele determina automaticamente a versão correta (32/64 bit) do Exercism CLI de que o aluno precisa, então baixa a CLI, extrai-a e coloca-a no lugar certo. O instalador foi baixado 15.000 vezes, e estou muito orgulhoso! 
  • O Exercism é apenas para novos desenvolvedores ou há coisas que desenvolvedores experientes também possam aprender?
    • Não é apenas para novos desenvolvedores, mas provavelmente é voltado para alguém com apenas um pouco de experiência, conhecimento de como operar uma interface de terminal (prompt de comando) é essencial. 
  • Como o Exercism é semelhante a um kata em código? 
    • É essencialmente um repositório de katas de código; com o benefício adicional de ter alguém com conhecimento no idioma em que você está trabalhando, para revisar e criticar seu trabalho.
    • O termo código kata é um conceito usado pela primeira vez por Dave Thomas, co-autor do livro The Pragmatic Programmer como uma referência ao conceito japonês de kata nas artes marciais. Um código kata é um exercício de programação que ajuda os programadores a aprimorar suas habilidades por meio da prática e da repetição.
  • Além de ser um estudante de Exercismo, de que outra forma as pessoas podem se envolver?
    • Para se ter uma ideia do que deve estar contido no PR, é uma boa ideia visualizar um dos outros exercícios na pasta / exercícios do / exercism / delphi repo. O mantenedor (eu) irá revisá-lo, oferecer sugestões de mudanças e, finalmente, posso fundir o PR.
    • Novas idéias de exercícios ou contribuições são sempre apreciadas.
    • Trabalhar com o (s) mantenedor (es) das trilhas que você frequenta também é apreciado.
    • Veja o guia do contribuidor
    • Basta criar uma solicitação de pull (PR) no Trilha de exercícios Delphi para contribuir com exercícios adicionais. 
    • Para um contribuidor pela primeira vez, pode ser uma boa ideia encontrar um exercício de / exercism / problem-specific que ainda NÃO esteja implementado e escrever um conjunto de testes para ele. Isso pode ser feito às cegas, simplesmente escrevendo o código com base no JSON fornecido ou traduzindo a implementação desse exercício que pode existir em outra faixa.
  • Como alguém se torna um mentor?
    • Não precisa ser um aluno para ser um mentor, mas a menos que você tenha contribuído muito para o projeto, ser um aluno é a melhor maneira de começar a entender como as coisas funcionam.
    • Fiz alguns exercícios de Ruby e decidi que seria muito legal se Delphi fosse oferecido aqui. Fiquei francamente frustrado com a quantidade de sites de codificação online que existem e nenhum que encontrei oferecia Pascal. Pesquisando um pouco mais sobre o Exercism, descobri que eles dão boas-vindas à adição de novas faixas de idioma se você estiver disposto a dedicar tempo para configurá-lo e mantê-lo.
    • Primeiro precisa se inscrever como aluno e deve apresentar pelo menos uma solução.
    • Torne-se um mentor
  • A trilha de exercícios Delphi está procurando mais mantenedores?
    • Certamente. Tenho feito isso sozinho desde 10/2016. Não é difícil, mas há algumas coisas interessantes acontecendo em algumas outras faixas que eu não tive tempo / energia para prosseguir sozinho.
      •  Criando um gerador de teste - Converte as definições do exercício (em JSON) para a linguagem nativa (Delphi, por exemplo). Tenho escrito os executores de teste à mão. Um gerador de teste pode ser escrito em qualquer linguagem, mas tradicionalmente os mantenedores das trilhas escrevem seus geradores em sua linguagem.
      • Algumas faixas começaram a implementar mentoria automática. Alguns exercícios iniciais em uma trilha são muito simples e o número de maneiras de implementar uma solução é limitado e acaba consumindo muito tempo do mentor para revisar esses mesmos exercícios continuamente. O mentor automático é programado para procurar padrões familiares e fazer algumas recomendações prontas. Em última análise, cair para um mentor humano se uma boa resposta esperada não puder ser fornecida.

Eu me inscrevi como mentor e enviei meu primeiro pull request nos exercícios Delphi! Parece muito divertido. Se você conhece alguém que gostaria de aprender a programar, este é um ótimo recurso. Ou talvez você gostaria de se tornar um mentor ou mantenedor também! 

Aliás, Ryan é um dos campeões aqui no LearnDelphi.org!

perto