I specialize in the C++ language but know only a handful of technologies, I understand the importance of program modules, where they can be changed, removed, and added without affecting the program's ability to load but adding new features and content. Mozilla Firefox is an excellent example with it's "extensions" and "plugins" which are in the end modules themselves. I have never developed a module based program before but looking to develop one, the part I'm getting stuck at is I want mine to be slightly more advanced, I'm not sure if it's even possible. I want the modules to be compiled to binary from any programming language the user desires and then snap into my module based program. The modules can be anything from a set of functions for other modules to entire Windows and Controls, or even menu items much like Firefox only more advanced and consists of anything that can be compiled to binary even as useless a a simple function. I figure the only way to do this is through Component Object Model (COM) but I know nothing about COM or if that's even the right solution, if there is a solution. Can someone help me out and maybe point me in the right direction or a possible solution to this? In the end I would like my entire program to be modularized right down to the very core.