One way is to use a scripting language that acts as the glue. However these all depend on using components that conform to a defined standard and have been developed using the same programming language. And even then we still have the potential chaos I described in my introduction. Frameworks Frameworks can be used to bring order to the chaos of components by providing a structured environment in which components can be assembled. Indeed frameworks can be considered to be predefined assemblies of components - where the components can either be modified in situ or completely replaced by compatible components in order to build the required application.
Frameworks are a proven model for re-use.
Perhaps the most ambitious framework development to date is IBM's San Francisco project, on which I was for a time a lead architect. The most famous and ubiquitous application development framework is of course Microsoft's Windows - all flavours. Most people will be familiar with the idea of code libraries - the most widely used of those probably being those shipped with most C compilers. Code libraries are used by application code. I write a program and I call functions in the code library to do particular jobs for me.