Escudos

Escudos

PARTICIPACIÓN : PROGRAMACIÓN GENERATIVA

Programación generativa
Montero Posadas Giovanny David
http://msdn.microsoft.com

Partiremos de la definición de la programación generativa.
Definición: Transforma representaciones de alto nivel de un programa a
Código de “bajo” nivel.
 (www.acis.org.co, 2013)

El objetivo de la programación generativa es sustituir búsqueda manual, la adaptación y montaje de componentes con la generación automática de los componentes necesarios que se demanda. Además de aumentar la productividad, la calidad y el tiempo de salida al mercado de un software gracias a la implementación de ambos componentes estándar y automatización de la producción. Un cambio de paradigma importante implicado aquí es construir sistemas de software de componentes estándar en lugar de "reinventar la rueda" cada vez.  Es necesario pensar en términos de familias de sistemas en lugar de los sistemas individuales.  Ingeniería de software generativo y basado en componentes trata de integrar los enfoques de ingeniería de dominio, los enfoques basados ​​en componentes y enfoques generativos.





La necesidad de una técnica para generar automáticamente el código para evitar el trabajo esclavo de escribir y ajustar repetidamente de los programador ha sido una tarea que siempre ha causado gran conflicto. 
La programación generativa es una técnica que se ocupa de este problema. Utilizando técnicas de programación generativa, puede resolver problemas de ingeniería de software en las familias, en lugar de individualmente, ahorrando tiempo y esfuerzo de codificación. 
    El término fue acuñado en el libro de programación generativa por Krzysztof Czarnecki y Ulrich Eisenecker (Addison-Wesley, 2000). Se refiere a un sistema de programación que se centra en la resolución de problemas de ingeniería de software en familias en lugar de uno a la vez. Como un simple ejemplo, una matriz de enteros es una solución específica a un problema específico, pero la biblioteca (STL) plantilla vector plantilla estándar está pensado para hacer frente a toda la familia de los problemas resueltos por las matrices. En concreto, la plantilla de vector es un generador, ya que describe el modelo de código del compilador de generar. De hecho, la programación genérica, según lo dispuesto en C + + a través de plantillas, es una forma primitiva de programación generativa. Te encontrarás con otras formas más adelante en este artículo. (microsoft, 2013)


Conclusión:
Muy pocas veces escuchamos hablar de este término,”programación generativa” pero es algo común en la programación ya que se utiliza

todo el día, todos los días. Usted la está utilizando cuando se emplean macros de lenguaje C para producir C código, cuando usted alimenta IDL para el compilador MIDL para generar código proxy-stub, cuando se ejecuta un asistente o una instancia de una plantilla, y cuando se utiliza # import para generar esos chiflados + envoltorios C + alrededor de los interfaces COM. Es decir en todo momento la programación generativa nos ha venido a ahorrar tiempo y esfuerzos.