¿Con qué frecuencia utiliza o ha visto metaprogramación en los proyectos? En uni, nunca he visto que esto se aplique, pero lo he visto en mi trabajo anterior (cuando lo vi me quedé impresionado de lo efectivo que era).
¿Pero qué tan común es? ¿Se usa todo el tiempo o solo ocasionalmente?
meta-programming
gablin
fuente
fuente
Respuestas:
Si considera que la reflexión es una especie de metaprogramación, es relativamente común. Para algunas personas, incluso la programación genérica (plantillas y genéricos) es una forma de metaprogramación, por lo que es aún más común.
Sin embargo, en mi opinión, la metaprogramación es algo más complejo, que implica la generación de código real y, por lo tanto, bastante poco común, incluso en lenguajes de script.
fuente
Creo que depende en gran medida del idioma que uses. La gente común de Lisp probablemente lo usa de manera justa: el Protocolo Meta-Objeto permite cosas claras, persistencia transparente / ortogonal, por ejemplo, y Smalltalkers lo usa con frecuencia.
fuente
Tiende a aparecer de manera común y consistente en los proyectos de Common Lisp. Echa un vistazo a OnLisp y Let Over Lambda para obtener alguna explicación / información.
Si solo busca ejemplos (y conoce CL), consulte el repositorio de Antiweb ; Hay una gran cantidad de metaprogramación que se desarrolla bajo las sábanas.
fuente
Durante los últimos dos años, la primera parte de la programación en una nueva tarea casi siempre ha sido escribir código para escribir código. Hay un montón de repeticiones asociadas con las interacciones con una base de datos que pueden simplificarse hasta la generación automática de scripts. Piense en cosas donde necesita consultar 3 tablas para formar un objeto o algo así. ¿Por qué escribirlo usted mismo si hay 10 de estas cosas que podrían cambiar en el futuro?
fuente