From a strict programming point of view there are good reasons for consistent naming. But the problem is related to generalization and specialization, which is very obvious especially in an environment like GrassHopper, where standard components are very “generic”.
But in a specific context (in a network) a generic name may not even hint about what functionality a component contributes to the context. I see that all the time. (Superclass “Translate”. But a dog is Running, and a Kangaroo is Jumping, and a … fill in). Subclasses of a generic concept. Words chnage depending on context. See more on DSL below.
And, when multiplying things, are you the “increasing” something? Or “strengthening” something? Aso.
Naming things according to context is also related to a recent buzz word DDD (“Domain Driven Design”) and DLS (Domain Specific Language).
Quoting from the DDD article:
Concepts of the model include:
The setting in which a word or statement appears that determines its meaning;
A sphere of knowledge (ontology),
influence, or activity. The subject area to which the user applies a program is the domain of the software.
This is one of the most important, while overlooked, aspects of design processes involving IT-experts (which are using one language or “lingo”) while people with the actual domain knowledge speaks a completely different language. Hence the need for DSL.
It is not the domain experts that should adapt their language (their skills and expertice is actually defined in their language, and not in very artificial “IT-terms” that has more with computer technology or math to do than the problem domain itself.
To sum up:
The ability to rename a Multiplication component to “Strengthen” (a muscle contraction or whatever) is crucial. It’s essential in modern IT development. It even has a name - DDD or DSL.
GH is better than many people understand.