In the industry, the term “code generator” has different meanings; for example, in a compiler, it’s the part that outputs machine language instructions that can actually be executed. But, for us application programmers, the term code generator usually means a program that writes high level source code — the kind that programmers might otherwise have to write.
Examples include Symantec Visual Cafe, and what was once Texas Instruments IEF and is now CA Gen. In fact, most of the Integrated Development Environments today generate some kind of code, but in terms of being able to generate all of the routine code for a running application, these kinds of tools have fallen out of favor for three reasons:
(1) The code they tend to generate is not flexible and cannot be changed. If you can live with the architecture that the tools adopt, that’s bearable, but what organization is it that never improves their application architecture? and
(2) The code they produce tends to be inefficient for production use (for example, once upon a time, using a code generator compelled the Air Force to buy all new hardware to achieve acceptable performance); and, finally,
(3) Most of the code generators lock you in to a single vendor, which increases your cost (license fees) and can restrict your choices for hardware (mainframe) and support (Telon programmers, anyone?).
Some code generators will generate a CRUD program that can maintain data in a database table. That’s useful, but most applications are significantly more complex than that. And of course, if you modify the code generator’s output, then you can’t use the code generator to maintain your application code freely, because your changes are sure to be overwritten the next time you run the generator.
ResQSoft® Engineer 5.1 can be used as a code generator, and it has NONE of the above limitations.
Engineer is a software engineering tool for reusing software at the functional requirement level. Yes, Engineer 5.1 can in fact generate source code for a complete application, but that is not the basis of its design. Engineer is designed to take user interface, report, menu, navigation, and database definitions, and use that information to automatically tailor reusable software modules from templates, in configurable source code form.
Using your business email, ask for a copy of our White Paper, “Not Your Father’s Code Generator”, and let us show you how to boost productivity of your development staff while implementing industry best practices for automating the routine coding in Angular, Java, Python, Angular, and .NET!