This is something that I’ve thought about several times over the years, especially as it relates to the UML. It came up again in a recent discussion (at time:20:38.19 on the linked page).
We have good, solid terminology distinguishing between instances of classes and the classes themselves. When I say “object”, everyone knows that I’m referring to some particular instance that is allocated in memory and is in some state. When I say “class”, everyone knows that I’m talking about some class definition residing in a source file somewhere.
But sometimes it’s useful to discuss a system in terms of instances of components. But there’s not a good, general purpose word for expressing that idea, other than “component instance”.
Is there a good term that I’m unfamiliar with?
The way I understand it is that UML’s “component instance” in normal sense is usually just called “component” or “subcomponent” or “part”. And UML’s “component” is basically a “component class” or more often “subsystem” i.e. bigger component.