DEV Community

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

Posted on

5 1

[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.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (2)

Collapse
 
nicolasvicko profile image
Nicolas Vicko

Excelente ilustração... Obrigado!

Collapse
 
hsmiranda profile image
Herberson S.M.

Boa analogia.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more