Un paradigma es una forma de pensar y estructurar el código. La mayoría de los lenguajes modernos soportan múltiples paradigmas.
| Paradigma | Enfoque | Mutabilidad | Mejor para |
|---|---|---|---|
| OOP | Objetos y mensajes | Estado mutable | Apps grandes, modelado del mundo real |
| Funcional | Funciones y transformaciones | Inmutable (preferido) | Data pipelines, concurrencia, finanzas |
| Procedural | Pasos secuenciales | Mutable | Scripts, sistemas embebidos, bajo nivel |
| Declarativo | Descripción del resultado | N/A | Consultas de datos, UI (HTML), configuración |
| Reactivo | Flujos de datos | Inmutable (streams) | UIs en tiempo real, aplicaciones web |
| Basado en eventos | Eventos y handlers | Mixta | Servidores, GUIs, sistemas I/O bound |