Currently I am reading a book about Software Development Engineering. In the chapter one of this book it says:
Synthesis is a productivity mechanism for developing software by which the implementation is generated rather than created manually.
It confuses me and I couldn't find any clear explanation about it in the Internet. So can anyone tell me a real world example for it in programming fields? And also if it is something like a code generator (e.g. Ruby on Rails command line for creating project directories and code files automatically); what is its difference with metaprogramming?
Thanks.