Los cierres son solo algo para resolver una variedad de problemas de una manera elegante. En realidad, en lenguajes de programación donde no existen cierres, se crean técnicas para implementar funciones similares.
Solo piense en functores en C ++ o Runnables en Java. Son solo técnicas que permiten funcionalidades similares a los cierres. Algún tipo de «cierres manuales».
Los cierres se están volviendo más populares porque están integrados en lenguajes populares: Javascript está creciendo debido a aplicaciones en línea (como google doc, por ejemplo), C # lo implementó, PHP lo implementó desde 5.3, y así sucesivamente.
Ahora que los cierres están disponibles en más y más tecnologías, se vuelve bastante sencillo que cada vez más personas estén interesadas en ellos.
Entonces, ¿qué son los cierres? Esto es bastante simple Un cierre es una función y un contexto para ejecutarlo. Esto se manipula como un objeto. ¿Por qué es útil esto? Esto es útil para conectar su propio código al código existente.
Aquí hay dos situaciones comunes que requieren eso: cuando las acciones son administradas por otro fragmento de código, como en subprocesos múltiples con un grupo de subprocesos, o cuando una acción tiene que ejecutarse en un evento elegido (utilizado a menudo en JavaScript para la interfaz de usuario).