3 ms·
I think this idea has some merit to it, but I don't have any experience in building that kind of software. This is essentially how teams that build huge softwa
by rjbwork 9y ago
I think this idea has some merit to it, but I don't have any experience in building that kind of software.
This is essentially how teams that build huge software systems work. Like for instance, operating systems like windows/linux. The various teams at Microsoft, or trusted comitters for Linux, organize their various modules, components, subsystems, etc. independently, and eventually compose them into a coherent functioning whole to ship the whole system.
- thomastjeffery 9y agoThe biggest difficulty is tying components together. There are a few methods: 1. Libraries linked by binaries. This is the usual method, but it generally demands modules share some things, which usually couples them too tightly to their implementation. 2. IPC (Inter-Process Communication) There are a few ways to accomplish this. Some are OS specific (named pipes), others are fairly generic (sockets). This requires modules to share a language, and has some overhead, but at least they aren't coupled. 3. Microkernel Essentially the best points of 1 and 2, but generally a design challenge itself. The biggest advantage to modular design is that you don't need to create all the modules before you get something useful.