Writing and maintaining applications takes time. Leverage your programming talent with template technology. Your productivity gain will outweigh the learning curve.
Many programmers tire of rewriting the same modules after developing one or two applications. They learn to reuse parts of their code and to write smarter, generalized functions. For example, when creating a data entry module, you probably grab an old one and modify it. Since the overall structure of the module is already there, you just replace the data files and fields, set up the right indexes and relations, and change the screens.
This approach is a lot easier than writing it all from scratch. Still, it would be much more efficient if coding was even less tedious-- if you didn't need to fill in all the fields, indexes, parameters, relations, memory variables, and screen coordinates...if your computer could just "know" what you want and write it for you.
SET BUGS OFF
Several years ago, while completing a development contract, WallSoft Systems, Inc. needed to produce a general-purpose report writer that could be used by people with no programming background. They implemented a language that controls code generation by referring to objects drawn on the screen. Thus template programming was born.
While template-driven code generators can't read minds, they can write code with very little guidance--and do it quickly, completely, and without typos. They can even produce entire applications in a flash.
Skeptical? Template programming is a controversial topic. And there are drawbacks. But the loudest, most repeated arguments against template programming are based on misunderstandings and an incomplete knowledge of current template technology. The purpose of this article is to clear up these misunderstandings and review template programming--what it is, how it works, and what its real advantages and drawbacks are.
Let me start by addressing several of the predominant myths about template programming:
Myth No. 1: Template-driven code generators write atrocious code.
The Reality: The code is as good or bad as your template. Make no mistake. These aren't the "black box" code generators of the past that produced source code few mortals could read. Today's template-driven code generators are entirely open systems. You have control and are responsible for the quality of the code produced.
Myth No. 2: You can't customize the source code your template produces, because the next time you change the original objects and …