title: Génération de code source
text: # Génération de code source
  
  La génération de code source est une opération permettant de générer automatiquement du code source. Son but est d'automatiser la production de code source répétitif afin de minimiser les risques d'erreurs et de permettre au programmeur de se concentrer sur l'écriture de code à plus grande valeur ajoutée.
  
  Il existe de nombreuses sources à partir desquelles générer le code source :
  
  * génération à partir de programmes informatiques écrits dans un autre langage de programmation, généralement de plus haut niveau. Le logiciel réalisant cette transformation peut être appelé compilateur ou traducteur. Par exemple, on peut générer du code Java ou C# à partir d'un programme décrit en UML. Un autre exemple serait un compilateur pour Eiffel générant du code C qui est ensuite lui-même compilé.
  * génération à partir de métadonnées. Par exemple, on peut générer la couche logicielle d'accès à une base de données relationnelle grâce aux métadonnées des tables.
  
  Le problème de la génération de code source est la maintenance de grandes quantités de code source généré. Lorsque le code généré a une durée de vie courte comme dans le cas du compilateur Eiffel, ce problème n'existe pas. En revanche, dans le cas de génération de code source à partir d'UML ou des tables d'une base données, le code va avoir une longue durée de vie, et le programmeur peut avoir besoin de rajouter du code écrit par ses soins. Dans ce cas, générer à nouveau le code source va écraser le code source rajouté à la main. Ainsi une alternative à la génération de code source est l'abstraction.
  
  