If I read the plugin section of
it seems to me that it is really important that the main program (ie Joomla!) and the plugin (component) share function calls and data structures.If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins.
But most of the time Joomla! just require_once s the code of the component w/o knowing its structure, so it will surely not call specific functions, neither will it know about the component's data structure.
Isn't that just like in OS (like Linux) where any program can use the api of various functions and not the other way round?
[I admit that with the MVC-redesign the J!-framework actually does call specific functions inside the component a lot - such as display as the default task]