DEV Community

Luis Fabrício De Llamas
Luis Fabrício De Llamas

Posted on

[ptbr] Entendendo programação reativa e imperativa com Naruto.

Image description

Imagine o seguinte cenário:

Imagine que estamos organizando uma competição ninja épica com dois times: Time Imperativo e Time Reativo, cada um com habilidades de combate únicas.

Time Imperativo

No Time Imperativo, cada ninja recebe um conjunto específico de instruções detalhadas sobre o que fazer em cada etapa da batalha. Eles seguem essas instruções passo a passo, como se estivessem seguindo um guia estrito. Por exemplo, quando o líder do Time Imperativo diz:

"Naruto, corra em direção ao inimigo, pule e use o Rasengan".

Naruto seguirá essas instruções precisas, independentemente do que estiver acontecendo ao seu redor. Ele se concentra no cumprimento exato das ordens dadas, como um programa imperativo que segue um conjunto rígido de comandos.

Time Reativo

Por outro lado, temos o Time Reativo, que age mais como um grupo coordenado e flexível. Cada ninja no Time Reativo está atento ao ambiente ao seu redor e responde dinamicamente às mudanças na situação. Se o inimigo se mover inesperadamente, o ninja do Time Reativo se ajustará instantaneamente e escolherá a melhor ação com base na situação atual. Eles não seguem um roteiro rígido, mas sim tomam decisões com base nas circunstâncias em constante mudança. Por exemplo, se o líder do Time Reativo diz:

"Sasuke, fique de olho no inimigo, atacando se eles se aproximarem".

Sasuke avaliará a situação em tempo real e agirá de acordo, adaptando-se às mudanças, assim como a programação reativa se ajusta às entradas em tempo real.

Conclusão

O Time Imperativo segue um conjunto fixo de instruções pré-definidas, enquanto o Time Reativo se adapta e responde às mudanças do ambiente. Da mesma forma, a programação imperativa segue um fluxo controlado de instruções, enquanto a programação reativa reage dinamicamente às entradas e eventos em tempo real.

Top comments (2)

Collapse
 
nicolasvicko profile image
Nicolas Vicko

Excelente ilustração... Obrigado!

Collapse
 
hsmiranda profile image
Herberson S.M.

Boa analogia.