/* Page prose (es) */
"Overview" = "# Por qué la concurrencia moderna\n\n![Modern Concurrency in Swift](Swift.png)\n\nHas pasado todos los capítulos clásicos sacando trabajo del hilo principal a mano: despachando a colas, esperando en grupos, protegiendo estado compartido, envolviendo trabajos como operaciones y conectando sus dependencias. Funciona, pero cada una de esas herramientas te devolvió la *contabilidad* a ti. En este capítulo sentirás exactamente dónde el modelo clásico se pone pesado, y luego tendrás tu primer vistazo al modelo diseñado para arreglarlo. Todavía no hay sintaxis nueva que memorizar; solo el *porqué* detrás de todo lo que hay en el modelo moderno.\n\n---\n\n## Qué aprenderás\n\n* Los \"impuestos\" recurrentes que te cobra el modelo clásico, basado en clausuras.\n* Por qué las llamadas asíncronas encadenadas colapsan en la **pirámide de la perdición**.\n* Cómo las clausuras te impiden usar `throws` / `do-try-catch` para los errores.\n* Un antes/después visceral: el mismo trabajo como callbacks, y luego como `async`/`await`.\n* Los tres pilares de la concurrencia moderna que aprenderás con las manos en la masa a continuación.\n\nCuando quieras, pasa a la página siguiente y empezaremos a contar los impuestos.\n\npágina 1 de 6  |  [Siguiente](@next)";
