Imperative vs. declarative Code

Imperative code describes how things should be done. In many cases code generation creates imperative code artifacts. Those artifacts are by neccessity bound to certain runtime platforms or languages and are usually not highly portable.

Declarative Code - in our days mostly represented through XML sytax - does only express WHAT should happen and not HOW. The level of abstraction is certainly higher here. The downside is that while the WHAT is portable it usually needs some additional "HOW" pieces added during the transformation into imperative code or even executable code.