Next Previous Table of Contents 9. Those always fit together nicely, and from a great number of primitive elements, great buildings could be constructed. From the software developer's point of view, software pieces do not fit at all, and each new building requires a lot of work to make it usable.
Many developers therefore choose to rewrite the sources rather than to re-use code.
Under Unix, the usual method concerning code re-use is putting code into libraries and linking the application against them. However, sometimes it happens that those libraries use different GUI toolkits, or that some support multi-threading and some do not. Additionally, all libraries should have been compiled with the same compiler, otherwise you will be subject to problems at the linking stage. One solution is to split an application into several processes. First of all one can derive only from interfaces, not from implementations.