Modular programming is a programming paradigm . The approach is to systematically break down computer programs into logical sub-blocks called modules . Practically all current imperative programming languages allow the implementation of the modular approach.
Modular programming should keep larger software projects controllable and clear. Modules can be planned, programmed and tested individually. Universal modules only need to be programmed once and can be reused . In this respect, there is a similarity to service-oriented architecture (SOA). When all modules have been successfully tested, these individual parts can be logically linked and put together to form a larger application. Only then is the application as a whole ready for use.
In other programming languages, there are libraries that can imitate the modularization of the programming language if this is not supported by the language. This is particularly useful if the language offers the option of adding further classes at runtime. This is done in Java with the OSGi framework . In .NET there are inherently methods for dynamically reloading assemblies .