|All reviews||Code Generation in Action||Latest reviews||Best sellers ranking|
Code Generation in Action
Software development books
July 1, 2003
Week: 255 All time: 125
manuellemos.netCode generation is a software engineering technique that consists of generating parts of a software product using specialized tools. These generator tools are usually compilers or processors that know how to generate code meant to accomplish specific tasks.
Code generation is not a new technique, but with the increase of the number of medium or large size projects, this method of producing code with automatic generation tools, became not only a more frequently used option, but also an absolute need.
Certain projects would be completely inviable without resorting to code generation. Those are usually projects that would require much more time and money to pay to the developers when resorting completely to hand written code.
Code generation in action is a very complete book that addresses all the issues that matter when it comes to subject of developing software using this technique.
The author, Jack Herrington, is a reputed authority in the matter. He is the owner of the CodeGeneration.net Web site. In this site you may find plenty of resources about different methods and tools that are based on code generation.
The book is not merely about making propaganda of code generation solutions. As the author well noted, code generation is not the solution for all problems. You have first to study very well your project before you decide whether it makes sense to resort to code generation to produce any part of the project code.
You need to figure whether it makes sense to buy or build a vehicle machine that can drive you much faster and safely to your destination than if you had to walk all the way on your feet.
Unlike some people fear, code generation is not about replacing the programmer that is in charge of writing code manually. It is about using more efficient tools to make the developers more productive. But first you need to evaluate whether it will be really the case of your project.
This book helps you to understand and apply the criteria that matter so you can make a well based decision. You are warned about circumstances that make code generation an inappropriate solution in some cases. Even if you figure that it is a good solution, you are advised to take a few important steps before you jump on the idea.
Once you make a decision that you will use code generation to produce a part of your project code, there are plenty of well studied methods and tools that can assist you. This books guides you through the most common methods that are used by the code generation adepts.
The book also presents some of the existing tools that you can you use to generate code for you. Some tools are commercial but many others are free. The CodeGeneration.net site, has a more extensive database of generation tools for many purposes.
If you figure that there is no existing tool that addresses the needs of a project where you could use code generation with advantage, you may have to invest on developing your own generation tools. The book also guides you through the steps of building generation tools.
The book is divided in two main parts: one about the basic generation fundamentals and another about code generation solutions. In the first part it talks about the basics, existing tools and building your own generators.
The second part talks about practical solutions to the most common code generation uses. This part has individual chapters that address solutions for generating user interfaces, documentation, unit tests, code with embedded SQL, code for handling in known formats, database access code, Web services layers, business logic code and finally one chapter about more ideas about not so generic code generation solutions.
The book is not biased towards any specific programming language. As a matter of fact, the book even suggests that sometimes it makes sense to use generation tools written in one language, that produce code in other languages. It tries to provide examples in the most popular languages and frameworks of today like PHP, Java, Perl, Python, Ruby, C, C++, .Net, etc..
This book is certainly very valuable whether you already know and understand the potential of code generation solutions, or you are interested to learn about when and how you can use code generation to improve the development of your software projects. Even if you are skeptical about the interest of this technique, you are recommended to become more aware of its potential and existing tools, because as the complexity of the projects grow, code generation will become more and more a solution that will be used in all sorts of software projects.
No comments were submitted yet.