leí los siguientes párrafos sobre la arquitectura de Microsoft .Net: Architecting Applications for the Enterprise, por Dino Esposito y Andrea Saltarello:¿Cuál es la diferencia entre la programación declarativa y la imperativa?
Cada vez que usted toma un enfoque declarativo a la codificación en lugar de un enfoque imperativo , va a delegar algunas responsabilidades a algún otro capa de código, una capa que no controlas por completo. Entonces, usted es con la esperanza de que la herramienta intermedia lo entienda correctamente y no encontrará ningún problema en el camino. En el desarrollo de software , delegar a un tercero hace que el desarrollo sea más rápido, pero debe garantizar que los usuarios obtengan exactamente lo que usted desea .
Esto no significa que no deba confiar en Visual Studio 2008 o productos similares basados en asistentes. El punto es algo completamente diferente. En un sistema grande, probablemente desarrollado por varios equipos, la programación declarativa clásica simplemente no funciona. Debe tener en su presentación una capa de código que decida qué mostrar, dónde leer las configuraciones y cómo aplicarlas. La programación declarativa sigue siendo una gran opción, pero solo si se escribe el motor y los asistentes.
¿Puede alguien explicarme en palabras simples qué exactamente son los programas declarativos e imperativos?
ver esta [SO post] [1] para un compaison de f # y C# [1]: http : //stackoverflow.com/questions/952318/what-are-the-benefits-of-using-c-sharp-vs-f-or-f-vs-c –
@AshokPadmanabhan: apenas se aplica, porque es sobre C# frente a F #, y solo parcialmente sobre programación imperativa vs * programación funcional * (que es un subconjunto bastante específico de programación declarativa). – delnan
¿Cómo se relacionan incluso los asistentes y la programación declarativa? – CodesInChaos