Generative Programming (GP) is an approach to software development that attempts to solve the types of problems that occur in real-world software projects. The focus of generative programming is to bring assembly line techniques to software development. Instead of directly developing a custom application by hand the system should be manufactured.
The key difference to more traditional approaches is that instead of focusing on building one specific application, we take a step back to think about building a family of systems. This gives us a solid basis for handling the “similar but not exactly the same” problem that we find so often in software development.
Generative programming provides tools and techniques to model system families of software. We can then build software components such that we can generate on demand the specific, highly customized and optimised end products (software systems) that meet our specific business and technical requirements.
Delta has been in the software development business for a long time and so is very familiar with the "similar but not exactly the same" problem. The very first Delta products in the 1970s directly addressed this problem with the Delta/ADS code generator product. Using the powerful generator techniques in Delta/ADS developers could separate application specific coding from the common code. The Delta/ADS macro technology allowed a certain amount of customizing of standard code for specific requirements.
Over the past 40 years Delta has continually refined and improved the core technologies used in the application development tools. The types of problems that are faced by large development teams are well understood – and it is exactly these types of problems that are addressed by generative programming.
Over the past 15 years Delta has carefully followed the research developments in the field of generative programming as these concepts exactly fit into Delta’s view of how software development can, and should, be done.