Ruby Koans – uma ferramenta para aprender Ruby

No início de 2010, tive uma oportunidade de trabalhar com Ruby. Meu background era de ter trabalhado com linguagens orientadas a objetos (Java e C#), mas existiam tantas diferenças que eu não sabia por onde começar. Um exemplo marcante foi a descoberta de que um Array não retornava uma exceção quando eu tentasse recuperar um objeto no índice -1.

Um colega me mostrou o Ruby Koans e foi assim que eu descobri uma ótima ferramenta para aprendizado.

Screen Shot 2017-05-18 at 17.49.01

http://rubykoans.com/

Um Koan, serve como metáfora para representar algum princípio. Representar alguma questão que gera um aprendizado que vai além da razão ou lógica simples. Um Koan gera dúvidas e também pode ser utilizado como uma maneira de acompanhar ou medir o progresso da aprendizagem/conhecimento. Alguns Koans são bem conhecidos, como por exemplo: “O copo cheio até a metade com água, está meio cheio ou meio vazio?”. Embora não exista uma resposta correta, as respostas podem gerar insights para quem pergunta e para quem responde.

Outros Koans NÃO relacionados a programação:

http://www.ashidakim.com/zenkoans/zenindex.html

O conceito de Koan tem muita relação com programação. É bem comum nós encontrarmos programadores trabalhando por anos com uma tecnologia mas sem ter uma base de conhecimentos sobre a linguagem, framework ou stack (assim como foi o meu caso lá em 2010).

Ruby Koans (e existem Koans para diversas linguagens de programação) é um bom exemplo de baby step para aprender sobre a linguagem. Consiste de uma série de classes com diversos testes unitários quebrados que ao corrigir, geram aprendizado e passam para o próximo desafio. É importante entender que o objetivo não se trata de corrigir os exemplos e sim de aprender com cada um dos testes.

Em TDD (Test Driven Development), passamos pelo ciclo Red -> Green -> Refactor, em um Koan de programação este ciclo é ainda mais curto. Para tentar simplificar, a minha leitura do ciclo é de que temos: Red -> Learn -> Rake, ou seja, o feedback é ainda mais rápido e o foco é no aprendizado.

Screen Shot 2017-05-18 at 18.07.33

Para você iniciar o seu aprendizado com o Ruby Koans, basta você ter alguma versão de Ruby instalado na sua máquina, baixar o código e no path chamar o rake (que irá chamar o target default para executar os testes). No próprio site, tem informações mais detalhadas para instalação e configuração.

A ferramenta também é bastante útil para quem já possui experiência com a linguagem. Você reforça o que já sabe, desapega de alguns vícios (especialmente para quem já trabalhou com outros paradigmas e linguagens) e também é ótimo para utilizar como ferramenta de apoio para mentorar outros desenvolvedores.

Alguns exemplos de Koans para outras linguagens/frameworks:

AngularJS
Bash
Clojure
Clojure
Cpp
ColdFusion
CoffeeScript
CSharp
Dart
DotNet 
Elixir
Erlang
FSharp
Go
Groovy
Haskell
Idris
Java
Javascript
Kotlin
Lisp
Lua
MongoDB Driver
Objective-C
Perl
Prolog
Python
R
ReactJS
RxJS
Scala
Smalltalk
Swift

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s